LindaChina的个人博客分享 http://blog.sciencenet.cn/u/LindaChina

博文

《个性化推荐系统的研究进展》学习笔记

已有 5383 次阅读 2012-6-4 19:54 |系统分类:科研笔记| 学习, style, center, 系统

《个性化推荐系统的研究进展》学习报告

 

作者:刘建国,周涛,汪秉宏

发表期刊:自然科学进展

 

总述:这是一篇总述,主要介绍了推荐领域比较主流的算法及对应的优缺点。个性化推荐系统的主要目标就是为了解决信息超载的现象导致的“暗数据”的存在。这篇文章主要介绍了协同过滤系统,基于内容的推荐系统,混合推荐协同以及user-based二部图网络结构推荐系统。

 

推荐系统简介

一个完整的推荐系统由3个部分组成:收集用户信息的行为记录模块、分析用户喜好的模型分析模块和推荐算法模块。

行为记录模块负责记录用户的喜好行为,例如问答、评分、购买、下载、浏览等,但是有些用户不愿意向系统提供这些信息,那么就需要通过其他方式来对用户的行为进行分析,例如购买、下载、浏览等行为,通过这些用户的行为记录分析用户的潜在喜好产品和喜欢程度,这就是模型分析模块要完成的工作。

模型分析模块的功能能够对用户的行为记录进行分析,建立合适的模型来描述用户的喜好信息。

最后是推荐算法模块,利用后台的推荐算法,实时的从产品集合中筛选出用户感兴趣的产品进行推荐。

 

1、协同过滤系统

核心思想为两部分:首先利用用户的历史信息计算用户之间的相似性;然后,利用与目标用户相似性较高的邻居对其他产品的评价来预测目标用户对特定产品的喜好程度。

基于记忆的(memory-based)协同过滤算法:根据系统中所有被打过分的产品信息进行预测。

基于模型的(model-based)协同过滤算法:收集打分数据进行学习并推断用户行为,进而对某个产品进行预测打分。与基于记忆的协同过滤算法最大的不同在于,基于模型的方法不是基于一些启发规则进行预测计算,而是基于对已有数据进行统计和机器学习得到的模型进行预测。

 

优点:1)对推荐对象没有特殊的要求,能处理音乐、电影等难以进行文本结构化表示的对象;(最大优点)

 2)具有推荐新信息的能力,可以发现用户潜在的但自己尚未察觉的兴趣偏好;

缺点:1)存在冷启动问题,即如何对新用户进行推荐或者如果推荐新产品给用户;

2)打分稀疏性问题,即用户对大部分产品的打分值都为空或者难以获得对应的数据;

3)算法可扩展性问题,即适应系统规模不断扩大的问题;

4)基于用户的协同推荐算法随着用户数量的增多,计算量成线性加大,其性能会越来越差。

 

2、基于内容的推荐系统

最初的基于内容的推荐系统是协同过滤技术的延伸和发展,不需要依靠用户对项目的评价意见,而是依据用户已经选择的产品内容信息计算用户之间的相似性,进而进行相应的推荐。随着机器学习的发展,当前的基于内容的推荐系统可以分别对用户和产品建立配置文件,通过分析已经购买或者浏览过的内容,建立或更新用户的配置文件。系统可以比较用户与产品配置文件的相似度,并直接向用户推荐与其配置文件最相似的产品。

 

优点:1)可以处理新用户和新产品问题,即不存在冷启动问题;

 2)不受打分稀疏性问题的困扰;

3)能推荐新出现的产品和非流行的产品,能够发现隐藏的“暗信息”;

4)推荐结果的可解释性强,用户在使用推荐系统时具有很好的用户体验;

缺点:受信息获取的约束。

 

3、基于网络结构的推荐算法

基于网络结构的推荐算法不考虑用户和产品的内容特征,而是把他们看成图里面的节点,所有算法利用的信息都隐藏在用户和产品的选择关系中。

3.1 基于二部图资源分配的推荐算法

这个算法的主要思想是:假设有m个用户和n个产品,如果用户i选择过产品j,则aji=1,否则为0.因此这个系统可以用一个具有m+n个节点的二部图表示。对于任意目标用户i,推荐算法的目的是把所有i没有选择过的商品按照i的喜好程度排序,把排名前N个产品推荐给i。这里我们假设i选择过的所有商品都具有像i推荐其他相关产品的能力,这个能力是通过能量传递的方式,更亲睐的产品获得的能量越多。

缺点:仍然无法很好的解决冷启动问题,无法对新用户和新产品进行推荐,因为二部图的建立是购买过(或浏览过)产品的用户与产品之间的关系图。

3.2 基于传播的用户相似性度量

传统的协同过滤算法是利用皮尔逊系数来计算用户相似度,这里基于传播的用户相似性度量算法的主要思想是利用资源分配原理计算用户之间的相似性,进而利用协同过滤算法向用户进行个性化推荐。这里假设所有产品的贡献是一样的,也就是说被1000个人选中和被1个人选中的产品的影响力是一样的(同一个产品)。这个算法验证了产品的度信息确实影响了推荐的准确率,降低大度节点的影响力有利于提高推荐的准确度。

 

4、混合推荐算法

4.1 独立系统相互结合的推荐系统

该推荐系统的主要思想是:先独立运用协同过滤算法、基于内容和基于网络结构的推荐算法独立得到推荐结果,然后再将多个结果结合起来,利用预测打分的现行组合给出最终推荐结果。

4.2 在协同过滤系统中加入基于内容的推荐算法

该推荐系统的主要思想是:利用用户的配置文件进行传统的协同过滤计算。用户的相似度通过基于内容的配置文件计算得到,而非共同打过分的产品信息,这样可以克服稀疏性的问题。另一个好处是,不仅产品会被配置文件相似的用户打了分之后才能被推荐,如果产品与用户的配置文件很相似也会被直接推荐。

 

5、其他推荐算法

1)关联规则分析:关注用户行为的关联模式,例如购买香烟的用户大多会购买打火机,那么就可以在香烟和打火机之间建立关联关系。通过这种关联关系向用户推荐其他产品。

2)基于社会网络分析的推荐算法:论文中没有介绍这个算法的思想,但是我的理解是通过分析社会网络关系,基于社会网络关系进行产品推荐。比如经常联系的两个人可能存在共同的爱好。

 

总结:

总的来说,现在主流的推荐算法有协同过滤的推荐算法、基于内容的推荐算法、基于网络结构的推荐算法(主要是基于二部图的推荐算法)。

其中协同过滤算法和基于网络结构的算法都存在冷启动问题,无法对新用户和新产品进行推荐。基于内容的推荐算法对获取的数据要求较高,无法处理多媒体数据。


之前看综述的笔记~~



https://wap.sciencenet.cn/blog-477668-578568.html

上一篇:做数据分析的后遗症
下一篇:潇洒走一回
收藏 IP: 221.3.133.*| 热度|

1 rosejump

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 21:53

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部