【推荐系统算法】BPMF(Bayesian Probabilistic Matrix Factorization)

本文介绍了BPMF(Bayesian Probabilistic Matrix Factorization)模型,它是对PMF模型的扩展,采用贝叶斯方法处理推荐系统的数据。通过Markov Chain Monte Carlo (MCMC)方法进行参数更新和预测,从而减少过拟合,提高预测精度。在实验中,BPMF相对于基础PMF模型显示出更好的性能。
摘要由CSDN通过智能技术生成

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(RUTV,α1)=ijN(RijUiTVj,α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,ΛU1)=iN(UiμU,ΛU1)

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,ΛV1)=jN(VjμV,ΛV1)

所有用户共享一组超参数 μ 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(RR)
这个概率本身非常难求,所以退 而求其次:按照概率 p ( R ∗ ∣ R ) p(R^*|R)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值