前言:
PMF沿用了MF矩阵分解的思路,目标都是求出精确的U和V。在传统MF方法中,优化目标是保证R和UV乘积的差值最小,而在PMF中,R和UV的差值变成了一个高斯概率函数,通过最大后验概率MAP公式,将优化目标变成了对一个包含R和UV差值的复杂概率函数,在对其求解时来反求U和V,即反求使目标函数最大的U和V。同时,在PMF中,U和V变成了参数可以被分别求解
三个基础:
1.矩阵分解
2.贝叶斯理论
3.极大似然估计
两个假设:
1.结果矩阵和预测矩阵的差值(即观测噪声)服从高斯分布(即正态分布)
均值为UTV
2.用户特征矩阵U和物品特征矩阵V 服从高斯分布,均值为0
公式推导:
个人理解:
1.本方法中将U和V看做待估计的参数,σ看做超参数,由事先给定
2.极大似然方法(MLE)的要求是要将概率的函数改写为参数的函数,
即L(θ|R)= F(R|θ)
3.利用贝叶斯公式刚好可以完成这样一个似然函数。
即f(θ|R)=f(R|θ)f(θ)/f(R)
4.因为f(R)是与θ无关项故略去,
f(θ|R)=f(R|θ)f(θ)(即最大后验概率MAP)
等式两边同时对θ求导,再对数化
5.本方法中的θ是双参数U和V,即求解是要分别对U和V求导
6.(个人对于高斯假设的理解)
结果矩阵与估计矩阵的差值服从高斯,即两者差值大的概率很小,大部分的估计是准确的
U和V服从高斯,即用户特征和物品特征的期望都接近于0,大部分用户和物品都的特征倾向于中性
代码
代码来源于github,但未出现对于sigma的设置,继续研究中
Sugar~