推荐系统(BPR)

在这里插入图片描述
BPR是基于用户的隐式反馈,为用户提供物品的推荐,并且直接对排序进行优化。

形式定义

UUU:user集合;

III :item集合;

SSS:用户的隐式反馈 如下图所示,只要用户对某个物品产生过行为,就标记为+,未观察到的数据(即用户没有产生行为的数据)标记为?.
在这里插入图片描述
iii>u_uujjj表示用户uuu在物品iii和物品jjj之间更偏向于物品iii

III+^++u_uu={iii∈∈III:::(uuu,iii)∈∈SSS}代表了用户uuu产生过行为的物品集合

UUU+^++i_ii={uuu∈∈UUU:::(uuu,iii)∈∈SSS}代表了对物品iii产生过行为的用户集合

问题提出

以前的Rec方法通常通过给对(uuuiii)∈SSS一个正的类标签和(uuu×iii)中的所有其他组合一个负类的来创建训练数据(见图1)。然后用一个模型对这些数据进行拟合。这意味着模型经过优化,可以预测S中元素的值为1,其余元素的值为0。
在这里插入图片描述

在填零的情况下,我们的优化目标变成了希望在预测时观测到的数据预测为1,其余的均为0. 于是产生的问题是,我们希望模型在以后预测的缺失值,在训练时却都被认为是负类数据。因此,如果这个模型训练的足够好,那么最终得到的结果就是这些未观察的样本最后的预测值都是0。

BPR

BPR采用了pairwise的方式。
如 下图,基于观察到的数据SSS构建数据集DSD_SDS : 对用户uuu来说,如果对物品iii产生过行为, 而没有对物品jjj产生过行为,则得到了一个偏好对(uuu,iii,jjj)。表示为 i2i_2i2>>>u_uui1i_1i1 . 如果一个用户对两个物品同时产生过行为,或者同时没有产生过行为,则无法构建偏好对。接着,对每个用户,就可以构建III×III的偏好矩阵。所有用户的偏好对构成了训练集DSD_SDS:UUU×III×III.
在这里插入图片描述
左侧显示了观察到的数据。我们的方法在一对项目之间创建特定于用户的成对偏好iii>u_uujjj。在右侧,加号(+)表示用户更喜欢iii项而不是jjj项;减号(–)表示他更喜欢jjj而不是iii

BPR-OPT

BPR 基于最大后验估计PPP(WWW,HHH|>_>>uuu)来求解模型参数WWW,HHH,这里我们用θ来表示参数WWWHHH, >_>>代表用户uuu对应的所有商品的全序关系,则优化目标是P(θ|>_>>)。根据贝叶斯公式,我们有:
在这里插入图片描述
寻找所有项目iii∈∈III的正确个性化排序的贝叶斯公式是最大化以下后验概率,其中Θ表示任意模型类的参数向量(例如矩阵分解)。
在这里插入图片描述
这里,>>>u_uu是用户uuu潜在的偏好结构,所有用户都被假定为相互独立的行为。我们还假设特定用户的每对项目(iiijjj)的排序独立于其他每对的排序。因此,上述用户特定的似然函数ppp(>uuu |Θ)可以首先重写为单密度的乘积,然后对所有用户uuuUUU组合。
在这里插入图片描述

似然概率

独立性假设:

  1. 所有用户之间的行为相互独立
  2. 同一用户任意一对物品的偏序关系相互独立
    于是可以将似然概率表示为:
    在这里插入图片描述
    即分解为每一个正样本的概率之积,即希望对每一个正样本(uuu,iii,jjj)∈DSD_SDS, ppp(iii>u_uujjj∣θ)最大。这里不考虑负样本
    定义:
    在这里插入图片描述

其中在这里插入图片描述
是个实值函数,返回的是用户uuu, 物品iii, 物品jjj之间的关系。这个函数可以通过矩阵分解或者KNN等方法实现。

先验概率

假设参数的先验概率服从正态分布
在这里插入图片描述
对于正态分布,其对数和∣∣θ∣∣2^22 成正比。因此计算lnp_pp(θ)时,得到:
在这里插入图片描述
所以得到后验概率,取对数即为优化目标:BPR-OTP:
在这里插入图片描述

更新

梯度下降
在这里插入图片描述
在这里插入图片描述

基于矩阵分解的BPR

矩阵分解的作用主要就是为了得到上述的实值函数:
在这里插入图片描述
对于用户集UUU和物品集III对应的UUU×III的预测的排序矩阵Xˆ , 我们期望分解得到用户矩阵W(∣U∣×k)和物品矩阵H (∣I∣×k), 满足:在这里插入图片描述
这里的kkk是自己定义的,对于用户矩阵WWW, 我们实际上就是为每一个用户uuu学出一个kkk维向量wuw_uwu作为该用户的隐向量,同理,对于物品矩阵HHH, 我们实际上就是为每一个物品iii学出一个kkk维向量hih_ihi作为该物品的隐向量.因此,这里的(W,H)实际上就是我们需要求出的实值函数的参数θ.
当得到W和H矩阵后,对于任意一个用户u,对应的任意一个物品i, 得到的实值向量即为两个隐向量之积
在这里插入图片描述
xu_uui_ii^是预测出的用户u对物品i的评分。
但是BPR中是三元组形式的在这里插入图片描述
因此BPR将三元组形式分解为二元组的形式,定义为:在这里插入图片描述
代入后验概率模型,得到:
在这里插入图片描述
根据上节梯度下降更新梯度,得到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考博客:https://www.cnblogs.com/pinard/p/9128682.html#commentform
https://blog.youkuaiyun.com/ddydavie/article/details/84331584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值