一、BPR模型概念

BPR(Bayesian Personalized Ranking)推荐模型是基于贝叶斯后验优化的个性化排序算法。从user-iem矩阵训练出多个矩阵,而且一个矩阵表示一个用户的item偏好情况来获得用对多个item的偏好关系的推荐系统。本身不优化用户对物品的评分,只是借由评分来优化用户对物品的排序。
BPR是目前主流的利用基于物品对的协同过滤技术解决OCCF问题的算法之 。
BPR的核心是针对两个物品的相对偏好排序进行建模。最终为每个用户计算其对没有过行为物品的偏好排序,从而进行个性化推荐。
由此,训练集DsD_s可以构建为:UIIU*I*I,DsD_s是三元组(u,i,j)(u,i,j)的集合。

二、BPR模型特点

1、强调个性化推荐,个性化物品偏好排名
2、用后验概率优化个性化推荐的排序
3、基于梯度下降的learnBPR极大化BPR-OPT
4、一般的推荐算法强调用户对项目的打分,只存在用户和单个项目的关系,不去考虑两个项目对用户的影响力,而BPR模型从u,i,ju,i,j出发求解u,iu,i的大小。

三、BPR模型过程

(1)从user-item中提取item-item矩阵
BPR:个性化排名推荐系统原理以及python实现
?表示无签到数据,有两种情况,第一种可能本身就是negative value,用户对item不感兴趣,第二种是缺失值,发生了浏览或者购买行为但是丢失了
+ 表示用户uu相对于item jj更喜欢item ii
BPR推荐系统会考虑positive value和negative value,也就是所有item都会被个性化ranking,即使用户对某个item缺失值这个item也能够被ranking,而不是仅仅用negative value代替缺失值。
判定规则
value={+,if i = + ,j = ?,if i = ? ,j = + ?,if i = j ,no matter +or?value = \begin{cases} +, &\text{if i = + ,j = ?}\\ -, &\text{if i = ? ,j = + }\\ ?,&\text{if i = j ,no matter +or?} \end{cases}

四、BPR算法详解

基本假设:

  • 每个用户之间的偏好行为相互独立
  • 统一用户对不同物品的喜好相互独立

4.1 数据pair预处理

BPR算法将用户对物品的评分(显示反馈1,隐式反馈0)处理为一个pair集合<i,j>,其中i为评分为1的物品,j为评分为0 的物品,假设用户有M个1的评分,N个0的评分,则该用户共有M*N个pair对。
数据集就由<u,i,j>表示,相对于物品j,用户u更喜欢物品i。

4.2 优化

基于前面提到的两个基本假设,优化问题就转化为了极大化以下目标:
BPR:个性化排名推荐系统原理以及python实现
θ\theta为模型参数,包括用户的latent matrix P,物品的latent matrix Q

偏序关系构造的问题

论文中将用户有过反馈的物品记为1,其余物品记为0.
作者认为基于pair-wise的偏序优化,可以避免point-wise模型对feature-item进行预测时失败。
而且feature包括两类,用户不喜欢的和missing value。
合理的做法,

MF-BPR

利用矩阵分解UIU-I矩阵,可以用P=m×kP = \Re^{m\times k},mm为用户个数,kk为用户特征的维度,行向量表示用户uu的潜在特征向量。
Q=n×k,Q = \Re^{n\times k},nn为物品个数,kk为物品特征的维度,行向量表示物品ii的潜在特征向量。
用两个向量的内积xu,i=&lt;pu,qi&gt;x_{u,i}=&lt;p_u,q_i&gt;代表用户u对物品i的喜好程度。
在BPR中是[u,i,j][u,i,j]的三元组形式,即x^u,i,j\hat{x}_{u,i,j}

相关文章:

  • 2021-04-27
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2022-12-23
  • 2021-11-18
  • 2021-11-30
猜你喜欢
  • 2021-05-28
  • 2021-10-23
  • 2022-12-23
  • 2021-04-06
  • 2021-05-23
  • 2021-10-05
  • 2021-10-16
相关资源
相似解决方案