经典推荐算法研究综述ReviewofClassicalRecommendationAlgorithms

ReviewofClassicalRecommendationAlgorithms

ChunhuaZhou,JianjingShen,YanLi,XiaofengGuo

InformationEngineeringUniversity,ZhengzhouHenan

Received:Sep.3rd,2019;accepted:Sep.18th,2019;published:Sep.25th,2019

ABSTRACT

RecommendersystemsareeffectivetoolsofinformationlteringthatareprevalentduetocontinuouspopularizationoftheInternet,personalizationtrends,andchanginghabitsofcomputerusers.Althoughexistingrecommendersystemsaresuccessfulinproducingdecentrecommendations,theystillsufferfromchallengessuchascold-start,datasparsity,anduserinterestdrift.Thispapersummarizestheresearchstatusofrecommendationsystem,presentsanoverviewofthefieldofrecommendersystems,describestheclassicalrecommendationmethodsthatareusuallyclassifiedintothefollowingthreemaincategories:content-based,collaborativeandhybridrecommendationalgorithms,andprospectsfutureresearchdirections.

Keywords:RecommenderSystems,Cold-Start,DataSparsity,CollaborativeFiltering

经典推荐算法研究综述

周春华,沈建京,李艳,郭晓峰

信息工程大学,河南郑州

收稿日期:2019年9月3日;录用日期:2019年9月18日;发布日期:2019年9月25日

摘要

推荐系统作为一种有效的信息过滤工具,由于互联网的不断普及、个性化趋势和计算机用户习惯的改变,将变得更加流行。尽管现有的推荐系统也能成功地进行推荐,但它们仍然面临着冷启动、数据稀疏性和用户兴趣漂移等问题的挑战。本文概述了推荐系统的研究现状,对推荐算法进行了分类,介绍了几种经典的推荐算法,主要包括:基于内容的推荐算法、协同过滤推荐算法和混合推荐算法,并对推荐系统未来的研究趋势进行了展望。

关键词:推荐系统,冷启动,数据稀疏,协同过滤

ThisworkislicensedundertheCreativeCommonsAttributionInternationalLicense(CCBY).

1.引言

在推荐系统中,典型的推荐问题主要有两种:评分预测和Top-N推荐。评分预测一直是推荐系统研究的热点,是指根据用户对项目的历史评分,学习用户的兴趣模型,预测用户对未评分项目的打分;而Top-N推荐通常更符合实际的应用需求,是指提供用户可能喜欢的前N个项目的有序列表。基于以上推荐问题,学术界和工业界提出了很多推荐理论和技术。经典的推荐算法主要分为三类:基于内容的推荐算法、协同过滤推荐算法和混合推荐算法[3]。

2.推荐系统存在的问题

2.1.冷启动问题

推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。当推荐系统积累数据量过少时,如何设计个性化推荐系统且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题,这也是推荐系统面临的一大难题。

冷启动主要分为三类:

(1)用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使用网站的时候,系统并没有他的行为数据。

(2)项目冷启动:解决如何将新的项目推荐给可能对它感兴趣的用户。

(3)系统冷启动:如何在新开发网站设计个性化推荐系统,此时网站上用户很少,用户行为也少,只有一些商品的信息。

2.2.数据稀疏问题

现在推荐系统处理的数据规模越来越大,用户和物品数目动辄百千万计,用户项目评分矩阵是高维稀疏的,且两个用户之间选择的重叠也会非常少,则传统的基于相似度计算的算法和基于关联分析的算法效果都不会太好。因此评价数据集的稀疏度非常必要。如果以用户–项目评分矩阵中已评分数据量占评分总量的比例来衡量系统的稀疏性,稀疏度越小,传统算法的精度越低。

