WWW'22「华为」CPR Loss:交叉成对排序损失对推荐系统纠偏

2022-09-19 10:40:41 浏览数 (1)

关注我们,一起学习~

title:Cross Pairwise Ranking for Unbiased Item Recommendation link:http://staff.ustc.edu.cn/~hexn/papers/www22-cpr.pdf code:https://github.com/Qcactus/CPR from:WWW 2022

1. 导读

通常推荐系统在观察到的交互数据上优化模型,这受之前的曝光机制的影响,会存在许多偏差,如流行度偏差。本文提出了一种新的学习范式,称为交叉成对排名(CPR),在不知道曝光机制的情况下实现无偏见的推荐。对多个观察到的交互进行一次采样,并将它们的预测的组合来构成损失。

作者在文中考虑的是用户活跃度和商品的流行度对模型训练带来的偏差,本文所提方法主要就是依据一个假设:曝光概率可以分解为用户倾向(pu)、商品倾向(pi)和用户-项目相关性(P(R))(用户是否喜欢这个商品)。

Pleft(O_{u, i}=1 mid R_{u, i}=1right)=p_{u} cdot p_{i} cdot Pleft(R_{u, i}=1right)^{alpha}

文中第二节对常用损失和偏差进行了分析,CPR损失主要是通过交叉成对交互的方式从总体上消除用户活跃度和商品流行度对损失函数的影响,笔者重点介绍损失函数以及对应的采样方法,无偏性的证明主要就是证明可以去掉用户和商品相关的p,详细可见文章第三节,

2. 方法

2.1 CPR Loss

通过选择两个正样本对(用户-商品对)

(u_1,i_1)

(u_2,i_2)

来构建训练样本,

u_1 neq u_2

,则

(u_1,i_2)

,

(u_2,i_1)

为负样本对。从而可以构建如下损失函数,其中

mathcal{D}_{2}=left{left(u_{1}, u_{2}, i_{1}, i_{2}right) mid Y_{u_{1}, i_{1}}=1, Y_{u_{2}, i_{2}}=1, Y_{u_{1}, i_{2}}=0, Y_{u_{2}, i_{1}}=0 right}

表示训练数据。

mathcal{L}_{C P R}=-sum_{left(u_{1}, u_{2}, i_{1}, i_{2}right) in mathcal{D}_{2}} ln sigmaleft[frac{1}{2}left(hat{s}_{u_{1}, i_{1}} hat{s}_{u_{2}, i_{2}}-hat{s}_{u_{1}, i_{2}}-hat{s}_{u_{2}, i_{1}}right)right]

2.2 多交互

上面提出的 CPR 损失只使用两个观察到的交互作为训练样本。可以将其扩展到

0 人点赞