论文解读(Probabilistic Matrix Factorization)
这篇论文是07年的,是传统的方法中比较经典的论文了.他论述了现在推荐的问题,评分矩阵的稀疏性,以及数据量的逐渐增加,最好的总结请看PMF,这位博主总结的比较全面,该博文从问题定义,以及问题解决思路都进行了很好地说明。了解论文中公式的解释请参考原理,论文中详细的推导过程可以参考PMF推导。
这些总结的都很好,因此对本论文的解读的话参考以上博主即可。
补充
首先对最大似然估计和最大后验概率,
由于该论文提到了SVD,在这里把SVD和PMF做一个简单的对比:
标准SVD
奇异值分解(Sigular Value Decomposition, SVD),也是矩阵的一种分解方法。SVD在推荐系统的使用可以参考(参考1,参考2.)它用一个很形象的例子先解释了 SVD 是什么,再解释了 SVD 在推荐系统中的使用。总体而言,可以概括如下:
- 使用相邻用户来预测评分:
当要预测的用户-物品评分项在训练集中时,使用 svd 降维后的用户特征集计算得到最相似的用户,得到评分。
当要预测的用户-物品评分项不在训练集中时,需要先对用户的特征向量进行维度变换 ,变换到使用 svd 降维
后的空间中去,然后再计算得到最相似的用户,得到评分。
- 使用相邻物品来预测评分则与使用相邻用户类似。不再赘述
之前的 SVD存在一个问题,即在矩阵分解的时候需要先对原始评分矩阵进行补全,补全方法有很多选择,比如平均值什么的。问题是当用户数与物品数比较大后,补全后的矩阵的SVD 分解复杂度是惊人的。因而才有了现在的新的NEW -SVD方法,NEW-SVD 将用户和物品都在一个 K 维的隐式特征空间表示。显式特征空间则是对用户来说,是用户对每个物品的评分组成的评分向量;对物品来说,其显式特征空间则是每个用户对它的评分组成的向量。显然,K应该比物品数和用户数的最小值还要小很多,从而才能达到降维的效果。
用户对物品的评分就可以表示成用户的隐式特征向量与物品的隐式特征向量的内积:
r
i
,
j
^
=
U
u
T
V
i
\hat{r_{i,j}}=U^T_uV_i
ri,j^=UuTVi
该方法可以使用随机梯度下降算法求解,大大降低了计算量与计算难度。其实与之前的SVD并没有太大区别,即使用隐式特征向量计算用户或物品的相似度进行评分预测;对于新用户或新物品,要先降维到隐式空间再进行计算。
其实对于 SVD 本质上来说是它一种特殊的 PMF。PMF 其实是在 New -SVD 上添加了概率分布。其假设用户和物品的latent factor vector 服从高斯先验分布,还假设已观测到的评分数据条件概率也服从高斯先验分布。
关于 PMF 和 SVD 的联系,下面总结的很到位(个人意见):
PMF 是从概率生成过程的角度来解释 user 和 item 的 latent factor,SVD 是从优化目标出发,如何确定 user 和 item 的 latent factor 可以使得 loss 最少。两者解释的方式不一样,但 PMF 的 MLE(极大似然估计) 与优化带正则项的 svd 的 loss function 是等价的。如果从优化和实现的角度来讲,两者木有什么区别。
扩展阅读
代码
还未总结过几天更新!!!!