计算机科学 ›› 2019, Vol. 46 ›› Issue (8): 106-110.doi: 10.11896/j.issn.1002-137X.2019.08.017

• 2018 全国高性能计算学术年会 • 上一篇    下一篇

基于GPU加速和非负矩阵分解的并行协同过滤推荐算法

康林瑶, 唐兵, 夏艳敏, 张黎   

  1. (湖南科技大学计算机科学与工程学院 湖南 湘潭411201)
  • 收稿日期:2018-09-15 出版日期:2019-08-15 发布日期:2019-08-15
  • 通讯作者: 唐兵(1982-),男,博士,副教授,主要研究方向为分布式计算与大数据,E-mail:btang@hnust.edu.cn
  • 作者简介:康林瑶(1995-),女,硕士生,主要研究方向为大数据,E-mail:kanglinyao@qq.com;夏艳敏(1995-),女,硕士生,主要研究方向为服务计算与大数据;张黎(1981-),女,硕士,讲师,主要研究方向为大数据
  • 基金资助:
    国家自然科学基金项目(61602169),湖南省自然科学基金项目(2018JJ2135),湖南省教育厅科研项目(18A186)

GPU-accelerated Non-negative Matrix Factorization-based Parallel Collaborative Filtering Recommendation Algorithm

KANG Lin-yao, TANG Bing, XIA Yan-min, ZHANG Li   

  1. (School of Computer Science and Engineering,Hunan University of Science and Technology,Xiangtan,Hunan 411201,China)
  • Received:2018-09-15 Online:2019-08-15 Published:2019-08-15

摘要: 协同过滤(CF)已经在推荐系统中得到了广泛的应用。但是随着用户和项目规模的增大,协同过滤算法的运行效率以及结果的正确性会大大降低。针对这一问题,文中提出了一种基于GPU的非负矩阵分解(NMF)的并行协同过滤方法,充分利用NMF数据降维和特征提取的优势以及CUDA的多核并行计算模式,进行维数简化和用户的相似性计算。该算法在提高精确性的同时降低了计算耗费,可以较好地解决协同过滤推荐系统所存在的稀疏性和扩展性等问题,快速产生精确的个性化推荐结果。基于NVIDIA CUDA设备和真实的MovieLens用户评分数据集,将所设计的并行NMF协同过滤算法与传统的基于用户的和基于物品的协同过滤算法进行了比较,实验结果表明,所设计的并行NMF协同过滤算法达到了较快的处理速度以及较高的推荐准确率。

关键词: GPU, 非负矩阵分解, 推荐算法, 协同过滤

Abstract: Collaborative filtering (CF) is widely used in recommendation systems.However,with the increase of user and item number,the efficiency of collaborative filtering algorithm and the correctness of the result will be greatly reduced.To solve this problem,this paper proposed a GPU-accelerated non-negative matrix factorization(NMF)-based parallel collaborative filtering algorithm.By utilizing the advantages of data dimensionality reduction and feature extraction of NMF,as well as the multi-core parallel computing mode of CUDA,dimension reduction and user similarity are realized.The proposed algorithm improves the recommendation accuracy and also reduces the computational cost,which can better solve the sparseness and scalability of CF-based recommendation system,and generate accurate and persona-lized recommendations quickly.The new algorithm was evaluated on a NVIDIA CUDA device using real MovieLens datasets.Experimental results show that,NMF-based collaborative filtering outperforms traditional User-based and Item-based CF with higher processing speed and higher accuracy recommendations

Key words: Collaborative filtering, GPU, Non-negative matrix factorization, Recommendation algorithm

中图分类号: 

  • TP391
