基于矩阵分解的并行协同过滤算法研究

基于矩阵分解的并行协同过滤算法研究

ID:32715547

大小:2.95 MB

页数:44页

时间:2019-02-15

基于矩阵分解的并行协同过滤算法研究_第1页
基于矩阵分解的并行协同过滤算法研究_第2页
基于矩阵分解的并行协同过滤算法研究_第3页
基于矩阵分解的并行协同过滤算法研究_第4页
基于矩阵分解的并行协同过滤算法研究_第5页
资源描述:

《基于矩阵分解的并行协同过滤算法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、哈尔滨工业大学工学硕士学位论文变为通用的计算工具。GPU的线程具有高度并行的能力以及内部显存提供了极高的传输带宽,因此这使得GPU可以做更大规模数据的并行计算。型号为NVIDIAGTX280GPU芯片的带宽是主流CPU的4倍,而单精度浮点运算速度是最顶级的IntelCorei7处理器的13倍之多[5]。在各大厂商的技术支持下,特别是NVIDIA公司推出的CUDA并行库后,基于GPU的多线程编程不再是一项复杂的工作,开发者可以通过CUDASDK根据硬件的特性编写出高性能的并行程序[7]。最新的CUDA版本为CUDA6.5。GPU强大的并行运算能力为本文解决海量数据下协

2、同过滤算法并行化提出了一个新颖的解决思路。综上所述,在海量电子商务数据背景下,借用GPU高速并行运算能力及结合协同过滤算法推荐精度高的特点,对协同过滤算法及其并行化的研究无论在科学研究还是在实际工程应用中都有重要的价值。所以本课题以协同过滤算法并行化为核心,基于GPU实现以达到高性能低成本的目的,这是本课题的研究意义所在。1.2国内外相关研究和综述协同过滤算法已经成为所有推荐技术中精度最高且最实用的方法之一,很多的学术工作者都在研究这中技术且工业应用系统都使用这种方法。其基本思想是假设用户过去喜欢的物品,其在将来也会喜欢,通过用户过去的购买等历史信息来为其做个性化推

3、荐[1]。通常,这种方法首先分析已经收集到的用户-物品所呈现出的相互作用,然后利用这些相互作用为用户产生物品推荐。在文献[2]中,Breese等人认为协同过滤算法可以分为两种即基于内存的协同过滤算法(Memory-basedCollaborativeFiltering)和基于模型的协同过滤算法(Model-basedCollaborativeFiltering)。1.2.1协同过滤算法的研究现状(1)基于内存的协同过滤算法其主要利用用户的相似用户或者物品的相似物品来进行推荐,其典型代表是KNN算法即K近邻算法。在推荐系统中,KNN起初是基于用户的(User-User

4、)[6],即用户对物品的评分是利用与之相似的用户的评分而计算得到。此类算法的假设是如果两个用户过去的行为相似,那么他们未来的行为也会相似。后来,研究者有提出了基于物品的KNN[7,8],即用户对物品的评分是通过与之购买的历史物品相似的物品而计算得到。此类算法的假设是如果用户过去会购买这个物品,现在及将来仍然会购买它。这两类算法在推荐系统的研究及应用中备受关注,因为它们不但简单容易理解,而且能获得较好的效果。-2-哈尔滨工业大学工学硕士学位论文K近邻模型一般主要有计算用户或物品的相似度,然后选择K个最相似的用户或物品,最后计算预测评分三个步骤。相似度计算方面,在文献[

5、8]中介绍的常用的方法有Pearson系数,Cosine距离,AdjustedCosine距离等等。在邻居的选择方面,有局部邻居法和全局邻居法两种方法。其中,局部邻居法是通过选择与用户或者物品最相似的K个用户或者物品,全局邻居法是利用所有的用户或者物品与推荐用户或者物品相似性的软选择方法。在预测评分的产生方面,通产采用对获得的邻居加权平均的办法或者线性差值的办法。为了使邻居模型达到更好的预测效果,研究者从不同角度提出各种方法来改良KNN算法,如Bell等建议使用压缩的方法来改进所计算出的相似度的可靠[9]。在文献[10]中Toscher和Jahrer建议重新放缩计算

6、来的相似度来提高预测精度。在文献[11]中,Bell和Koren介绍了一个新方法来改进KNN。(2)基于模型的协同过滤算法其以用户对众多物品的各种评分信息来训练模型,并用该训练模型来产生预测结果。常用的方法有受限玻尔兹曼机(RestrictedBoltzmannMachine),因子模型,贝叶斯模型,线性回归模型和最大熵模型等等。受限玻尔兹曼机是一种两层无向图模型,其中一层是可视化单元(VisibleUnits)和一层隐藏单元(HiddenUnits)[12]。Salakhutdinov等[13]于2007年将受限玻尔兹曼机引入协同过滤问题中,用以解决Netflix

7、问题,受到了学者的关注[14,15]。然而,该方法有一个很重要的缺点,就是模型中拥有大量的参数,这样会很容易引起过拟合问题从而影响模型的预测精度。因子模型的基本思想是通过矩阵分解等方法将用户或者是物品表示到因子空间,然后据此去预测和推荐。其基本假设是,每个用户的特征可以由若干因子刻画,而每个物品的特征可以同样使用相同数量的因子来表示,当用户特征与物品特征相吻合时,用户会对该物品较好的评价。SimonFunk首次采用矩阵分解的因子模型来解决Netflix问题,并获得了较好的效果[16]。后来很多学者又进一步探索了矩阵分解方法的概率解释[17]及其扩展[18,19]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。