比如,目前最大规模的电子商务平台淘宝网,其用户和商品数量都非常庞大。截至2014年底,淘宝网拥有注册用户近5亿,日活跃用户超1.2亿,在线商品数量达到10亿,假如要用基于用户–项目评分矩阵的协同过滤算法,那么用户–项目评分矩阵的大小是1.2亿×10亿。而平均每个用户的商品浏览数量可能不超过20,那么在用户–项目评分矩阵中,只有1.2亿×20的输入是有值的,稀疏的度达到20/10亿=2.0e8,远远小于百万分之一。在这个规模下,任意两个用户的浏览的商品交集都非常非常小,计算得到的相似度往往近似为0,那么传统的基于相似度计算的过滤算法将得不到理想的效果。因此,数据稀疏性问题也是过滤算法面临的一大挑战,一般来说,数据规模越大,数据稀疏性会越大,而能够处理稀疏数据的算法将会有更好的应用。

2.3.用户兴趣漂移问题

3.推荐算法分类

Figure1.Theclassificationofrecommendationalgorithms

4.经典推荐算法

4.1.基于内容的推荐算法

Figure2.Thearchitectureofcontent-basedrecommendationalgorithm

4.2.协同过滤推荐算法

协同过滤推荐算法是推荐系统中最流行的推荐算法,它充分利用用户的历史行为数据来生成推荐项,协同过滤是建立在这样的假设基础上的,如果用户X和Y对t个项目进行相似的评分,或者有相似的行为(例如购买、观看、聆听),那么用户就会对其他项目进行类似的评分或行为[38]。

Figure3.ThegeneralprocessofCFalgorithm

CF算法主要采用两大类方法来解决推荐生成问题:

1.基于内存的协同过滤算法

基于内存的CF算法可以使用所有的用户–项目数据或一个样本集来生成预测。每个用户都有一个与其有着相似兴趣的群体,被称为邻居,通过识别新用户(或活动用户)的邻居,可以预测他或她对新项目的偏好。

2.基于模型的协同过滤算法

不同于基于内存的算法,基于模型的算法是根据已有数据应用统计和机器学习得到模型进行预测。模型的设计和开发(如机器学习、数据挖掘算法等)可以使系统学会根据训练数据识别复杂的模式,然后根据所学习的模型对测试数据或真实数据的协同过滤任务进行智能预测。基于模型的CF算法包括聚类模型、贝叶斯模型、概率模型、最大熵模型和矩阵分解等等。

基于聚类模型的推荐算法通常将聚类作为一个中间步骤,利用聚类的结果进行进一步的分析或处理,以执行分类或其他任务。聚类CF模型可以有不同方式的应用。比如,O’Connor和Herlocker[8]以及胡蓉等人[9]使用聚类技术将数据划分为簇,然后在每个簇中使用基于内存的CF算法进行预测。Chee等人[40]使用k=2的k-means方法,提出了RecTree方法,在递归地构造RecTree的过程中,将原始的大型评级数据划分为两个子簇。所得到的RecTree类似于一个不平衡的二叉树,预测是由目标用户所属的叶子节点进行的。基于聚类的推荐算法具有很好的可扩展性,因为它们在更小的集群中进行预测,而不是在整个数据集中进行预测。但其推荐质量普遍较低。

矩阵分解是一种发现数据背后隐藏结构的强大技术,是一种非常精确的降维方法。常用的分解模型主要有:奇异值分解(SingularValueDecomposition,SVD)、主成分分析(PrincipalComponentAnalysis,PCA)、概率矩阵分解(ProbabilisticMatrixFactorization,PMF)、非负矩阵分解(ProbabilisticMatrixFactorization,PMF)[41]。矩阵分解能够有效地处理海量数据集、稀疏的评价矩阵、可扩展性以及基于用户/项目的CF算法的冷启动问题。

协同过滤算法是目前最流行的推荐技术,不仅可以发现用户潜在的兴趣偏好,具有推荐新信息的能力,还能解决基于内容推荐中一些项目难以进行内容分析的问题,如:电影、音乐、艺术品等。

4.3.混合推荐算法