[1]DENG A L,ZHU Y Y,SHI B L.Collaborative filtering Recommendation algorithm based on project score prediction [J].Journal of Software,2003,14(9):1621-1628.(in Chinese) 邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003,14(9):1621-1628.
[2]LEE D D H,SEUNG S.Learning the parts of objects by nonnegative matrix factorization [J].Nature,1999,401(6755):788-791.
[3]LIU J F,GUO L.Comparison and analysis of several matrix multiplications on CPU and GPU [J].Computer Engineering and Applications,2011,47(19):9-11,23.(in Chinese) 刘进锋,郭雷.CPU与GPU上几种矩阵乘法的比较与分析[J].计算机工程与应用,2011,47(19):9-11,23.
[4]CHENG H,ZHANG Y Q,ZHANG X Y,et al.Implementation and performance analysis of CPU-GPU parallel matrix multiplication [J].Computer Engineering,2010,36(13):24-26,29.(in Chinese) 程豪,张云泉,张先轶,等.CPU-GPU 并行矩阵乘法的实现与性能分析[J].计算机工程,2010,36(13):24-26,29.
[5]LIU W X,ZHENG N N,YOU Q B.Non-negative matrix factorization and its application in pattern recognition [J].Chinese Science Bulletin,2006,51(3):241-250.(in Chinese) 刘维湘,郑南宁,游屈波.非负矩阵分解及其在模式识别中的应用[J].科学通报,2006,51(3):241-250.
[6]WANG K J,ZUO C T.Research progress of feature extraction techniques for nonnegative matrix factorization [J].Application Research of Computers,2014,31(4):970-975.(in Chinese) 王科俊,左春婷.非负矩阵分解特征提取技术的研究进展[J].计算机应用研究,2014,31(4):970-975.
[7]CHEN Y H,REGE M,DONG M,et al.Non-negative matrix factorization for semi-supervised data clustering [J].Knowledge and Information Systems,2008,17(3):355-379.
[8]KOREN Y,BELL R,VOLINSKY C.Matrix factorization techniques for recommender systems [J].IEEE Computer,August 2009,42(8):40-49.
[9]YANG Y,XIANG Y,XIONG L.Collaborative filtering recommendation algorithm based on matrix decomposition and user neighbor model[J].Computer Application,2012,32(2):395-398.(in Chinese) 杨阳,向阳,熊磊.基于矩阵分解与用户近邻模型的协同过滤推荐算法[J].计算机应用,2012,32(2):395-398.
[10]LI G,LI L.Collaborative filtering algorithm based on matrix decomposition[J].Computer Engineering and Applications,2011,47(30):4-7.(in Chinese) 李改,李磊.基于矩阵分解的协同过滤算法[J].计算机工程与应用,2011,47(30):4-7.
[1] 程章桃, 钟婷, 张晟铭, 周帆.
基于图学习的推荐系统研究综述
Survey of Recommender Systems Based on Graph Learning
计算机科学, 2022, 49(9): 1-13. https://doi.org/10.11896/jsjkx.210900072
[2] 王冠宇, 钟婷, 冯宇, 周帆.
基于矢量量化编码的协同过滤推荐方法
Collaborative Filtering Recommendation Method Based on Vector Quantization Coding
计算机科学, 2022, 49(9): 48-54. https://doi.org/10.11896/jsjkx.210700109
[3] 孙晓寒, 张莉.
基于评分区域子空间的协同过滤推荐算法
Collaborative Filtering Recommendation Algorithm Based on Rating Region Subspace
计算机科学, 2022, 49(7): 50-56. https://doi.org/10.11896/jsjkx.210600062
[4] 宗迪迪, 谢益武.
基于法线迭代的模型中轴生成方法
Model Medial Axis Generation Method Based on Normal Iteration
计算机科学, 2022, 49(6A): 764-770. https://doi.org/10.11896/jsjkx.210400050
[5] 蔡晓娟, 谭文安.
一种改进的融合相似度和信任度的协同过滤算法
Improved Collaborative Filtering Algorithm Combining Similarity and Trust
计算机科学, 2022, 49(6A): 238-241. https://doi.org/10.11896/jsjkx.210400088
[6] 何亦琛, 毛宜军, 谢贤芬, 古万荣.
基于点割集图分割的矩阵变换与分解的推荐算法
Matrix Transformation and Factorization Based on Graph Partitioning by Vertex Separator for Recommendation
计算机科学, 2022, 49(6A): 272-279. https://doi.org/10.11896/jsjkx.210600159
[7] 郭亮, 杨兴耀, 于炯, 韩晨, 黄仲浩.
基于注意力机制和门控网络相结合的混合推荐系统
Hybrid Recommender System Based on Attention Mechanisms and Gating Network
计算机科学, 2022, 49(6): 158-164. https://doi.org/10.11896/jsjkx.210500013
[8] 汪晋, 刘江.
基于GPU的并行DILU预处理技术
GPU-based Parallel DILU Preconditioning Technique
计算机科学, 2022, 49(6): 108-118. https://doi.org/10.11896/jsjkx.210300259
[9] 蒲岍岍, 雷航, 李贞昊, 李晓瑜.
增强列表信息和用户兴趣的个性化新闻推荐算法
Personalized News Recommendation Algorithm with Enhanced List Information and User Interests
计算机科学, 2022, 49(6): 142-148. https://doi.org/10.11896/jsjkx.210400173
[10] 王美玲, 刘晓楠, 尹美娟, 乔猛, 荆丽娜.
基于评论和物品描述的深度学习推荐算法
Deep Learning Recommendation Algorithm Based on Reviews and Item Descriptions
计算机科学, 2022, 49(3): 99-104. https://doi.org/10.11896/jsjkx.210200170
[11] 董晓梅, 王蕊, 邹欣开.
面向推荐应用的差分隐私方案综述
Survey on Privacy Protection Solutions for Recommended Applications
计算机科学, 2021, 48(9): 21-35. https://doi.org/10.11896/jsjkx.201100083
[12] 官铮, 邓扬琳, 聂仁灿.
光谱重建约束非负矩阵分解的高光谱与全色图像融合
Non-negative Matrix Factorization Based on Spectral Reconstruction Constraint for Hyperspectral and Panchromatic Image Fusion
计算机科学, 2021, 48(9): 153-159. https://doi.org/10.11896/jsjkx.200900054
[13] 赵金龙, 赵中英.
基于异质信息网络表示学习与注意力神经网络的推荐算法
Recommendation Algorithm Based on Heterogeneous Information Network Embedding and Attention Neural Network
计算机科学, 2021, 48(8): 72-79. https://doi.org/10.11896/jsjkx.200800226
[14] 詹皖江, 洪植林, 方路平, 吴哲夫, 吕跃华.
基于对抗性学习的协同过滤推荐算法
Collaborative Filtering Recommendation Algorithm Based on Adversarial Learning
计算机科学, 2021, 48(7): 172-177. https://doi.org/10.11896/jsjkx.200600077
[15] 邵超, 宋淑米.
基于信任关系下用户兴趣偏好的协同过滤推荐算法
Collaborative Filtering Recommendation Algorithm Based on User Preference Under Trust Relationship
计算机科学, 2021, 48(6A): 240-245. https://doi.org/10.11896/jsjkx.200700113
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!