天天看点

推荐系统学习笔记(一)介绍推荐系统概念推荐算法

推荐系统概念

信息过载问题

信息过载,即Information Overload,是一种信息过于丰富的负面表现。在电子商务领域,信息过载主要表现为商品的种类和数量过多,导致两个问题:信息消费者如何从大量信息中找到自己感兴趣的信息;信息生产者如何让自己生产的信息脱颖而出,受到广大用户的关注。

推荐系统的任务

推荐系统的主要任务,就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。也就是解决信息过载的问题。

什么是推荐系统

推荐系统就是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能将信息推送给它们感兴趣的用户。

推荐系统的应用

应用领域:电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等。

推荐算法

基于内容推荐

基于内容的推荐,即Content Based Recommendation,是一种古老的推荐算法。基于内容的推荐的理论依据是信息检索和信息过滤。所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。主要是从两个方法来描述基于内容的推荐方法:启发式的方法和基于模型的方法。启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断修改公式以达到最终目的。而对于模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。一般的推荐系统中运用到的启发式的方法就是使用tf-idf的方法来计算,跟还有tf-idf的方法计算出这个文档中出现权重比较高的关键字作为描述用户特征,并使用这些关键字作为描述用户特征的向量;然后再根据被推荐项中的权重高的关键字来作为推荐项的属性特征,然后再将这个两个向量最相近的(与用户特征的向量计算得分最高)的项推荐给用户。在计算用户特征向量和被推荐项的特征向量的相似性时,一般使用的是cosine方法,计算两个向量之间夹角的cosine值。

协同过滤推荐

所谓协同过滤推荐算法,就是仅仅基于用户行为数据设计的推荐算法。和基于内容的推荐算法不同,协同过滤推荐算法不关心物品内容本身,也就是不需要知道物品有什么特性,更不需要知道用户喜欢物品的什么特性。也就是说,该算法不需要通过物品的特性来获取用户的喜好。

那如何获取用户的喜好呢?或者说,如何向用户推荐他可能喜欢的物品呢?协同过滤算法给出的答案是根据用户的行为。用户的行为有很多,以电子商务网站为例,用户的行为可能包括:浏览网页、点击、够没、评分、评论等等。根据用户反馈形式不同,用户行为可以分为两类:一类是显示反馈行为,另一类则是隐性反馈行为。显性反馈行为是指那些用户明确表示对物品喜好的行为,像购买、评分等;隐性反馈行为是指那些不能明确表示用户对物品喜好的行为,例如浏览、点击等。

协同过滤出算法可以分为多种,例如基于邻域的方法、隐语义模型和基于图的随机游走算法等。其中最常用的是基于邻域的方法,该方法又分为两种:基于物品的协同过滤推荐和基于用户的协同过滤推荐。

基于物品的协同过滤推荐,即Item Based Collaborative Filtering(ItemCF),是指给用户推荐和他之前喜欢的物品相似的物品;基于用户的协同过滤推荐,即User Based Collaborative Filtering(UserCF),是指给用户推荐和他兴趣相似的用户喜欢的物品。

因为单纯的协同过滤算法不需要知道物品的特性,因此基于协同过滤的推荐理论上可以推荐世界上的任何一种东西:图片、音乐、电影等,样样可以。

继续阅读