每种方法都有各自的局限性,没有一种方法可以独领风骚,它们在各自的领域表现出来的效果也各有千秋,于是在实际的应用中,通常根据实际情况将各种算法混合在一起使用,所以就有了混合推荐技术。混合推荐技术融合了基于内容的过滤和协同过滤算法中两种或两种以上推荐技术的特点,从而利用每种技术的优势,提高性能。混合推荐技术非常有用,因为它可以克服传统推荐方法的大多数限制,将它们组合起来以获得更好的结果。混合推荐技术的方法有很多:加权型、切换型、交叉型、特征组合型、瀑布型、特征递增型、元层次型。

加权型:输出是由多种不同推荐方法加权组合而成。

切换型:根据问题背景和实际情况采用不同的推荐技术。

交叉型:同时采用多种推荐技术给出多种推荐结果,为用户提供参考。

瀑布型:后一个推荐方法优化前一个推荐方法:它是一个分阶段的过程,首先用一种推荐技术产生一个较为粗略的候选结果,在此基础上使用第二种推荐技术对其做出进一步精确地推荐。

特征组合型:将来自不同推荐数据源的特征组合起来,由另一种推荐技术采用。

特征递增型:将一种方法的推荐输出作为另一种方法的输入。

元层次型:用一种推荐方法产生的模型作为另一种推荐方法的输入。

5.推荐系统研究热点和趋势

5.1.深度学习与现有推荐算法的结合

5.2.基于强化学习的推荐

5.3.融合注意力机制的推荐

近年来,由于受深度学习研究的影响,注意力机制得到了广泛应用和更深入研究,如在图像处理、语音识别、视频识别、自然语言处理等领域都取得了很好的效果[48][49][50]。在推荐系统领域也取得了不少成果,文献[51]从不同角度将注意力机制应用在电影推荐系统中,学习用户的行为偏好,提高推荐精度。文献[52]利用双层注意力机制分别构建用户特征网络和项目特征网络,预测特定用户可能给出的项目评分;文献[53]考虑用户行为的异构性,通过自我注意对行为之间产生影响,构建基于注意力机制的用户行为模型。可见注意力机制在推荐系统中的应用研究已成为一个热点。

5.4.推荐结果的可解释性

5.5.推荐结果的多样性和公平性

对于推荐系统来说,推荐准确率是评价推荐质量最重要的指标,并且在NetflixPrize大赛中,推荐准确率是作为评价算法优劣的唯一标准[59]。但是,如果只考虑推荐的准确性,很容易陷入一个单一类别的局部最优解,造成用户兴趣的同质性。为了给用户带来更好的体验,获得更好的用户满意度,推荐结果的多样性、新颖性和公平性受到研究人员的重视。推荐结果的多样性能够向用户推荐彼此相似度低的项目,从而开阔用户的视野,发散用户的兴趣[60],能更好地发现具有“新颖性”的项目[61],并增加冷门项目被推荐的机会。文献[62][63][64][65]也分别提出了不同的方法来提高推荐结果的多样性和公平性。如何在保证推荐准确率的前提下,有效提高推荐多样性已成为推荐系统研究的热点问题。

