Neutralizing Popularity Bias in Recommendation Models
解决问题
item embedding 中蕴含了流行度偏差(Popularity Bias)
在五个模型上实验(BPR, LightGCN , WMF , ItemAE, eALS)
T-检验:r代表流行物品和长尾物品有多少embedding 方向不同
Spearman’s Rank Correlation:p表示大多数embedding 方向都与流行度有关
解决流行度偏差的三个方向:
- data level:逆倾向评分(IPS)
- loss levellevel:unbiased objective methods augment the loss function
- model level:causal inference
但是在表示层(representation level)除偏的工作还没有
IPS的方法 对权策略非常敏感
popularity-rank correlation for users (PRU) and items (PRI)
方法
构建item features 矩阵V(N×D) N个物品 每个物品有D个方向 每一行代表一个物品的D维向量
模型的预测结果可以归纳为M**𝜙(U,V)** 𝜙和U、V都可以通过最小化损失函数L**𝑅𝑆**学习到
PID: Post-training De-biasingDe-biasing
该方法在训练过程中,单独拿出来一个direction作为流行度偏差,训练之后再中和这个方向,由于只校正流行度方向,将保留其他方向捕获的信息并优化推荐性能。
伪代码:
随机初始化参数 Θ= (U, V, 𝜙) 将V的最后一列固定为流行度向量P
for e in epoch:
最大化S(V:,1:𝐷−1w, p); w ∈ R^𝐷−1 ^
最小化**𝛼**^𝑃𝐼 𝐷^ 𝑆 (V:,1:𝐷−1w, p) + (1 − 𝛼^𝑃𝐼 𝐷^ )L^𝑅𝑆^ by SGD
最后将P置0
计算𝑀𝜙 (U, V)
主要思想就是再D-1个方向来重建流行度偏差
IID: In-training De-biasing
相较于将流行度偏差压缩到一个方向,IID在所有的方向上中和流行度,如果像PID一样评估每个方向的相似度,那过度计算流行度偏差的风险很高
所以IID通过施加正交正则化来解耦
优化目标:
||V𝑇 V−I||2 2 是正交正则化 来学习独立方向,第二部分S(Vd,p) 聚合了所有方向的相似度
实验
分别将模型应用在BPR和LightGCN上,并在ML-100K,Epinions和Amazon Digital Music 数据集上测试效果。
对比方法IPS、IPSC、IPSNC、CausE、DICE
好! 很好!
扩展
显示反馈数据分析
举例:
假如某个班级有男生80人,女生20人,共计100人.目标是找出所有女生.
某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了.
相关(Relevant),正类 | 无关(NonRelevant),负类 | |
---|---|---|
被检索到(Retrieved) | TP=20 true positives (TP 正类判定为正类,正确的判定"这位是女生") | FP=30 false positives (FP 负类判定为正类,就是分明是男生却判断为女生) |
未被检索到(Not Retrieved) | FN=0 false negatives (FN 正类判定为负类,分明是女生,却判断为男生) | TN=50 true negatives (TN 负类判定为负类,就是一个男生被判断为男生) |
准确率(precision)公式是 T P / T P + F P TP/TP+FP TP/TP+FP 就是检索到的物品中,正确物品的比例。
召回率(recall)公式是 T P / T P + F N TP/TP+FN TP/TP+FN 就是检索到的物品占应该检索到物品的比例。
F-Measure又称为F-Score是一种统计量,是IR(信息检索)领域的常用的一个评价标准,常用于评价分类模型的好坏。
F1=2P*R/(R+P) 即F1-Score 综合了P和R的效果,当F1较高时则能说明试验方法比较有效。
BRP算法
BPR即Bayesian Personalized Ranking,中文名称为贝叶斯个性化排序,是当下推荐系统中常用的一种推荐算法。与其他的基于用户评分矩阵的方法不同的是BPR主要采用用户的隐式反馈(如点击、收藏等),通过对问题进行贝叶斯分析得到的最大后验概率来对item进行排序,进而产生推荐。
可以将原始的评分矩阵分解为每个用户的喜好矩阵,如果用户u在同时有物品i和j的时候对i产生了行为,得到三元组样本<u,i,j>,它表示对用户u来说,i的排序要比j靠前。但是如果一个用户对两个物品同时产生过行为,或者同时没有产生行为,则无法构成偏好对。如下图:
BPR也用了类似矩阵分解模型,这里BPR对于用户集U和物品集I的对应的U×I的预测排序矩阵 X,我们期望得到两个分解后的用户矩阵W(|U|×k)和物品矩阵H(|I|×k),满足X ‾ = W H ^T^ 最终我们的目标,是希望寻找合适的矩阵W,H,让 和X最相似。
推导省略看不懂
BPR的优化思路: