使用svd分解进行矩阵还原做推荐 使用数据集: 1.movielens数据集 2.高斯随机生成两个矩阵,相乘得到低秩矩阵 测试方法: 取矩阵中的一个值,若预测值与真实值误差小于error=0.05认为还原成功。取多个值计算命中率hiting rate。 算法 SVD SVD使用以下方式做矩阵分解: LHS是预测打分。损失函数计算真实打分和预测打分的L2损失之和。参数更新时,梯度向最小化目标函数的方向下降。 SVD++ SVD++算法和SVD是相似的,但包含了用户的隐式反馈。 其中是用户隐式反馈。 在SVD++中,可以使用dual参数来决定是否包含项目的隐式反馈。公式可以被重新写做: 其中表示项目隐式反馈。