我的老师最初的研究方向就是推荐系统,BPR是他推荐给我最初的一篇论文,是推荐系统的开篇之作,很具有学习的意义。
我看的时候是老师直接发给我PPT让我看,哎真的看了好久,里面的生词生句,wps翻译得一言难尽,当时就在想,以后我要是发论文了,一定要发一份中文的,好理解学习。现在我看文献喜欢用ReadPaper(以前刚做出来的时候很好用,还免费使用VIP功能,活跃送VIP之类的,现在好像商业化了,没办法邀请人得VIP了,不过基础功能还是很好用的,一个月一次全文翻译(不建议全文翻译,看论文是有技巧的,推荐可以看看李沐大佬的B站视频,我就不班门弄斧了)如果大家缺少个好用的工具可以试试这个(不是打广告的))
话不多说开始我们的正题,当时我看文章时候老师就是直接扔给我让我啃,看完做报告,我看的一脸懵,很多生词,例如sigmoid,MF,KNN,SVG,bayesign,等什么都不知道,纯纯小白,就知道梯度下降,损失函数,矩阵分解等一些基础知识,我发现根据我现在的水平,就想一杯牛奶倒入大海(PS:考公梗)。我连神经网络都不是很清楚,更别说这么难的论文了。然后就开始了深度学习-推荐系统之路。
又跑题了,学长为了让我速成直接一对一指导,直接不管懂不懂,不懂继续讲,哈哈哈很感激我学长,很有耐心,很有实例,给我讲懂,可见他的实力。
BPR: Bayesian Personalized Ranking from Implicit Feedback 基于隐式负反馈贝叶斯个性化的排名。这篇文章是由 Steffen Rendle, Christoph Freudenthaler, Zeno Gantner and Lars Schmidt-Thieme 。每位作者都值得尊重,敬佩。
BPR
当时就很不了解(u,i,j)的含义,现在细想一下很简单,其实就是奖item*user矩阵拆分为了每个user的偏好矩阵(i,j)二者更喜欢谁?
然后这篇论文我认为最重要的就是他的利用了隐式反馈,贝叶斯最大似然估计。
还有矩阵分解的BPR初始化的矩阵为预测分矩阵,最终更新的结果也是一个预测分矩阵,推荐时选取一行,即一个用户对应的物品的预测分,根据这个分数进行推荐(三元矩阵组(u,i,j))。
将一篇论文当然要看它的损失函数
分为两部分一部分是损失函数一部分是正则化,
让我们来证一下:
由此可以得证这个损失函数。由损失函数穿行起全文脉络。从用贝叶斯假设开始,
1. 一是每个用户之间的偏好行为相互独立,即用户u在商品i和j之间的偏好和其他用户无关。
2. 二是同一用户对不同物品的偏序相互独立,也就是用户u在商品i和j之间的偏好和其他的商品无关
利用以下性质进行通过最大后验估计和贝叶斯公式进行证明。
这是一篇比较基础的论文,详细写出了证明构建模型过程,简述了利用贝叶斯构建个性化排名,在当时它不再使用用户的评分这种显示反馈,而是使用用户是否对该物品有过行为这种隐式反馈。想要看懂这篇文章要有强大的数学功底和耐心,一步步的慢慢推演。一下是我的一些详细推演过程(刚开始学的时候推演的有点小复杂,适合初学者看,大佬就不用看了)
参考:
BPR(贝叶斯个性化排序)_bayesian personalized ranking-CSDN博客