您的位置:首页 > 其它

《推荐系统实践》读书笔记——第一章

2014-07-12 17:04 141 查看
《推荐系统实践》读书笔记
参考文献:项亮. 推荐系统实践[M]. 1. 人民邮电出版社, 2012.

1 好的推荐系统

随着信息技术和互联网的发展,人们开始进入一个信息过载的时代,在这个时代,不管是信息的生产者,还是信息的消费者,这都将给他们带来一种困惑:对于信息生产者来说,在这大量的信息当中,如何做到将自己的信息展现给需要此信息的用户成为一件很困难的事情;对于信息消费者来说,如何从海量的信息当中获取自己需要的信息也成为了一件不易的事情。推荐系统能够解决以下问题,可以帮助信息生产者将自己的信息展现在对此信息感兴趣的用户面前,也能为用户到找自己感兴趣或需求的信息,因此,对于信息生产者和消费者来说,推荐系统能够实现双赢。

1.1 什么是推荐系统?

推荐系统就是根据用户的历史行为,判断用户的兴趣偏好,为用户推荐用户可能感兴趣的信息。

1.2 推荐系统的任务是什么?

推荐系统的任务就是联系用户和信息,一方面帮助用户找到对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者与信息生产者的双赢。

1.3 推荐系统与搜索引擎的关系、异同?

从某种意义上讲,对于用户来说,两者是一个互补的关系,搜索引擎帮助用户找到有明确需求的信息,而推荐系统则是帮助用户在没有明确需求的情况下找到感兴趣的新内容。
相同点,它们都是帮助用户快速找到有用信息的工具。
不同点是,1)推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为为用户建立模型,从而主动地给用户推荐满足他们感兴趣和需求的信息。2)使用搜索引擎时用户需要提供明确的需求。

1.4 个性化推荐系统的应用

个性化推荐系统的成功应用需要两个条件。第一个是存在信息过载,因为如果信息不多,那么用户就可以很容易地从信息当中找到自己需要的那部分,这样的话,就不需要个性化推荐系统了。第二个是用户大部分时候没有明确的需求,因为如果用户有明确的需求,那么用户就可以通过搜索引擎找到自己需要的信息了。
广泛利用推荐系统的领域包括电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等。
电子商务:根据用户的浏览行为、点击行为、购买行为、商品评分等一系列历史行为,向用户推荐商品。如Amazon,淘宝。
电影和视频:帮助用户在浩瀚的视频库中找到令用户感兴趣的视频,在该领域成功使用推荐系统的一家公司是Netflix,它和亚马逊是推荐系统领域最具代表性的两家公司。
音乐:因为音乐的数量实在是太多,用海量来形容一点都不为过,而且在大多数时候,用户都没有明确想听的歌曲,所以个性化音乐推荐很有必要。国际上著名的有Pandora和Last.fm,国内有豆瓣。
社交网络:根据用户之间的社交网络关系和用户的偏好信息向用户提供各种信息。如Facebook和Twitter。
个性化阅读:互联网上的文章非常多,用户面临信息过载的问题,并且,用户很多时候只是想关注一下自己感兴趣的领域,并没有必须想看的特定的文章,所以个性化阅读需要个性化推荐系统,如Google Reader,Zite和Flipboard。
基于位置的服务:比如你在一个陌生的地方,这个时候,你需要找一个餐馆吃饭,找一个宾馆休息,这个时候,你需要一个个性化推荐系统为你推荐餐馆,推荐宾馆。基于位置的服务推荐系统通常和社交网络结合在一起,这样可以通过获取社交网络里的个人信息、社交网络关系,达到个性化推荐。如Foursquare。
个性化邮件:垃圾邮件过滤,优先级收件箱功能等。
个性化广告:个性化广告投放和狭义个性化推荐的区别是,个性化推荐着重于帮助用户找到可能令他们感兴趣的物品,而广告推荐着重于帮助广告找到可能对他们感兴趣的用户,即前者以用户为核心,后者以广告为核心。

1.5 推荐系统评测

