个性化推荐引擎:基于概率的…

来源:互联网 发布:最优化计算方法课后题 编辑:程序博客网 时间:2024/06/05 13:29
原文地址:个性化推荐引擎:基于概率的矩阵分解算法作者:百分点科技

问题定义:

本文从概率的角度来预测用户的评分,本文假设用户和商品的特征向量矩阵都符合高斯分布,基于这个假设,用户对商品的喜好程度就是一系列概率的组合问题,例如

其中

为期望为μ,方差为σ的高斯分布。Iij=1,如果用户i选择了商品j,否则为0。在此基础上,本文通过对用户的特征向量加以限制,提出了一种新的算法,并且该算法要好于上述提到的算法。

方法:

首先,本文假设预测用户的喜好是一个概率组合问题:

其中用户和商品的特征向量都符合高斯分布:

对上述的预测公式取对数,我们可以得到

 优化公式(3)等同于直接优化下列的公式

为了把评分(例如1-5的评分)转换为0-1,本文采用了如下办法:

因此对应的预测公式变为

另外本文通过对用户的特征向量加以限制,即

那么对应的评分预测函数为

其中W为某种权重矩阵,例如可以是相似度矩阵等等,同样的,W也符合高斯分布

实验结果:

上图是本文算法与Netflix系统推荐算法,SVD算法的对比结果。首先,SVD算法overfit比较严重,当epoch超过10时,SVD算法就开始overfit了,其次constrainedPMF要好于PMF算法,而且该算法比Netflix系统推荐算法精度高7%左右。

另外本文也对比了,不同评分数目的RMSE的精度,如下图所示:

可以看出,当评分比较少的时候,constrainedPMF算法的准确性就更加明显,另外,如果采用电影的平均分来作为用户的预测分值,当评分比较少的情况,这种算法跟PMF和constrainedPMF算法差别不大,但是当评分比较多时,算法的准确性差异就很明显了。

 

(本文转自个性化时代http://blog.baifendian.com/?p=1158)

0 0
原创粉丝点击