Please wait a minute...
Journal of ZheJiang University (Engineering Science)  2019, Vol. 53 Issue (7): 1349-1353    DOI: 10.3785/j.issn.1008-973X.2019.07.014
Automatic Technology, Computer Technology     
Slope One algorithm based on nonnegative matrix factorization
Li-yan DONG1,2(),Jia-huan JIN1,Yuan-cheng FANG1,Yue-qun WANG1,Yong-li LI3,Ming-hui SUN1,2,*()
1. College of Computer Science and Technology, Jilin University, Changchun 130012, China
2. Key Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education, Jilin University, Changchun 130012, China
3. School of Information Science and Technology, Northeast Normal University, Changchun 130117, China
Download: HTML     PDF(637KB) HTML
Export: BibTeX | EndNote (RIS)      

Abstract  

The good performance of matrix decomposition in solving matrix sparsity was used in order to solve the problem that the Slope One algorithm has low recommendation accuracy in the sparse data set in the collaborative filtering recommendation algorithm. The nonnegative matrix factorization technology was introduced into the dimension reduction of the user-item rating matrix in order to optimize the Slope One algorithm. The original sparse scoring matrix was non-negatively decomposed in order to improve the sparsity of the matrix. The experimental results show that the NMF-Slope One algorithm has a good recommendation effect compared with the original CF algorithm. Parameters were determined for experimentation under conditions of sparse data. The proposed method improves the accuracy and the recommendation quality of the Slope One algorithm under data sparseness.



Key wordsrecommendation system      collaborative filtering      non-negative matrix factorization      Slope One     
Received: 04 September 2018      Published: 25 June 2019
CLC:  TP 301  
Corresponding Authors: Ming-hui SUN     E-mail: dongly@jlu.edu.cn;smh@jlu.edu.cn
Cite this article:

Li-yan DONG,Jia-huan JIN,Yuan-cheng FANG,Yue-qun WANG,Yong-li LI,Ming-hui SUN. Slope One algorithm based on nonnegative matrix factorization. Journal of ZheJiang University (Engineering Science), 2019, 53(7): 1349-1353.

URL:

http://www.zjujournals.com/eng/10.3785/j.issn.1008-973X.2019.07.014     OR     http://www.zjujournals.com/eng/Y2019/V53/I7/1349


基于非负矩阵分解的Slope One算法

针对协同过滤推荐算法中Slope One算法在稀疏数据集中推荐精度低的问题,利用矩阵分解在解决矩阵稀疏性方面的优势,将非负矩阵分解技术引入到用户-项目评分矩阵的降维处理中,将原有的稀疏评分矩阵进行非负分解,改善了矩阵的稀疏性,优化Slope One算法. 从实验数据可以看出,与原始的CF算法进行比较,NMF-Slope One算法有较好的推荐效果. 在数据稀疏的条件下,确定参数进行实验. 实验结果表明,该方法提高了Slope One算法在数据稀疏下的精度和推荐质量.