一个完整的推荐系统一般存在3个参与方:用户、物品提供商和提供推荐系统的网站。在评测一个推荐算法时,需要同时考虑三方的利益,一个好的推荐系统是能够令三方共赢的系统。
为了全面评测推荐系统对三方利益的影响根据不同的角度出发,提出不同的指标,这些指标包括准确度、覆盖度、新颖度、惊喜度、信任度、透明度等。这些指标中,有些可以离线计算,有的只有在线才能计算,有些只能通过用户调查问卷获得。
离线计算步骤:1)准备数据集;2)将数据集按照一定的规则分成训练集和测试集;3)在训练集上训练用户兴趣模型,在测试集上进行预测;4)使用预先定义的指标评测预测结果。
表格 1离线实验的优缺点
优点
缺点
不需要有对实际系统的控制权
无法计算商业上关心的指标
不需要用户参与实验
离线实验的指标与实际商业使用的指标存在差距
速度快,可以测试大量算法
用户调查:可以获取用户的主观感受的指标,但是代价大。
在线实验:完成离线实验和必要的用户调查后,可以上线做AB测试,AB测试是一种很常见的在线评测算法的实验方法。它通过一定的规则将用户随机分成几组,并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测标比较不同的算法。AB测试的优点是可以公平获得不同算法实际在线时的性能,包括商业上关注的指标。AB测试的缺点主要是周期比较长,必须进行长期的实验才能得到比较可靠的结果。而且对于一个大型的网站来说,AB测试是一项复杂的工程。
一般来说,一个新的推荐算法最终上线,需要完成上述三个实验,1)首先,需要通过离线实验证明在很多离线指标上优于现有算法;2)然后,需要通过用户调查确定它的用户满意度不低于现有的算法;3)最后,通过在线的AB测试确定它在我们关心的指标上优于现有的算法。
推荐系统的评测指标有如下几点:
1) 用户满意度,用户作为推荐系统重要的参与者,其满意度是评测推荐系统的最重要的指标,但是,这种方法只能通过用户调查或在线实验获得。
2) 预测准确度,预测准确度是一个推荐算法预测用户行为的能力,这个指标是最重要的推荐系统离线评测指标。对于不同的研究方向,它们的预测准确度指标也不尽相同。
ü 评分预测,预测用户对物品评分的行为称为评分预测,评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。Rui是用户u对物品i的实际评分,而r(^)ui是推荐算法给出的预测评分,那么RMSE的定义为:



MAE采用绝对值计算预测误差,它的定义为:



TopN推荐,给用呢一个个性化的推荐列表,这种推荐叫做TopN推荐。TopN推荐的预测准确率一般通过准确率(precision)/召回率(recall)度量。令R(u)是根据用户在训练集上的行为给用户作出的推荐列表,而T(u)是用户在测试集上的行为列表。那么推荐结果的召回率定义为:



推荐结果的准确率定义为:



有时候,为了全面评测TopN推荐的准确率和召回率,一般会选取不同的推荐列表长度N,计算出一组准确率/召回率,然后画出准确率/召回率曲线。
亚马逊前科学家Greg Linden认为,指出电影推荐的目的是找到用户最可能感兴趣的电影,而不是预测用户看了电影后会给电影什么评分。因此,TopN推荐更符合实际的应用需求。
3) 覆盖率,描述一个推荐系统对物品长尾的发掘能力。最简单的定义为推荐系统推荐出来的物品占总物品集合的比例。假设系统的用户集合为U,推荐系统给每个用户推荐一个长度为N的物品列表R(u)。那么推荐系统的覆盖率计算如下:



上面的定义过于粗略,我们可以通过研究物品在推荐列表中出现次数的分布描述推荐系统挖掘长尾的能力,如果分布比较平,则说明覆盖率比较高,如果比较陡峭,则说明推荐系统的覆盖率低,信息论和经济学中有两个著名的指来可以用来定义覆盖率,一个是信息熵:



这里的p(i)是物品i的流行度除以全部物品流行度之和,第二个指标是基尼系统:



其中,是按照物品流行度p()从小到大排序的物品列表中第j个物品。
社会学领域有一个著名的马太效应,即所谓强者更强,弱者更弱。搜索引擎的PageRank算法具有一定的马太效应,协同过滤推荐算法也具有马太效应。评测推荐系统是否具有马太效应的简单办法就是使用基尼系数。
4) 多样性,推荐列表应该比较多样,覆盖用户的绝大多数兴趣点,多样性描述了推荐列表中物品两两之间的不相似性。用户u的推荐列表R(u)的多样性定义如下:



其中,s(I,j)为物品i和物品j之间的相似度。而推荐系统的整体多样性可以定义为用户推荐列表多样性的平均值:




5) 新颖性,评测新颖度最简单的方法就是利用推荐结果的平均流行度,因为越不流行的物品越可能让用户觉得新颖。如果要准确地统计新颖度,则需要做用户调查。
6) 惊喜度,推荐结果与用户历史记录不相似,但用户却觉得满意的推荐。
7) 信任度,对于让你信任的推荐系统,它的推荐会让你产生购买欲,对于不信任的推荐系统,它的推荐很难让你产生购买欲。所以提高推荐系统的信任度是很重要的,提高推荐系统的信任度主要有两种方法。首先需要增加推荐系统的透明度,增加推荐系统的透明度的主要办法是提供推荐解释。其次考虑用户社交网络信息,利用用户的好友信息给用户做推荐,并且用好友进行推荐解释。
8) 实时性,推荐系统实时性包括两个方面,第一个是推荐系统要实时的更新推荐列表来满足用户新的行为变化。第二个是推荐系统能够将新加入系统的物品推荐给用户。
9) 健壮性,推荐系统的抗攻击能力。

总结:根据本书作者观点,应该在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。

1.6 评测维度

如果能够在推荐系统评测报告中包含不同维度下的系统评测指标,就能帮我们全面地了解推荐系统性能,一般来说,评测维度分为如下3种:
1) 用户维度,主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
2) 物品维度,包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
3) 时间维度,包括季节,是工作日还是周末,是白天还是晚上等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