非负矩阵分解中的评级预测

时间:2016-11-23 16:51:53

标签: data-science collaborative-filtering matrix-factorization

我正在使用矩阵分解来跟踪此博客http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/(此处附加矩阵)以进行评级预测。最初我们有一个稀疏的用户电影矩阵R。

enter image description here

然后我们应用MF算法以创建新的矩阵R'它是2矩阵P(UxK)和Q(DxK)的乘积。然后我们"最小化" R和R'中给出的值的误差。到现在为止还挺好 。但是在最后一步中,当矩阵被填满时,我并不相信这些是用户将给出的预测值。这是最终矩阵:

enter image description here

理由的基础是什么,事实上这些是预测的"评级。另外,我打算使用P矩阵(UxK)作为用户的潜在功能。我们可以以某种方式"证明"这些实际上是用户的潜在特征吗?

1 个答案:

答案 0 :(得分:0)

将每个用户获得的矢量用作潜在特征向量的理由是使用潜在潜在特征的这些值将最小化预测评级与实际已知评级之间的误差。

如果您查看您发布的两个图表中的预测评级和已知评级,您可以看到两个共同的单元格中两个矩阵之间的差异非常小。示例:U1D4在第一个图中为1,在第二个图中为0.98。

由于特征或用户潜在特征向量在已知评级上产生了良好的结果,我们认为它可以很好地预测未知评级。当然,我们使用正则化来避免过度拟合训练数据,但这是一般的想法。