THE END
1.推荐系统常用算法介绍基于内容推荐算法腾讯云开发者社区Item CF 和 User CF 是基于协同过滤推荐的两个最基本的算法,User CF 是很早以前就提出来了,Item CF 是从 Amazon 的论文和专利发表之后(2001 年左右)开始流行,大家都觉得 Item CF 从性能和复杂度上比 User CF 更优,其中的一个主要原因就是对于一个在线网站,用户的数量往往大大超过物品的数量,同时物品的数据https://cloud.tencent.com/developer/article/2112815
2.推荐系统算法概览系列学习——推荐算法综述 作者:章华燕 编辑:祝鑫泉 前言 1 随着移动互联网技术和社交网络的发展,每天都有大量包括博客,图片,视频,微博等等的信息发布到网上。我们正处于大数据的时代,传统的信息检索技术已经不能满足用户对信息发现的需求,推荐引擎的出现,可以帮用户获取更丰富,更符合个人口味和更加有意义的信息。https://blog.csdn.net/u013709270/article/details/78948772
3.史上最全推荐系统传统算法合集我花了半个多月将推荐系统传统算法分别进行了总结归纳,应该时目前全网最全的版本了。希望对大家了解推荐系统传统算法有所帮助。 推荐系统的传统算法主要包括: 基于邻域的算法 隐语义模型 决策树模型 逻辑回归 01 基于邻域的算法 主要介绍了 user-based CF(协同过滤),item-https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247547989&idx=1&sn=b6e7ab2ab800efad01b29cc9641b6aca&chksm=ebb70481dcc08d97da7a54a71fcdf873fdf91e307941d9f85d1d1d0b404445e27395c0e72b39&scene=27
4.推荐算法综述.ppt推荐算法综述.ppt 24页内容提供方:___ 大小:4 MB 字数:约7.72千字 发布时间:2020-12-13发布于浙江 浏览人气:97 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)推荐算法综述.ppt 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 判断第n+1个是否进https://max.book118.com/html/2020/1212/8012043115003025.shtm
5.推荐算法综述(二)推荐系统软件开发【编者按】推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点,InfoQ接下来将会策划系列文章来为读者深入介绍。推荐算法综述分文五个部分,本文作为第一篇,将会简要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入、不同的细分类型以及其优点和缺点。在第二和第三篇中,我们将会详细介绍这些算https://www.open-open.com/lib/view/open1451440691683.html
6.对话推荐算法研究综述人技术的广泛使用,另一方面受益于强化学习、知识图谱等技术在推荐策略中的成熟应用.将对话推荐系统的整体框架进行梳理,将对话推荐算法研究所使用的数据集进行分类,同时对评价对话推荐效果的相关指标进行讨论,重点关注于对话推荐系统中的后台对话策略与推荐逻辑,对近年来的对话推荐算法进行综述,最后对对话推荐领域的未来发展https://www.jos.org.cn/jos/article/abstract/6521
7.推荐系统综述推荐系统通过分析用户的行为和兴趣,为用户提供个性化的推荐,从而提高用户体验和满意度。本文将综述推荐系统的背景、发展历程、应用领域、算法原理等方面,为读者全面介绍推荐系统的相关知识。 一、背景: 随着信息爆炸和信息过载的时代到来,人们面临了获取信息的困境。传统的信息检索方式往往无法满足用户的个性化需求。而推荐https://wenku.baidu.com/view/4fe1ff5ccfbff121dd36a32d7375a417866fc1ee.html
8.推荐算法综述推荐算法综述 1 推荐系统基本流程 推荐系统的目的是通过推荐计算帮助用户从海量的数据对象中选择出用户最有可能感兴趣的对象。涉及三个基本内容:目标用户、待推荐项目以及推荐算法,基本流程为:描述为用户模型构建、项目模型建立以及推荐算法处理三个基本流程;https://www.jianshu.com/p/dcbdad094de7
9.个性化推荐算法的研究及发展综述7黄乐乐;马慧芳;李宁;余丽;基于二分图划分联合聚类的协同过滤推荐算法[J];计算机工程与科学;2019年11期 8孟祥福;张霄雁;唐延欢;贾迪;齐雪月;毛月;基于地理-社会关系的多样性与个性化兴趣点推荐[J];计算机学报;2019年11期 9傅汉霖;顾小宇;图书推荐算法综述[J];计算机时代;2016年12期 https://www.cnki.com.cn/Article/CJFDTotal-DGLG202103010.htm
10.协同过滤推荐研究综述AET协同过滤推荐研究综述 来源:微型机与应用2013年第6期张瑶, 陈维斌, 傅顺开(华侨大学 计算机科学与技术学院, 福建 厦门 361000)摘要: 推荐技术是目前在很多领域中广泛使用的技术之一。而协同过滤推荐算法是应用在推荐技术中很成功的算法。主要介绍了协同过滤推荐技术,总结了当前推荐算法的传统方法、改进算法以及性能评测http://www.chinaaet.com/article/212308
11.论文推荐多源融合定位算法综述南京信息工程大学【论文推荐】多源融合定位算法综述编辑:曹慧霞 作者: 审核: 来源: 2023年02月23日 【论文推荐】多源融合定位算法综述 上一条:【论文推荐】基于卫星载噪比定权的手机RTK/PDR融合定位研究下一条:中国工程院《全球工程前沿2022》重磅发布!【关闭】南京信息工程大学期刊中心 版权所有 copyright ? 2019 NUIST备80072 https://qks.nuist.edu.cn/info/1027/2985.htm
12.推荐解决方案综述人工智能平台PAI(PAI)推荐系统和搜索引擎是现代App解决信息过载的标配系统,如果从零开发推荐系统,不仅需要耗费大量金钱和时间,而且很难满足快速上线推荐系统及不断迭代各种算法的业务要求。本文为您介绍如何使用阿里云产品创建推荐系统的数据和模型,从而快速搭建自己的推荐系统。https://help.aliyun.com/document_detail/161927.html
13.067推荐的Exploit和Explore算法之一:EE算法综述推荐系统中的EE算法旨在平衡利用和探索策略,以持续挖掘用户喜好。在雅虎今日新闻上的应用为其成功提供了重要条件,但产品部署难点包括上线测试和用户体验下降。关键挑战在于实现“用户友好型”的EE。https://time.geekbang.org/column/article/4881
14.基于关联规则算法的推荐方法研究综述目前传统推荐算法已经被广泛应用于各类推荐系统,然而在推荐过程中仍然存在着无法处理非结构化数据、数据潜在关系发现困难、数据稀疏和冷启动等问题。关联规则技术的出现有效缓解了这些问题,推荐效率也因此得到提高。将关联规则技术的特殊属性与推荐算法进行高质量的结合成为推荐领域的研究热点。通过综述关联规则技术与数据的不http://cea.ceaj.org/CN/abstract/abstract39163.shtml
15.行为分析算法综述.docx行为分析算法综述一、概述行为分析算法是近年来计算机科学、人工智能及心理学等多个领域的研究热点,其应用广泛,涉及智能监控、人机交互、自动驾驶、医疗诊断等多个方面。随着大数据和机器学习技术的快速发展,行为分析算法已经成为理解和预测人类行为的关键工具。行为分析算法主要基于对人类行为的观察和测量,通过提取特征、https://m.renrendoc.com/paper/330405669.html
16.推荐系统论文文献综述12篇(全文)2)基于社会网络分析的推荐算法:如利用用户的购买行为建立他对产品的偏好相似性,依此向用户推荐产品并预测产品的销售情况,从而加强用户黏性。 推荐系统论文文献综述 第2篇 专业:英语 班级:09英语3班 作者:章晓丽 指导老师:付林艳 摘要:本文客观地归纳了学者对于各种英语教学法的研究、系统的总结了互动式教学法在大学英https://www.99xueshu.com/w/filesxh7iolw.html
17.好友推荐算法Hadoophadoop好友推荐系统好友推荐算法Hadoop hadoop好友推荐系统 项目总目录:基于Hadoop的好友推荐系统项目综述 一、数据表的初始化 1、前端展示层 jsp页面 用户登录表 集群配置表 初始化 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. jshttps://blog.51cto.com/u_16213594/9078474
18.FCS期刊动态《计算机科学前沿》2021年第一期精彩文章—论文—科学网基于密度的聚类算法综述 Xingxing HAO, Jing LIU, Yutong ZHANG, Gustaph SANGA Mathematical model and simulated annealing algorithm for Chinese high school timetabling problems under the new curriculum innovation 面向“新高考”的高中“走班”排课问题建模及模拟退火算法 https://news.sciencenet.cn/htmlpaper/2021/4/202142112434356462946.shtm
19.计算机与现代化杂志江西省计算机学会主办2020年第01期关键词:改进余弦相似度 协同过滤 推荐算法 深度因子分解机 传统的协同过滤推荐算法存在数据稀疏情况下分类准确性低的问题,针对于此提出一种基于改进余弦相似度的协同过滤推荐算法,将数据经嵌入层转换为特征矩阵,将对其计算后得到的改进余弦相似度矩阵和单位矩阵之间的均方误差作为损失函数,从而提高推荐算法在数据稀疏情况https://www.youfabiao.com/jsjyxdh/202001/