Salakhutdinov, Ruslan, and A. Mnih. “Bayesian probabilistic matrix factorization using markov chain monte carlo.” International Conference on Machine Learning 2008:880-887.
对PMF模型以及应用场景不熟悉的同学可以先阅读这篇基础PMF。
本论文的模型和前文类似,但在求解时,是从贝叶斯角度而不是传统概率角度出发:不再把系统参数当做一个固定值估计,而是作为一个服从某种分布的随机变量,转而估计该分布的参数。
问:明天什么天气? 传统观点估计:呃,晴天吧。 贝叶斯观点估计:60%晴天,40%下雨。传统观点估计:你个心机婊。
模型
用 N × M N\times M N×M关系矩阵 R R R来描述 N N N个用户给 M M M部电影的打分。这里 R R R为观测值。
p ( R ) ∼ N ( R ∣ U T V , α − 1 ) = ∏ i j N ( R i j ∣ U i T V j , α − 1 ) p(R) \sim N(R|U^TV, \alpha^{-1}) = \prod_{ij}N(R_{ij}|U^T_iV_j,\alpha^{-1}) p(R)∼N(R∣UTV,α−1)=ij∏N(Rij∣UiTVj,α−1)
矩阵高斯函数等于其元素高斯函数的乘积。其中标量 α \alpha α为精度,等价于协方差的倒数(这样写是为了后续计算方便)。
R R R的各个位置(即各次观测)的精度相同。
U , V U ,V U,V尺寸为 N × D , M × D N\times D, M\times D N×D,M×D,也服从高斯分布。(在基础PMF中,U,V都是待求的固定值)
p ( U ) ∼ N ( U ∣ μ U , Λ U − 1 ) = ∏ i N ( U i ∣ μ U , Λ U − 1 ) p(U) \sim N(U|\mu_U, \Lambda_U^{-1}) = \prod_i N(U_i|\mu_U,\Lambda_U^{-1}) p(U)∼N(U∣μU,ΛU−1)=i∏N(Ui∣μU,ΛU−1)
p ( V ) ∼ N ( V ∣ μ V , Λ V − 1 ) = ∏ j N ( V j ∣ μ V , Λ V − 1 ) p(V) \sim N(V|\mu_V, \Lambda_V^{-1}) = \prod_j N(V_j|\mu_V,\Lambda_V^{-1}) p(V)∼N(V∣μV,ΛV−1)=j∏N(Vj∣μV,ΛV−1)
所有用户共享一组超参数 μ U , Λ U \mu_U,\Lambda_U μU,ΛU,尺寸为 D × 1 , D × D D\times1, D\times D D×1,D×D。所有电影同样共享一组超参数 μ V , Λ V \mu_V,\Lambda_V μV,ΛV。
超参数 μ , Λ \mu,\Lambda μ,Λ服从Gaussian-Wishart分布,表示为一个均值的高斯分布,以及一个协方差的威沙特分布的乘积。
p ( μ , Λ ) ∼ N ( μ ∣ μ 0 , ( β 0 Λ ) − 1 ) ⋅ W ( Λ ∣ W 0 , ν 0 ) p\left(\mu,\Lambda \right)\sim N(\mu|\mu_0,(\beta_0\Lambda)^{-1}) \cdot W(\Lambda|W_0,\nu_0) p(μ,Λ)∼N(μ∣μ0,(β0Λ)−1)⋅W(Λ∣W0,ν0)
其中 μ 0 = 0 , W 0 = I , ν 0 = D \mu_0=0, W_0=I,\nu_0=D μ0=0,W0=I,ν0=D。为书写简便,记为 Θ U = { μ U , Λ U } \Theta_U=\{\mu_U,\Lambda_U\} ΘU={ μU,ΛU}, Θ V = { μ V , Λ V } \Theta_V=\{ \mu_V,\Lambda_V \} ΘV={ μV,ΛV}。
预测
用 R ∗ R^* R∗表示预测出的关系矩阵。在贝叶斯观点下,推荐问题转化为:已知观测矩阵 R R R,求预测矩阵的概率 p ( R ∗ ∣ R ) p(R^*|R) p(R∗∣R)。
这个概率本身非常难求,所以退 而求其次:按照概率 p ( R ∗ ∣ R ) p(R^*|R)