BPR 学习小结

前天学习了贝叶斯个性化推荐,现在写篇博客来总结一下知识点,说是总结,其实也就是把里面的公式抄一下,说说其中的思想以及python代码的实现
首先,贝叶斯个性化推荐是基于矩阵分解来做的,都是把USER-ITEM矩阵分解为一个user-k,一个item-k的矩阵的乘机形式,唯一不同的是BPR利用了贝叶斯定理的形式来处理这个矩阵,也就是
P ( θ ∣ > u ) = P ( > u ∣ θ ) P ( θ ) p ( > u ) P(\theta|{}^{>}u)=\frac{P({}^{>}u|\theta)P(\theta)}{p({}^{>}u)} P(θ>u)=p(>u)P(>uθ)P(θ)
我们知道对于似然函数来说,每个用户>u的矩阵,都会导致一个P(θ)的值,那么事件θ发生的概率就是P(θ|>u),所以我们的目的是力图使这个似然值最大。
也就是;每个用户之间相对独立,这个用户对每个物品的喜爱程度不受其他用户的影响
用户u对物品i和物品j的喜爱程度不受其他物品的干扰。
而式子中的>u表示的是用户的偏序集,也就是用户对于各种物品的喜爱程度,θ则表示这矩阵分解中的两个参数矩阵
接下来,就是对这个式子的处理化简。
首先对于等式右边的分母,我们可以看出对于所有的用户来说,这个分母都是一样的,那么我们可以把它省略掉,方便后续的处理。那么式子就变成了:
P ( > u ∣ θ ) P ( θ ) P(>u|\theta)P(\theta) P(>uθ)P(θ)
然后就是 P ( > u ∣ θ ) P(>u|\theta) P(>uθ)的处理,
∏ u ∈ U P ( > u ∣ θ ) = ∏ ( u , i , j ) ∈ ( U I I ) ​ P ( i > u , j ∣ θ ) δ ( ( u , i , j ) ∈ D ) ​ ( 1 − P ( i > u , j ∣ θ ) δ ( ( u , i , j ) ̸ ∈ D ) ) \prod_{u\in U } P(>u|\theta)=\prod_{(u,i,j)\in(UII)}\!P(i>u,j|\theta)^{\delta((u,i,j)\in D)}\!(1-P(i>u,j|\theta)^{\delta((u,i,j)\not\in D)}) uUP(>uθ)=(u,i,j)(UII)P(i>u,jθ)δ((u,i,j)D)(1P(i>u,jθ)δ((u,i,j)̸D))

同时对于 δ \delta δ函数来说,如果括号里面的值为正,那么返回1,否则返回0,因为本题在处理时考虑的是u更喜欢i相对于j,所以式子就变成了
∏ u ∈ U P ( > u ∣ θ ) = ∏ ( u , i , j ) ∈ ( U , I , I ) P ( i > u , j ∣ θ ) \prod_{u \in U}P(>_{u}|\theta)=\prod_{(u,i,j) \in(U,I,I)}P(i>_{u},j|\theta) uUP(>uθ)=(u,i,j)(U,I,

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值