Measuring and Mitigating Item Under-Recommendation Bias in Personalized Ranking Systems精读

摘要

统计均等(statistical parity)和机会均等(equal opportunity)形式化为两个metrics作为欠推荐(under-recommendation)物品的偏差。实验证明BPR(Bayesian Personality Ranking)会产生偏差推荐。提出的去偏差模型能提升上述两个指标并保持推荐性能。

介绍

物品欠推荐意思是说一个或多个物品组遭到系统级的欠推荐。得到无偏差的预测得分并非意味着无偏差的排序结果。提出两个方法:基于排序的统计均等RSP(ranking-based statistical parity)和基于排序的机会均等REO(ranking-basedequal-opportunity)。

RSP是想要不同组的物品被推荐(位于top-k)的概率是相同的;该指标适合于那些由某些敏感属性决定的物品分组场景,也能够一定程度上定量是否推荐一个物品会由其敏感属性决定。

REO不同于RSP(RSP并非考虑到用户真实偏好),REO类比于分类问题中的TPR,即真实被用户喜欢的物品有多大概率被推荐,而REO希望不同组的这个概率应是相同的。本文还说与RSP相比,基于REO的偏差并不依赖于敏感属性,是所有推荐系统固有的,对用户和物品提供方都有影响。

本文所说的敏感属性是比如age、gender等,而对于genre等物品方属性不属于敏感属性,但有希望各个genre的物品能够具有相同的TPR,所以说REO和敏感属性无关;换句话说,此处REO考虑的属性为非敏感属性。

贡献:使用MLP结构的对抗部分能够增强不同物品组的得分相似度,使用基于KL散度的正则项能够归一化每个用户的得分分布

相关工作

之前的工作大多数没有将偏差和排序结果进行对齐(align)。本文与之前工作所不同之处在于:偏差是基于多个组的排序结果定义的;基于SP和EO;进行系统级别的计算

个性化排序中的偏差

BPR

BPR=MF+pairwise ranking loss

偏差指标

RSP:强行让各个组的排序质量相同,越低越好

 分子指的是对于用户u,来自于敏感属性取值为a的物品组中有多少位于top-k且尚未交互的物品数量(意思应该就是不会推荐之前已推荐过的物品到top-k); 分母在前面的条件中去掉位于top-k的条件即可。

最后,计算所有组的RSP@k的相对标准差:

 

BPR方法存在的数据偏差

比如MovieLens数据集,将电影分成A、B、C组,统计各个组的 feedback / item  和REO、RSP值

去偏差的个性化排序

出发点:如果每个用户都有相同的预测分值分布的话,自然对所有用户而言他们的top-k分值区间就一样了。同时,这也会使得来自各个物品组top-k的得分分布也位于相同区间了。

所以,如果我们强行使得各个物品组的得分分布相同,那不同物品组的top-k得分分布就相同,因此得到的 p(R@k∣g) 都一样;同理,如果对于不同组的positive user-item pairs有相同的得分分布,那么 p(R@k∣g,y=1) 都一样。

基于此出发点,对应的解决方法是通过对抗学习的方式让不同组的得分分布相似,通过KL惩罚项归一化用户预测分值分布为标准正态分布。

增强得分分布相似度

用于实现RSP的对抗训练

判别器负责由BPR计算得到的分值来预测物品组别。这样的话,BPR除了原有最小化推荐错误损失,还需要防止判别器正确预测物品组别。如果判别器无法正确预测组别的话,那么就说对于不同物品组的得分分布就相同啦。具体地,将(u,i)输入BPR model,输出预测分值 y^u,i ,再输入到MLP的对抗部分进行预测,使用如下损失函数(这个有别于CELoss,因为他还有后半部分

 

再结合BPR部分原来的损失函数,得到新的损失函数如下

用于实现REO的对抗训练

与RSP不同在于,因为EO只考虑positive (u,i) pairs,所以需要去掉对抗部分的负样本损失,其余均相同

对抗学习的优势:1)实验效果好; 2)能够灵活更换为其他偏差指标(不仅仅是这里的RSP和REO); 3)处理多物品组情况; 3)与已有的推荐模型部分不耦合,因此可以任意更换为其他base rec model

个体用户分值标准化

与BPR论文里的假设一样,假设每个用户的分值分布都是正太分布,用户或者物品的latent factor vector的每一个因子都服从正态分布,那么二者乘积 Pu*Qi 也是正态分布,那么我们就通过最小化KL散度来使得每个用户的得分分布成为标准正态分布,得到KL散度损失如下

qΘ(u) 是用户u 预测分值的经验分布

模型训练

综合以上,得到最终损失函数如下

DPR-RSP Loss:


​​​​​​​

DPR-REO Loss只需要对抗部分换一下就可以

训练过程:首先更新MLP对抗部分以最大化分类目标,然后更新BPR部分最小化ranking loss、分类目标、KL损失;具体地,对于MLP训练使用全数据集,而对于BPR部分使用一个mini-batch。

注:通常会先预训练BPR部分几个epoch之后再开始这里的训练过程。

实验

数据集:MovieLens-1M、Yelp、Amazon

实验回答三个问题

  1. KL-loss、对抗部分、完整的DPR模型对于推荐的影响
  2. 提出的DPR模型与SOTA相比在减轻模型偏差和保持推荐性能方面的表现
  3. 超参分析(对抗和KL前面的两个系数)

推荐指标:F1@K、NDCG@K(K=5,10,15)

公平指标:RSP@K、REO@K(同上)

Baseline:FATR、Reg-RSP、Reg-REO

修改所有模型(包括baseline)的loss为BRPLoss、都加上KL损失部分(为了使偏差与排序结果对齐)

负采样:5、mini-batch:1024、MLP:4层+50神经元+ReLU

实验中使用JS散度来衡量用户分值分布和标准分布的偏离程度

总结

基于统计均等和机会均等概念,提出两个指标,将对抗学习和KL损失移入BPR模型中达到公平目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值