问题定义:
本文从概率的角度来预测用户的评分,本文假设用户和商品的特征向量矩阵都符合高斯分布,基于这个假设,用户对商品的喜好程度就是一系列概率的组合问题,例如
为期望为μ,方差为σ的高斯分布。Iij=1,如果用户i选择了商品j,否则为0。在此基础上,本文通过对用户的特征向量加以限制,提出了一种新的算法,并且该算法要好于上述提到的算法。
方法:
首先,本文假设预测用户的喜好是一个概率组合问题:
其中用户和商品的特征向量都符合高斯分布:
对上述的预测公式取对数,我们可以得到
为了把评分(例如1-5的评分)转换为0-1,本文采用了如下办法:
因此对应的预测公式变为
另外本文通过对用户的特征向量加以限制,即
那么对应的评分预测函数为
其中W为某种权重矩阵,例如可以是相似度矩阵等等,同样的,W也符合高斯分布
实验结果:
上图是本文算法与Netflix系统推荐算法,SVD算法的对比结果。首先,SVD算法overfit比较严重,当epoch超过10时,SVD算法就开始overfit了,其次constrained PMF要好于PMF算法,而且该算法比Netflix系统推荐算法精度高7%左右。
另外本文也对比了,不同评分数目的RMSE的精度,如下图所示:
可以看出,当评分比较少的时候,constrained PMF算法的准确性就更加明显,另外,如果采用电影的平均分来作为用户的预测分值,当评分比较少的情况,这种算法跟PMF和constrained PMF算法差别不大,但是当评分比较多时,算法的准确性差异就很明显了。
(本文转自个性化时代http://blog.baifendian.com/?p=1158)