关键词: 推荐系统,  协同过滤,  非负矩阵分解,  Slope One 
Fig.1 Basic idea of Slope One
输入:原有的用户-项目评分矩阵Rm×n),ks为特征属性个数,steps为迭代次数,a=0.000 2为梯度下降常数,b=0.02用来控制用户特征向量和条目特征向量的比例,用来进行规范化,防止过拟合.
输出:较稠密的用户-项目评分矩阵Rnewm×n
1 for step<steps//迭代次数
2  for i<len(R
3   for j<len(R[i])
4    if R[ij]>0//用户给出了评分
5      eij=R[ij]?P[ijQ[ij]
6     for k<ks
7       P[i][k]=P[i][k]+a(2eij ·Q[k][j]?b·P[i][k])
8       Q[k][j]=Q[k][j]+a(2eij ·P[i][k]?b·Q[k][j])
9     end for
10    end if
11   end for
12  end for
13  式(7)
14 end for
15 sreturn Rnewm×n
Tab.3 
输入:较稀疏的用户-项目矩阵 Rm×n);目标用户 u,目标项目 iks 为特征属性个数,steps 为迭代次数,a=0.000 2 为梯度下降常数,b=0.02 用来控制用户特征向量和条目特征向量的比例,用来进行规范化,防止过拟合.
输出:u对itemi的预测评分pu,i
1 for step<steps//迭代次数
2  for i<len(R
3   for j<len(R[i])
4    if R[ij]>0//用户给定评分
5      eij=R[ij]?P[ijQ[ij]
6     for k<ks
7       P[i][k]=P[i][k]+a(2eijQ[k][j]?bP[i][k])
8       Q[k][j]=Q[k][j]+a(2eijP[i][k]?bQ[k][j])
9     end for
10    end if
11   end for
12  end for
13  式(7)
14 end for
15 根据式(8)构建不同用户的相似度矩阵
16  Nu ← TopK(u
17  N=|Nu|
18  ${\rm{de{v}}}_{i,j} = \frac{{\mathop \sum \limits_{{\rm{user}} \in {N_u}} \left( {{R_{ui}} - {R_{uj}}} \right)}}{N}$
19  ${p_{u,i}} = \frac{{\mathop \sum \limits_{j \in {I_u}} {N_{ij}}\left( {{\rm{de{v}}}_{i,j} + {R_{uj}}} \right)}}{{\mathop \sum \nolimits_{j \in {I_u}} {N_{ij}}}}$
Tab.4 
Fig.2 RMSE values at different k values
Fig.3 MAE values at different k values
算法 RMSE MAE
Bi-Polar Slope One 1.08 1.06
Weighted Slope One 0.98 0.97
NMF-Slope One 0.92 0.92
Tab.1 RMSE values and MAE value of different Slope One algorithms
算法 RMSE MAE
User-Based CF 0.97 0.87
Item-Based CF 1.07 0.92
NMF-Slope One 0.91 0.76
Tab.2 RMSE and MAE value of different CF algorithms
[1]   CACHEDA F, FORMOSO V, FERNáNDEZ D, et al Comparison of collaborative filtering algorithms: Limitations of current techniques and proposals for scalable, high-performance recommender systems[J]. ACM Transactions on the Web, 2011, 5 (1): 1- 33
[2]   LEMIRE D, MACLACHLAN A. Slope One predictors for online rating-based collaborative filtering [C] // Proceedings of the 2005 SIAM International Conference on Data Mining. Philadelphia: Society for Industrial and Applied Mathematics Publications, 2005: 471-475.
[3]   KARYDI E, MARGARITIS K G. Multithreaded implementation of the Slope One algorithm for collaborative filtering [C] // 8th IFIP WG 12.5 International Conference on Artificial Intelligence Applications and Innovations. New York: Springer, 2012: 117-125.
[4]   KOREN Y, BELL R. Advances in collaborative filtering [M]. New York: Springer, 2015: 77-118.
[5]   TIAN S, OU L. An improved Slope One algorithm combining KNN method weighted by user similarity [C] // 17th International Conference on Web-Age Information Management. Berlin: Springer, 2016: 88-98.
[6]   BASU A, VAIDYA J, KIKUCHI H. Perturbation based privacy preserving Slope One predictors for collaborative filtering [C] // 6th IFIP WG 11.11 International Conference on Trust Management VI. New York: Springer, 2012: 17-35.
[7]   MAO C, CHEN J QoS prediction for web services based on similarity-aware Slope One collaborative filtering[J]. Informatica (Slovenia), 2013, 37 (2): 139- 148
[8]   LIU Y, LIU D, XIE H, et al A research on the improved slope one algorithm for collaborative filtering[J]. International Journal of Computing Science and Mathematics, 2016, 7 (3): 245- 253
doi: 10.1504/IJCSM.2016.077865
[9]   SAEED M, MANSOORI E G A new slope one based recommendation algorithm using virtual predictive items[J]. Journal of Intelligent Information Systems, 2018, 50 (3): 527- 547
doi: 10.1007/s10844-017-0470-7
[10]   WANG Q X, LUO X, LI Y, et al Incremental Slope-one recommenders[J]. Neurocomputing, 2018, 272: 606- 618
doi: 10.1016/j.neucom.2017.07.033
[11]   LEE D D, SEUNG H S Learning the parts of objects with non-negative matrix factorization[J]. Nature, 1999, 401 (6755): 788- 791
doi: 10.1038/44565
[12]   ZONG L, ZHANG X, ZHAO L, et al Multi-view clustering via multi-manifold regularized non-negative matrix factorization[J]. Neural Networks, 2017, 88: 74- 89
doi: 10.1016/j.neunet.2017.02.003
[13]   LU S, HONG M, WANG Z A Nonconvex splitting method for symmetric nonnegative matrix factorization: convergence analysis and optimality[J]. IEEE Transactions on Signal Processing, 2017, 65 (12): 3120- 3135
doi: 10.1109/TSP.2017.2679687
[14]   ALQUIER P, GUEDJ B An oracle inequality for quasi-Bayesian nonnegative matrix factorization[J]. Mathematical Methods of Statistics, 2017, 26 (1): 55- 67
doi: 10.3103/S1066530717010045
[15]   HARPER F M, KONSTAN J A The MovieLens datasets: history and context[J]. ACM Transactions on Interactive Intelligent Systems, 2015, 5 (4): 1- 19
[16]   林德军, 孟祥武 基于奇异值分解的Slope One算法[J]. 新型工业化, 2012, 2 (11): 12- 17
LIN De-jun, MENG Xiang-wu Slope One algorithm based on single value decomposition[J]. The Journal of New Industrialization, 2012, 2 (11): 12- 17
[1] Nuo LI,Bin GUO,Yan LIU,Yao JING,Zhi-wen YU. Intelligent commercial site recommendation with neural collaborative filtering[J]. Journal of ZheJiang University (Engineering Science), 2019, 53(9): 1788-1794.
[2] Hong-xia WANG,Jian CHEN,Yan-fen CHENG. Improved collaborative filtering algorithm to revise users' rating by review mining[J]. Journal of ZheJiang University (Engineering Science), 2019, 53(3): 522-532.
[3] Xiao-jun LI,Hong LIU,Han-xiao SHI,Liu-qing ZHU,Ya-hui ZHANG. Deep learning based course recommendation model[J]. Journal of ZheJiang University (Engineering Science), 2019, 53(11): 2139-2145.
[4] YUAN You-wei-, YU Jia, ZHENG Hong-sheng, WANG Jiao-jiao. Cloud workflow scheduling algorithm based on novelty ranking and multi-quality of service[J]. Journal of ZheJiang University (Engineering Science), 2017, 51(6): 1190-1196.
[5] REN Di, WAN Jian, YIN Yu-yu, ZHOU Li, GAO Min. Web services QoS prediction method based on Bayes classification[J]. Journal of ZheJiang University (Engineering Science), 2017, 51(6): 1242-1251.
[6] MAO Yi-yu, LIU Jian-xun, HU Rong, TANG Ming-dong. Collaborative filtering algorithm based on Logistic function and user clustering[J]. Journal of ZheJiang University (Engineering Science), 2017, 51(6): 1252-1258.
[7] JU Bin, QIAN Yun-tao, YE Min-chao. Collaborative filtering algorithm based on structured projective nonnegative matrix factorization[J]. Journal of ZheJiang University (Engineering Science), 2015, 49(7): 1319-1325.
[8] SU Kai, MA Liang-li, SUN Yu-fei, GUO Xiao-ming. Non-negative matrix factorization model for Web service QoS prediction[J]. Journal of ZheJiang University (Engineering Science), 2015, 49(7): 1358-1366.
[9] YUE Ke-qiang, SUN Ling-ling, YOU Bin, LOU Li-heng. Parallelizable identification anti-collision algorithm based on under-determined blind separation[J]. Journal of ZheJiang University (Engineering Science), 2014, 48(5): 865-870.
[10] HU Zhong-kai, ZHENG Xiao-lin, WU Ya-feng, CHEN De-ren. Product recommendation algorithm based on users’ reviews mining[J]. Journal of ZheJiang University (Engineering Science), 2013, 47(8): 1475-1485.