协同过滤推荐算法研究综述

2015-01-29 20:50:23汪静
中国新通信 2014年13期
关键词:准确度协同预测

汪静

【摘要】协同过滤推荐算法是目前在推荐系统中应用最成功和广泛的技术之一。本文详细介绍了协同过滤推荐算法的分类和度量指标。同时,分析了协同过滤推荐算法中的问题以及相应的解决办法。最后阐述了协同过滤推荐系统中仍需解决的问题和未来可能的发展方向。

【关键词】推荐系统协同过滤推荐算法

一、引言

随着信息技术的迅速发展,互联网在为用户提供越来越多信息的同时,其规模也变得越来越庞大,其结构也变得越来越复杂。对于用户来说,如何及时有效地在网络上的海量信息中发现自己所需要的信息已经变得相当困难。推荐系统就是解决这一问题的最有效的途径。推荐系统现已经广泛地应用于很多领域,如电子商务,电影,音乐,社交网络等等。在推荐系统中应用最成功和广泛的是协同过滤推荐算法,对该算法的研究已经呈现了大量的研究和应用成果。

二、协同过滤推荐算法的分类

在协同过滤推荐算法中,用户评分数据中包含m个用户的集合U={ul,u2,……,um}和n个项目的集合I={il,12,……,in。用户对项目的评分数据可以采用用户一项目评分矩阵来表示。根据推荐产生过程和采用技术的不同,通常可以将协同过滤推荐算法分为两类:基于记忆和基于模型的算法[1]。

2.1 基于记忆的协同过滤推荐算法

基于记忆的协同过滤推荐算法类似于机器学习中的懒惰学习算法,是直接对整个用户一项目评分矩阵进行计算,找到相似的用户或项目来产生推荐结果。根据相似性计算的对象的不同,又可以分为基于用户的算法和基于项目的算法。基于用户的协同过滤算法的主要思想是利用兴趣偏好相似的用户的评分来产生推荐列表[2-3]。而基于项目的算法,则利用相似项目进行推荐。根据这类算法的基本原理,可以把算法的实施分为四个阶段:(1)相似性计算。常用的度量用户或者项目的相似性的方法主要包括如下三种:余弦相似性,皮尔逊相关系数和约束的皮尔逊相关系数[4]。此外,项目的相似性还可以基于条件概率来计算[5]。(2)选择相似近邻。在基于用户的算法中,通常采用K最近邻方法[6]和基于阈值的方法[7]为目标用户选择兴趣偏好最相似的邻居。而基于项目的算法,则选择所有相似项目作为近邻。(3)预测评分。这个环节主要根据相似用户或者项目的评分,来预测目标用户对目标项目的评分。(4)推荐。常用的推荐方法是全局排序方法,即选择预测评分最高的前N个项目,即top-N推荐方法。

2.2 基于模型的协同过滤算法

随着用户和项目的数量规模不断扩大,评分数据越来越高维,传统的基于记忆的协同过滤算法在计算量上也面临可扩展的问题,而且难以得到好的实时推荐效果。为了解决这些问题,一些学者提出了基于模型的推荐算法。这一类的算法首先利用统计技术和机器学习技术对用户一项目的评分矩阵进行训练,通过训练建立一个模型,然后再基于这个模型为目标用户进行预测,进而产生推荐结果。在基于模型的协同过滤推荐算法中主要采用的技术包括贝叶斯网络[8],聚类[9-10],降维技术[11-12],潜在语义[13-14],本体模型[15]和云模型[16]等等。

三、协同过滤推荐算法的评估指标

根据现阶段推荐系统的任务,可以主要把对推荐算法的评估指标分成3类:预测准确度和分类准确度。

3.1预测准确度

预测准确度主要用来度量算法预测的评分与真实评分之间的偏差。在那些要给用户显式预测评分值的场景中,预测准确度尤其重要。在协同过滤推荐算法中最常用的预测准确度指标是平均绝对误差[17],该指标主要用来度量预测的评分和真实的评分之间直接的数值差距。这个值越小,表明预测越准确,推荐质量越高。该指标因其计算简单、通俗易懂得到了广泛的应用。不过这个指标也有一定的局限性,因为对这个指标贡献比较大的往往是那种很难预测准确的低分项目[1]。

3.2分类准确度

推荐系统的主要任务就是向用户推荐喜欢的项目,也可以看作一个分类问题。分类准确度指标就是衡量推荐系统是否能够正确预测用户喜欢或者不喜欢某个项目的能力[18]。常用的度量分类性能的指标是查准率和查全率。查准率和查全率指标往往是负相关的而且依赖于推荐列表长度。为了同时考察查准率和查全率,Pazzani等把二者综合考虑提出了Fl指标[19]。Fl指标的值越大,说明推荐的准确度越高。

四、协同过滤推荐算法面临的问题

随着网络的发展,用户和项目的数量迅猛增加,而网络资源和站点结构也变得越来越复杂,协同过滤推荐算法在实际的推荐系统的应用中,仍然面临着以下问题:

4.1稀疏性问题

现在的推荐系统中,数据规模都非常庞大,两个用户之间选择的重叠非常少。例如在淘宝上的商品数量有近10亿,平均而言一个用户很少能对超过1000件商品进行评分,数据严重稀疏。评分数据的稀疏性问题,严重地影响了算法的推荐质量。这个问题本质上是无法解决的,但是可以通过一些办法,在相当程度上缓解这个问题。比如,对原始数据集的空缺值,可以预先填充一些评分,这样就可以提高相似性度量的准确度,从而提高算法的准确度[20]。但是预先填充计算量往往比较大,耗费时间,而且可能填充值本身会带来误差,反而后会影响推荐的质量。

4.2冷启动问题

冷启动问题是指新用户和新项目问题。新用户刚加入到推荐系统时,系统并没有新用户在系统的任何信息,如评分或者浏览、购买记录等。对新用户问题的处理,常常需要利用用户的个人统计信息来改进推荐结果[21]。但是,由于涉及个人隐私,用户一般不愿意公开提供详细的个人信息,所以推荐效果会受到一定的限制。同理,当新项目加入到推荐系统中后,由于没有用户对其进行过评分,浏览或者购买,所以一开始它将无法被推荐。对新项目问题的处理,需要结合基于内容的推荐方法来解决。

4.3信任问题

传统的推荐系统对用户来说,推荐系统是个“黑盒”,用户只能看到系统推荐的结果,但是用户完全不知道自己有哪些相似用户,以及如何得出最终的推荐结果。另外,由于数据的稀疏性与冷启动等问题,造成推荐的结果出现很大偏差的时候,用户也无法知道出现这样情况的原因,和怎么去修正这个推荐结果。如果能够更好地向用户说明并提供推荐的原因,也可以有效地改善用户体验,提升用户的满意度和忠诚度。要解决这个问题,就要利用当前用户所信任的用户来产生推荐结果。用户之间的信任关系可以直接利用用户明确提供的信任值来度量[22],也可以利用用户的行为数据,如用户对项目的评分来计算获得。如何合理地度量用户之间的信任关系,以及在系统内的用户群之间进行信任传递都是推荐技术面临的重要问题。

4.4 多样性问题

近年来大量的研究结果表明,推荐系统不但要为用户提供准确的推荐结果,还应该为用户推荐多样化的项目,这样才能吸引用户的兴趣,提高用户对系统的满意度和忠诚度。另一方面,应用推荐系统的商家,也希望在推荐结果中出现更多种不同类别的商品,这样才能激发用户产生新的购物需求,提高商品销售额。Adomavlclus在预测评分的基础上,提出了几种排序技术来改进推荐结果的集合多样性[23]。Hurley等把推荐多样性和推荐质量作为一个二元优化问题进行分析,即在提高推荐多样性和不降低推荐准确率这两方面得到—个折衷的方案[24]。尽管上面提到的这些方法效果很好,但是都是从算法本身的角度去考虑,还没有办法就相关结果而提供合理的解释。推荐的多样性和精确性两者之间矛盾,到目前为止还是一个无法解决的难题。

4.5大数据处理的问题

随着互联网的发展,新项目还在不断加入系统,新用户也在不停地进入系统,用户和项目之间还不停地产生新的关联。数据量不仅非常庞大,而且数据本身还不断地在动态变化,数以亿计的海量数据给数据的存储和计算的速度带来极大的挑战。要解决这个问题,首先考虑的就是算法的并行化。已有研究者在Hadoop平台设计分布式的协同过滤推荐算法,实验结果表明,这一方法能有效提高响应时间,但是在数据稀疏的情况下,算法的推荐精度较低[25]。针对大数据处理的问题,对分布式算法的研究刚刚起步,还有很多的不足,但是将会成为推荐算法研究中的一个新的热点方向。

参 考 文 献[l]Goldberg D,Nichols D,Oki B, Terry D.Using collaborative filtering to weavean information tapestry [J]. Communications of the ACM, 1992, 35(12):61-70[2]Liu J G,Zhou T, Wang B H.The research progress of personalized recommendation system [J]. Progress in Natural Science, 2009, 19(1):1-15[3]Adomavicius G and Tuzhilin A.Towards the next generation of recommender

systems:A survey of the state-of-the-art and possible extensions [J].IEEE Transactions on Knowledge and Data Engineering, 2005, 17(6):734 - 749[4]除健,基于影响集的协作过滤推荐算法[J]软件学报,2007, 18(7): 1685-1694[5]Herlocker L J,Konstan A J and Riedl T J.Empirical analysis of design choices in neighborhood-based collaborative filtering algorithms [J].Information Retrieval,

2002, 5(4):287-310[6]Chen M C,Chen L S,Hsu H,et al.A profitability based recommender system[C].//In: Proceedings of the IEEE International Conference on IndustrialEngmeenng and Engineering Management, Singapore, 2007:219-223[7]Shardanand U,Maes P. Socialinformation filtering: algorithms for automating "word of mouth"[C].,,In Proceedings of ACM CHI' 95 Conference onHuman Factors in Computing Systems. New York: ACM Press, 1995, 210-217[8]Pennock D M,Horvitz E, Lawrence S, and Giles C L Collaborative filtering by personality diagnosis:a hybrid memory- and model-based approach[C].In:

Proceedings of the 16th Conference on Uncertainty in Artificial Intelligenc,e, 2000:473 - 480[9]邓爱林,左子叶,朱扬勇,基于项目聚类的协同过滤推荐算法[J]小型微型计算机系统,2004, 25(9):1665- 1670[10]吴湖,王永吉,王哲.两阶段联合聚类协同过滤算法[J].软件学报,2010, 21(5): 1042-1054[ll]Koren Y,Park F. Fac,torization Meets the Neighborhood:a Multifaceted Collahorative Filtering Model[C].// In: Proceedings of the 14th ACM SICKDDInternational Conference on Knowledge Discovery and Data Mining, New York, NY, USA, 2008:426-434[12]Ma H,Zhou D,Liu C, Lyu M R,King I. Recommender systems with social regularization[C]. //In: Proceedings of the 4th ACM InternationalConference on Web Search and Data Mining, ACM Press,NewYork,2011:287 - 296[13lHofmann T. Latent semantic models for collahorative filtering [J]. ACM Transactions on Information Systems, 2004, 22(1): 89 -1 15[14]Blei D M,Ng A Y,and Jordan M I.Latent dirichlet allocation [J]. Journal of Machine Learning Research, 2003,3(4一5):993 - 1022[15]2uher V S,Faltings B.Using hierarc,hic,al clustering for learning the ontologies used in recommendation systems[Cl.//In: Proceedings of the 13th ACMSIGKDD Int'1

Conference on Knowledge Discovery and Data Mining, New York: ACM Press, 2007:599-608[16]张光卫,李德毅,李鹏,康建初,陈桂生.基于云模型的协同过滤推荐算法[J].软件学报,2007,18(10):2403-2411[17]Linden G,Smith B,and York J. Amazon.com recommendations: item-to-item collaborative filtering [J]. IEEE Internet computing, 2003, 7(1):76-80[18]许海玲,吴潇,李晓东,阎保平,互联网推荐系统比较研究[J]软件学报,2009, 20(2):350-362[19]Mooney R J,Roy I¨Content-based book recommending using learning for text categorization[C]. //In: Proceedings of Sth ACM Conference on DigitalLibraries. ACM Press, San Antonio, 2002:195-204[20lEsslimani I, Brun A,Boyer A.Densifying a hehavioral recommender system by social networks link prediction methods[J].Social Network Analysisand Mining, 2011, 1:159-172[21]Yu K,Schwaighofer A, Tresp V,Xu X,Kriegel HP. Probabilistic memory-hased collahorative filtering[J]. IEEE Transactions on Knowledge and DataEngineering, 2004,16(1):56- 69[22]Massa P and Avesani P. Trust metrics on controversial users: balancing between tyranny of the majority and echo chambers [J]. International Journalon Semantic. Web and Information Systems, 2007, 3(1):39 - 64[23lAdomavicius G,Kwon Y 0.Improving aggregate recommendation diversity using ranking-based technique [J].IEEF. Transactions on Knowledge andData Engineering, 2012, 24(5):896-911[24]Hurley N,

Zhang Mi. Novelty and diversity in top-N recommendation-analysis and evaluation [J]. ACM Transactions on Internet Tec,hnology,2011, 10(4):14:1-14:30[25]肖强,朱庆华,郑华,吴克文.Hadoop环境下的分布式协同过滤算法设计与实现[J],现代图书情报技术,2013,(1):83-89

猜你喜欢
准确度协同预测
无可预测
黄河之声(2022年10期)2022-09-27 13:59:46
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
蜀道难:车与路的协同进化
科学大众(2020年23期)2021-01-18 03:09:08
“四化”协同才有出路
汽车观察(2019年2期)2019-03-15 06:00:50
幕墙用挂件安装准确度控制技术
建筑科技(2018年6期)2018-08-30 03:40:54
不必预测未来,只需把握现在
三医联动 协同创新
中国卫生(2016年5期)2016-11-12 13:25:26
动态汽车衡准确度等级的现实意义
协同进化
生物进化(2014年2期)2014-04-16 04:36:26