基于交替最小二乘协同过滤算法的推荐系统
本文选题:推荐系统 切入点:基于模型的协同过滤 出处:《北京交通大学》2017年硕士论文 论文类型:学位论文
【摘要】:在当今信息爆炸时代,Web是获取任何信息的最佳来源或就某件事做出决策的重要途径。人们在做出某项决定之前像购买任何产品,预订电影票等都或多或少受到来自Web推荐的影响。由此可见,在这种情况下,推荐系统发挥重要作用。推荐系统已经广泛运用在各个领域像电子商务,电影,音乐,搜索引擎和新闻网站等等。它的设计初衷就是基于用户的长期或短期喜好给它的所有注册用户和潜在用户推荐符合他们自己兴趣的产品,包括组合选择。而这些用户喜好可以分为显式信息和隐式信息。由于隐式信息过于隐晦,需要推荐系统本身自发去收集和挖掘,而这些隐式信息往往存在于用户过去的购买记录,用户过去的浏览网站,用户曾经点击的链接,浏览器cookies甚至地理位置信息。显式信息就比隐式信息体现用户的喜好显著的多。显式信息采用的是有效的反馈,比如说购买或使用过该项目后的一次用户评分。综上所述,我们就能将用户喜好数据化表示成用户评分记录,以用户-物品矩阵的形式存储。协同过滤是推荐系统中众所周知和最广泛的技术之一,不仅在学术界得到了深入的研究,而且在工业界也有广泛的应用。其基本思想是根据用户的偏好来预测用户感兴趣的项目。并且由于在电子商务中精准推荐的出色表现,该项技术已在该领域得到成熟的运用。协同过滤算法可以简单分为两类,一类是基于近邻的协同过滤算法,还有一类是基于模型的协同过滤算法。一、基于近邻的协同过滤算法。在这个算法中还需再细分,基于用户的协同过滤算法和基于物品的协同过滤算法。他们的基本思想都是需充分运用相似用户或相似物品构成的近邻组合,去挖掘他们近邻组合的信息来给近邻组合的本体-被推荐的对象来进行符合他的兴趣物品推荐。在基于物品的协同过滤算法中,关于近邻组合的定义是由不同用户打分产生的有着相同或相似分数的物品集合。然后系统推定用户喜欢和他以前喜欢的东西相似的东西—近邻集合,进行打分。在基于用户的协同过滤算法中,对于近邻组合的定义是一组对同一个物品打分相同或类似的用户集合。该算法的主要思想是为了将有着相同或相似的兴趣爱好的用户聚集在一起。因为对于一个物品,用户甲是存在潜在可能性喜欢在过去记录中有着相同或相似爱好的用户乙喜欢的商品。鉴于该算法必须对所有用户的所有商品的评分数据进行处理才能对单个用户进行预测推荐,所以该算法提出了严重的可扩展性问题。倘若存在海量的用户、海量的项目以及海量的用户对物品的评分记录,此法不适合实时推荐系统。此外该法比推荐系统中的基于模型的协同过滤的推荐算法更加敏感。二、基于模型的协同过滤算法。不同于基于近邻的协同过滤算法直接采用用户评分矩阵来学习预测模型进而产生推荐的方法,基于模型的协同过滤算法的模型建立过程是由不同的机器学习算法如贝叶斯网络,神经网络和奇异值分解进行学习预测模型进而给单个用户产生推荐结果。例如在线系统需要高效可用性和低时延的响应时间,因为它们必须协同合作并快速处理来自所有用户活动所产生的数据流,进而产生推荐结果。而所有这些过程都必须在用户等待几秒的时间里开始并结束。因为推荐算法会选择的最符合用户兴趣的物品,这当然必须在用户浏览网站时向用户显示。继而就有需要服务的用户数量越多,要推荐的商品越多,所产生的计算量继而会随之增大大,从而增加生成给每个用户建议所需的时间。为了解决这个问题,一些学者提出了一类快速简单的基于模型的协同过滤算法,称为潜在因子模型。他们试图确定解释观察到的用户评分的相关特征,也被称为潜在因素。这些功能或者说是潜在因素可以解释为用户的偏好和推荐的项目的特征。充分使用这些潜在因素,可以推断出用户的偏好,并为他或她推荐符合自己兴趣的物品。而成功对潜在因素建模的关键技术是矩阵分解。由于基于模型的协同过滤算法它们结合了可扩展性和预测准确性,因此它们已经在实时推荐系统中得到广泛运用。此外,基于模型的协同过滤算法它们对不同现实实际情况建模的灵活性提供了不同的建模方法。因为它们允许并入附加信息,如隐含反馈,时间效应和置信水平,这样使得会优于基于近邻的协同过滤算法产生推荐结果。可扩展性和高性能也是一个推荐系统的重要指标,因为计算的复杂度会随用户和物品的增多而有指数爆炸性增长。考虑到推荐算法的效率,Map-Reduce的编程模型在对于机器学习的算法上并没有体现出很好的优势,原因在于机器学习的算法需要Map-Reduce编程框架随着迭代的次数而不断进行在磁盘进行读写的I/O操作。基于上述的现状,Apache Spark提出了基于内存的处理大数据的快速通用引擎。Spark是在Map-Reduce上发展而来的,保留了分布式并行计算的特点并改进了 Map-Reduce的明显缺陷。Spark是将中间数据保存在了内存中,迭代运算效率大大提高;其次Spark提出弹性分布式数据集RDD的抽象,达到了提高了自身对数据的容错性;最后,Spark对于数据集的操作没有像Hadoop一样只提供了 Map和reduce的操作。大致可以分为两类,一类是转化(Transformations)操作,一类是执行(Actions)操作,对于使用者提供了很好的友好性。本文工作目标是能够充分运用Spark自带的机器学习库构建并实现基于最小二乘法的协同过滤系统。交替最小二乘算法(ALS)可以随着数据量规模的增大而对其进行并行和优化处理。在现实数据中,用户评分矩阵往往都是比较稀疏的,这给计算并推荐产生巨大的计算压力,但交替最小二乘算法能克服这点。在实验中,本文会比较部署在Linux单节点和部署在Linux集群的推荐效果。实验中使用的数据集是MovieLens。本论文的贡献如下:1)介绍了现有的基本推荐算法,比较了各个算法之间的优缺点以及适应的场景。结合自身工作的特点,本文选取了适合自己的工作场景的协同过滤算法。2)本文根据大数据平台Spark的实验要求,搭建了一个主节点,两个附节点的实验集群。各个节点安装的操作系统版本是Ubuntu 16.04 LTS.1,使用HDFS存储数据集并保存计算中的输出结果,其中Hadoop的安装版本是2.7.0,Spark快速通用大数据计算平台安装的版本是1.6.1.3)本文在Spark大数据处理平台上使用Scala编程语言实现交替最小二乘算法(ALS)。实验中的数据集是来自电影领域的公开发布的MovieLens数据集。首先,笔者了解了公开MovieLens数据集的相关资料并为其找到最适合的ALS模型,换句话说,就是本文使用不同参数值的组合在公开数据集MovieLens训练了交替最小二乘模型,进而发现在测试集上具有较低均方根误差(RMSE)的组合。充分使用训练出且优化的参数来得到交替最小二乘法(ALS)模型。本文采用的实验评价标准是根据测试集上的执行时间和精度结果呈现实验结果的好坏。实验结果表明,通过使用Spark的MLlib库实现的最佳匹配交替最小二乘模型展现了比较好的性能。该解决方案具有更好的性能。对于MovieLens数据集,测试集上的均方根误差(RMSE)为0.800689025。本文还继续在实验研究中增加了具有可扩展性实验,换句话说就是在搭建的三台机器的实验集群上运行训练好的最佳参数交替最小二乘模型。本文作者发现结果非常有利于Spark,因为最小二乘法(ALS)在大数据方面展现的计算加速能力十分可观,结果就是采用MovieLens数据集在搭建的三台机器的实验集群上的训练时间比在单节点上的训练时间上更快。一台单节点计算机上的实验推荐的准确度也令人满意。
[Abstract]:......
【学位授予单位】:北京交通大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP391.3
【相似文献】
相关期刊论文 前10条
1 ;电商推荐系统进阶[J];IT经理世界;2013年11期
2 米可菲;张勇;邢春晓;蔚欣;;面向大数据的开源推荐系统分析[J];计算机与数字工程;2013年10期
3 脱建勇;王嵩;李秀;刘文煌;;精品课共享中的推荐系统框架与实现[J];计算机工程与设计;2006年17期
4 苏冠贤;张丽霞;林丕源;刘吉平;;生物信息学推荐系统的设计与实现[J];计算机应用研究;2007年05期
5 王改芬;;推荐系统研究综述[J];软件导刊;2007年23期
6 叶群来;;营销与网络推荐系统[J];电子商务;2007年10期
7 李媚;;个性化网络学习资源推荐系统研究[J];福建电脑;2008年12期
8 潘冉;姜丽红;;基于经济学模型的推荐系统的研究[J];计算机应用与软件;2008年03期
9 刘鲁;任晓丽;;推荐系统研究进展及展望[J];信息系统学报;2008年01期
10 刘小燕;陈艳丽;贾宗璞;沈记全;;基于增强学习的旅行计划推荐系统[J];计算机工程;2010年21期
相关会议论文 前8条
1 张燕;李燕萍;;基于内容分析和点击率记录的混合音乐推荐系统[A];2009年通信理论与信号处理学术年会论文集[C];2009年
2 赵欣;寇纲;邬文帅;卢艳群;;基于时间密集性的推荐系统攻击检测[A];第六届(2011)中国管理学年会论文摘要集[C];2011年
3 张玉连;张波;张敏;;改进的个性化信息推荐系统的设计与实现[A];2005年全国理论计算机科学学术年会论文集[C];2005年
4 王君;许洁萍;;层次音乐推荐系统的研究[A];第18届全国多媒体学术会议(NCMT2009)、第5届全国人机交互学术会议(CHCI2009)、第5届全国普适计算学术会议(PCC2009)论文集[C];2009年
5 潘宇;林鸿飞;杨志豪;;基于用户聚类的电子商务推荐系统[A];第三届学生计算语言学研讨会论文集[C];2006年
6 尤忠彬;陈越;张英;朱扬勇;;基于Web服务的技术转移平台推荐系统研究[A];第二十二届中国数据库学术会议论文集(技术报告篇)[C];2005年
7 王国霞;刘贺平;李擎;;二部图影射及其在推荐系统中的应用[A];第25届中国控制与决策会议论文集[C];2013年
8 王雪;董爱华;吴怡之;;基于RFID技术的智能服装推荐系统设计[A];2011年全国电子信息技术与应用学术会议论文集[C];2011年
相关重要报纸文章 前2条
1 ;大数据如何“落地”[N];中国新闻出版报;2014年
2 本报记者 邹大斌;大数据:电商新武器[N];计算机世界;2012年
相关博士学位论文 前10条
1 周魏;推荐系统中基于目标项目分析的托攻击检测研究[D];重庆大学;2015年
2 田刚;融合维基知识的情境感知Web服务发现方法研究[D];武汉大学;2015年
3 胡亮;集成多元信息的推荐系统建模方法的研究[D];上海交通大学;2015年
4 孙丽梅;Web-based推荐系统中若干关键问题研究[D];东北大学;2013年
5 郑麟;基于属性提升与偏好集成的上下文感知推荐[D];武汉大学;2017年
6 于鹏华;数据数量与质量敏感的推荐系统若干问题研究[D];浙江大学;2016年
7 王宏宇;商务推荐系统的设计研究[D];中国科学技术大学;2007年
8 杨东辉;基于情感相似度的社会化推荐系统研究[D];哈尔滨工业大学;2014年
9 曹渝昆;基于神经网络和模糊逻辑的智能推荐系统研究[D];重庆大学;2006年
10 王立才;上下文感知推荐系统若干关键技术研究[D];北京邮电大学;2012年
相关硕士学位论文 前10条
1 朱孔真;基于云计算的电子商务智能推荐系统研究[D];武汉理工大学;2014年
2 郭敬泽;基于赋权评分和Dpark的分布式推荐系统研究与实现[D];天津理工大学;2015年
3 周俊宇;信息推荐系统的研究与设计[D];江南大学;2015年
4 李炜;基于电子商务平台的保险推荐系统的设计与实现[D];复旦大学;2013年
5 车丰;基于排序主题模型的论文推荐系统[D];大连海事大学;2015年
6 秦大路;基于因式分解机模型的上下文感知推荐系统研究[D];郑州大学;2015年
7 徐霞婷;动态路网监控与导航推荐系统的设计与实现[D];苏州大学;2015年
8 黄学峰;基于Hadoop的电影推荐系统研究与实现[D];南京师范大学;2015年
9 路小瑞;基于Hadoop平台的职位推荐系统的设计与实现[D];上海交通大学;2015年
10 李爱宝;基于组合消费行为分析的团购推荐系统的设计与实现[D];哈尔滨工业大学;2015年
,本文编号:1590103
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/1590103.html