基于Apache Spark的增强型奇异协同过滤推荐系统

来源 :北京交通大学 | 被引量 : 1次 | 上传用户:nan13519927
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,由于互联网用户数量的增加和互联网技术的进步,数据量以前所未有的速度爆炸式增长。这些用户不仅可以从互联网上获得数据,还可以通过Facebook,WhatsApp,QQ,微信,Twitter,YouTube等社交媒体服务,通过搜索,博客和发布图片和视频等各种活动生成大量数据。人们不断被来自社交媒体的电子邮件或消息所困扰。这将会导致信息超载,即由于存在太多信息而导致人们难以理解问题并做出决策。每分钟,娱乐媒体,视频监控摄像机,传感器,手机,电信设备,医疗保健数据库,商业交易,社交媒体以及机器对机器数据中的信息都会产生大量数据。克里斯安德森2006年在他名为“长尾巴”的书中提到,“我们正在离开信息时代,进入推荐时代”。推荐系统是向用户提供有兴趣物品建议的工具和技术。推荐系统提供的建议旨在帮助用户进行各种决策过程,例如在亚马逊,阿里巴巴和eBay网上购物时购买什么商品;在Google新闻和Yahoo!新闻上阅读哪些新闻报道;在Last.fm,Pandora和Spotify等在线音乐流媒体网站上收听什么音乐;在YouTube和Netflix上观看哪些视频或电影;阅读什么书或什么研究论文,甚至推荐哪些人给其他社交网络如Facebook等。从20多年前由马龙,格兰特,图巴克,布罗布斯特和科恩创建的第一个使用社交过滤的系统Information Lens开始,在线推荐书籍,歌曲或电影已经走过了很长的历史。如今,推荐系统可以在我们经常访问的大多数基于互联网的应用程序中找到,帮助我们找到我们可能感兴趣的信息,同时让我们避免信息过载的问题。目前,推荐系统已经成为不同行业中大多数大公司(例如,亚马逊,Netflix,Google,Facebook,YouTube和Spotify)的必备工具。推荐系统可以为提供商带来的收入的增长,为用户带来体验质量的提升。在Netflix上,2/3的电影都是推荐观看的,推荐为谷歌的新闻点击率(CTR)提高了 38%,在亚马逊35%的销售额来自推荐,在ChoiceStream,如果能找到他们喜欢的音乐,28%的人会购买更多的音乐。推荐系统可以大致分为四大类,即基于内容的推荐系统,基于协作过滤的推荐安系统,基于知识的推荐系统和混合的推荐系统。其中,协作过滤算法(CF)可以分为两大类,称为基于模型的方法和基于记忆的方法。在CF方法中,基于记忆的方法既简单又有效。虽然CF方法已被许多现实世界的巨头组织广泛使用,包括谷歌,Netflix和亚马逊,但没有足够的可以成为用于提供推荐的细节。CF技术使用评分数据库(用户-项目矩阵)。传统的基于记忆的CF技术通过利用共同评分项目上的评分来计算两个用户之间的相似度,而忽略仅从任一用户观察到的评分。我们称这些比较评级为双重评级,而非比较评级为单一评级。单一评级协同过滤试图把除了双重评级之外,那些由单一方面用户提供的评级也包含进来。这种技术首先估计单数评级的未分级分数,将其转化为双分级。然后他们执行CF过程。尽管该技术试图通过结合单数评级来解决现有CF的问题,但该方法还忽略了另一个问题,即由不相似的用户或邻居提供的评级。传统的CF和单数CF产生评级预测时都丢弃了由不相似的用户或邻居提供的评级。我们提出的方法与其他方法不同,因为它不仅利用相似用户提供的评级,而且利用不相似的用户或邻居提供的评级。来自不相似用户的评分对所产生的推荐质量同样具有重要的作用。其主要目标是在计算每个用户的相似度并为目标用户生成一个预测时,使用不相似的用户或邻居提供的评级。大多数基于CF的算法都存在数据稀疏性,可扩展性和冷启动的问题。为了克服基于内存的推荐算法的这些缺点,一系列研究集中在增强型奇异协同过滤Enhanced Singular Collaborative Filtering(ESCF)上,旨在寻求更加准确和可扩展的方法。在现实世界的数据集中,用户可能通常只对数千或数百万项目中的一小部分项目提供反馈评级,这往往会导致用户项目评分矩阵变得非常稀疏。当两个用户共同评分的项目数量很少,无法计算两个用户之间的相似度时,像奇异协同过滤这样的方法通过转换单一评级至双重评级来解决数据稀疏和冷启动的问题,然后计算相似度。这种方法可以为数据集生成更多的评分,并在一定程度上解决了数据稀疏性问题,提高了预测的准确性。但是,此类方法在生成预测以提供高质量的推荐时也没有包含不不相似的用户或邻居提供的评分。为了克服这个限制,本文所提出的ESCF方法利用由相似用户以及不相似用户提供的所有评级来为目标用户提供高质量的推荐。我们还进一步证明,我们提出的方法可以比现有的传统CF方法更好地在冷启动条件下工作。在CF算法中,计算用户的相似性是昂贵的,因为需要搜索整个数据库以找到目标用户的相似邻居。它的计算量随着项目和用户数量的增长而线性增长。因此,许多算法要么牺牲了速度,要么需要额外的资源,如计算能力或内存。这就是所谓的可扩展性问题,这也是协作过滤方法的主要挑战之一。我们通过在分布式并行计算框架Apache Spark中实现提出的算法解决了可伸缩性问题。本论文的主要贡献是利用包括单一评分(仅由单一方面用户提供的评级)和不相似的用户或邻居提供的评分在内的所有评分方法来解决推荐系统中准确性,稀疏性和冷启动方面的挑战。本文的贡献如下:(1)基于ESCF(Enhanced Singular Collaborative Filtering)的推荐系统(2)提高系统在数据稀疏和冷启动条件下的性能(3)提高了准确性和(4)分布式实现和降低计算复杂度我们提出的ESCF算法是基于Apache Spark平台,使用Scala编程语言实现的。Apache Spark是一款通用的开源数据处理引擎,适用于各种环境。为了展示我们提出的方法的有效性,在实验中使用了两个基准数据集(MovieLens和MovieTweetings)。MovieLens数据集是推荐研究中使用最广泛的数据集。它包含100,000个评分,评分在1至5之间。这些评分是943个用户对1,682部电影给出的评分。MovieTweetings则是一个由Twitter上结构合理的推文中包含的电影评级组成的数据集。我们已经使用了前15万封推文。它包含150,000个评分,评分在1至10之间。这些评分是21645个用户对12989部电影给出的评分。在我们的实验中,我们使用那些至少评论过50部电影的用户的评分。我们使用目前学术研究中用来评价推荐系统最流行的方法做了一个离线实验,因为这种方法相对简单并且容易实现,而且能够更快地进行基准测试和比较推荐方法。为了执行离线实验,我们首先将我们的数据集随机分成80%的训练集和20%的测试集,分别用于建立推荐模型和评估生成的推荐。然后,我们基于相同数据集上的输出比较不同方法的RMSE和MAE。因此,一旦收集到数据,评估就不受任何外部变量的影响。我们将传统的CF和奇异协同过滤(SingCF)的错误率与增强型CF(ECF)和增强型奇异协同过滤(ESCF)的错误率进行比较。相似邻居范围的大小K从5,10,20,40到60不等。所有实验分两个阶段进行:首先,我们在单独的工作站上进行实验。在实验的第二阶段,我们构建了一个集群计算平台。第一个观察到的结果是所有方法的性能都会随着邻居数量的增加而提高,这也导致了运行时间和内存需求的显着增加。例如,比较使用5和60个邻居的CF,RMSE从1.2965降低到1.0754。第二个观察到的结果是,当利用不相似用户提供的评级时,我们必须考虑更多的邻居来获得更好的性能。例如,具有40个邻居的不相似用户的ECF的性能远远好于具有10个邻居的ECF的性能。从结果中得出的另一个结论是基于奇异协同过滤的方法优于其他传统CF方法。这与SingCF的研究结果一致。总体而言,利用不相似用户(ESCF和ECF)评级的方法的RMSE和MAE要优于不考虑来自不相似用户(CF和SingCF)的评级的方法。就结果而言,我们可以得出结论:将来单一评级与来自于不相似用户的传统协同过滤相结合可以改善基于用户的协同过滤方法的结果。更具体地说,我们已经证明,将基于不相似用户的CF或SingCF和基于相似性的CF或SingCF相结合可以获得最佳结果。最后,所提出的ESCF方法可以获得比传统CF方法更好的结果,因为它利用不相似用户给出的评级以及单一评级。我们还对冷启动用户进行了实验,以评估MovieLens数据集中冷启动条件时推荐方法的性能。冷启动用户是其评分少于5个项目的用户。通常,用户仅为小部分项目提供评分。因此,对冷启动用户的高质量推荐变得非常重要。在MovieLens数据集中,每个用户至少提供了 20个项目的评分,因此我们通过为每个用户随机选择5个评分来人为创建冷启动条件。实验表明,传统的CF方法在冷启动条件下可以产生70%左右的预测,而我们提出的方法可以在相同的冷启动条件下产生高达100%的预测。此外,实验表明,我们提出的方法可以产生更好的MAE和RMSE值,这与冷启动用户的传统CF和奇异CF方法相同。因此,我们提出的方法可以比传统的CF方法更好地处理冷启动条件。虽然所提出的推荐方法提高了推荐的质量,但其缺点在于它带来了计算复杂度的额外成本。为了减少缺失值的计算复杂度,用户和邻居生成之间的相似度的计算是离线的。我们进一步使用Apache Spark平台并行计算多个实例,这样可以加快计算速度,使算法更加适用于大规模数据集。实验表明,该方法可以超越一些传统的基于内存的推荐方法和基于奇异CF的推荐方法。通过实验,我们所提出的方法可以在数据稀疏且存在冷启动条件的情况下提高现有CF方法的性能。尽管本文着重于协作过滤,但对于具有矩阵形式的稀疏数据,本文提出的方法是非常普遍的。
其他文献
中国经改革开放至今以来,社会风貌焕然一新,已经向全世界证明自己的实力。当今,随着与世界的紧密接轨,中国的经济、政治、文化、社会、生态呈现不同的活力,现代化气息越演越
随着医疗信息管理系统的建立与完善,医疗信息逐渐向数字化方向发展,方便了医疗信息的存储、传输和共享。网络技术与多媒体技术的快速发展也为远程医疗、远程诊断和远程手术提
密码学在经过几十年的研究和发展后,已经取得了许多有意义的成果.其中流密码,也称为序列密码,作为密码体制结构中的一员,也得到了长足的发展和进步.而伪随机序列在流密码中有
无线传感器网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,通过对目标区域的监测将收集到的信息提交给监测人员,由监测人员对信息进行提取分析处理。
目的:探讨分析休克指数、改良休克指数、修正休克指数、年龄休克指数、r SIG休克指数、r SIG/A休克指数在急诊医学科对创伤患者28d死亡率的预测价值,为临床实践提供一定的参考指导意义。方法:收取2016年1月—2017年12月在我院急诊医学科救治的创伤患者的临床资料。(1)将创伤患者以28d预后分为存活组和死亡组,对比存活组和死亡组间患者休克指数、改良休克指数、修正休克指数、年龄休克指数、r
无线传感器网络集成了传感器、网络通信等许多技术,是一种全新的信息获取和处理技术,具有广阔的应用前景。然而在包括定位技术在内的一些关键技术上,仍然存在着很多问题,如何
精细化管理是企业发展到一定程度后必然经历的一个阶段,是企业健康可持续发展的重要保障,是破解企业发展瓶颈的重要手段和重要途径。在物业管理领域引入精细化管理理论,有着重要的理论意义和实践意义,不仅能够丰富精细化理论的内涵,还能够有效帮助物业公司降低成本、服务社会、创造更多的利润和价值。我国精细化管理专家吴宏彪教授在深入研究和广泛调研的基础上,提出了精细化管理的ORTCC模式,指出企业开展精细化管理离不
云计算的发展伴随着安全与隐私问题。传统云安全研究主要集中于云数据以及云用户安全与隐私问题上,对于云服务请求隐私保护这个问题较少涉及,它们的解决方案也不适合。现有较
历史建筑是沧桑历史的有效见证,原址原貌保留具有重要的意义。但是,历史建筑结构由于岁月侵蚀,往往会出现不同程度的损坏;为了将其尽可能长久地保存下来,及时发现隐患、科学指导修缮十分必要。目前,历史建筑的检测方法以人工定期巡检为主,已开展的实时在线监测尚未涉及结构“筋骨”,且二者尚未有效结合,其安全状态评估技术亟待提高和完善。传统的人工巡检主要依靠人工经验进行评估,其结果往往较为粗略,需要结合在线监测提
随着侧扫声纳系统的不断发展,侧扫声纳被广泛应用到各个领域。其快速准确的对水下目标的识别是建立在图像信息提取基础上的。本文基于YellowFin侧扫声纳对特定目标的检测与识