基于非负矩阵分解的Slope One算法
董立岩,金佳欢,方塬程,王越群,李永丽,孙铭会

Slope One algorithm based on nonnegative matrix factorization
Li-yan DONG,Jia-huan JIN,Yuan-cheng FANG,Yue-qun WANG,Yong-li LI,Ming-hui SUN
表 3
Tab.3
输入:原有的用户-项目评分矩阵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