一篇关于推荐方面bias的综述,和autodebias是同一个作者。
1 INTRODUCTION
(1)主体的RS(recommender system)是什么?
推荐系统的缩写。用于在信息过载严重的今天给人们推荐信息的系统。主要出现在各种平台上。
(2)bias出现的原因:
①用户行为数据是观测的(也就是只知道用户对系统exposed items(暴露的物品,也就是系统主动展示的物品)的行为)。
②有的物品更受欢迎(more popular),用户行为多,所以热门item会对模型训练产生较大影响。[从autodebias过来看,就是系统会主动推荐这些物品,导致用户摸不到自己真的想要的。]
③feedback loop(也可以是自偏移)。RS暴露物品的机制使得有些物品会越推荐越被认为是“受人喜爱”的,也就是马太效应。
[其他的是阐述论文必要性和贡献,就不多说了。]
2 PRELIMINARIES: RECOMMENDER SYSTEM AND FEEDBACK LOOP
2.1 Feedback Loop in Recommendation
左图的loop:
①User->Data(collection)。收集数据:用户资料、item的属性还有上下文等
②Data->Model(learning)。学习偏好。
③Model->User(serving)。返回推荐。
2.2 推荐任务表述(见图)
3 BIAS IN RECOMMENDATION
一、数据中的bias:
产生原因:bias来自不同的数据子群(subgroups),导致RS捕获bias后甚至缩放,就会导致对某些群体不友好,或者是导致推荐模型做出次优决策
定义:由于数据的观察性,而导致用户决策时受到的其他影响(比如RS暴露机制导致马太、公众意见导致从众)而使得数据分布脱离实验性分布(也就是均匀采样下的情况),最终导致模型陷入次优结果。
图3的结果表示更加明显,由于数据bias而导致的偏差使得训练数据(PT)和测试数据的分布(PE)出现差别,这导致最终训练出来的L(f)是有偏的,因此其和真实的期望情况之间存在差距。
分类:
①Selection Bias:选择偏差。发生情况:用户对于自己感兴趣的item进行评分,导致观察到的评分发生了非随机缺失(也就是缺失的过程带有bias)。
随机选择下的打分和用户主动选择下的打分
产生原因:1.用户只对自己感兴趣的一些item进行打分。2.用户更可能对自己特别喜欢/特别不喜欢的item进行打分。
因果关系解释:
②Exposure Bias:暴露偏差,发生情况:item中对用户暴露出来的仅有一部分,因此没有观察到的部分不总是等于负偏好。
产生原因:1.item和user's interest不匹配。 2.user不知道该item。
此前研究维度:
①exposure受到了此前RS的推荐方法影响,它对于item的暴露有控制=>“先前模型偏差”
②用户主动选择感兴趣项目,所以如果item之间关系很强的话,就更有可能暴露(换言之,用户选择它并不是因为自己真的喜欢,而是它和自己主动搜的item之间相关性强)=>“用户选择偏差”
③用户背景。社交朋友、社区、地理位置
④热门物品更容易被用户看见。
因果解释:
③Comformity Bias(从众偏差):受周围人、社区中相近爱好人的影响,用户对本来不打高分的item打了高分。
因果解释:
U和I之间的交互不止影响到了个体的偏好,还会形成公众观念(P,比如流行度、平均打分水平等),而P对于R的产生也有影响。
换言之,bias在I->P->R路径上产生了虚假的影响,传递偏差。
④Position Bias:(位置偏差)。用户考虑和高排名的item交互,而不考虑自己实际的喜好。
实验补充:用户往往只关注推荐列表中前面几名的item,随后不想和低排名的item交互。
二、模型中的bias:归纳偏差(Inductive Bias)
归纳表差表示的是,模型为了更好地学习目标函数和泛化训练数据以外的部分的过程中,进行的预先假设假设。
比如此前研究:
目标函数上:此前研究中有,假设交互的过程可以用embedding inner product来估计,或者是用神经网络来作为更好的泛化。
除了目标函数外,其他方面还增加了归纳偏置。
一个例子是自适应负采样器[47,130,137,162](?),其目的是对“困难”实例进行过度采样以提高学习速度,即使最终的损失函数与原始损失函数有很大不同。(之后得看)
另一个例子是离散排序模型[101,201,218],它将用户和项目嵌入为二进制代码以提高推荐效率,但这是以牺牲表示能力为代价的。(之后得看)
三、结果偏差及结果不公平
1.流行度bias:热门item的推荐频率>其popularity所保证的频率。大部分推荐商品都位于高人气区域(H)。事实上,它们的推荐程度甚至比它们最初的受欢迎程度还要高得多
商品受欢迎度VS。推荐频率(Biased-MF [90] 和 User-CF [9]),其中项目被分为三个不同的组:H 表示最受欢迎的项目集,占整个评分的 20% 左右,T 表示最受欢迎的项目集冷门商品占总评分的 20%,M 表示其余的商品。
导致的问题:
1)降低个性化水平,损害偶然性(尤其小众商品用户)
2)降低推荐公平性,即使popularity和推荐频率很匹配。
3)不利于未来收集相关数据的平衡性。
2.Unfairness(不公平)。不同群体在数据中的代表性不平等,模型会选择代表性更高的群体,并在排名结果中强化它们,导致弱势群体的可见度降低。
例如,在职位推荐的背景下,之前的研究[43, 94]发现,与男性相比,女性看到的有关高薪职位和职业辅导服务的广告较少,这是性别失衡造成的。类似地,社交图中的朋友推荐可能会强化对大多数人的历史偏见,并阻止少数人成为具有高影响力的社会影响者[85, 151]。在书籍推荐中也发现了另一个类似的问题,该方法更喜欢推荐男性作者的书籍[51]。因此,分析推荐中固有的不公平问题变得至关重要和可取。
四、反馈循环对bias进一步放大
bias一览
数据偏差会导致或加剧数据不平衡,加剧推荐结果的偏差问题(数据偏差→数据不平衡→结果偏差);而有偏见的推荐反过来又会影响用户的决策、曝光和选择,强化用户未来行为的偏见(结果偏差→数据偏差)。
4 DEBIASING METHODS
很多,具体看12页
(1)解决selection bias的方法
①如何在有偏差的evaluation数据下评估RS?
经常采用的一些方法,比如平均绝对误差 (MAE)、均方误差 (MSE)、贴现累积增益@k (DCG@k) 或精度 (Pre@k)都可以写成这样的格式:
而对于
:
由于实际的r_ui是部分观察到的(没有全覆盖),所以仅使用观察到的条目的平均值:
由于s_ui是数据集中观察得到的(也就是前面说的s代表的数据分布并不是随机缺失),因此这个数据是有偏的,换言之,期望不等于自身:
在评估阶段检测选择偏差的两个方法:
1.Peopensity Score(倾向分数)
补充:需要注意的是,根据我查看的别人解读来看,倾向分数实际上的指的是“该u-i对被观察到的概率,也就是p(O_ui=1)”,虽然涉及公式时,里头的符号字母有点不一样,但是是相同的表达:
2.ATOP(不是很常用,因为要求假设很苛刻。)ATOP 方法同时建立在 2 个假设之上:(1)高相关性评分在观测数据上是随机缺失的;(2)其他评级值允许任意丢失数据机制只要丢失的概率高于相关的评分值。
表示对某个用户观察到的相关item数量出现在总top-k中的数量。
表示该用户当前观察到的相关item数量。
②在训练阶段解决选择偏差的四种办法:
1.联合生成模型(Joint Generative Model):
选择偏差的产生来自于用户可以随意选择评分项目->联合考虑(
用户给出哪个评分值)以及(
用户选择评分什么项目。),换言之,也就是假设用户选择项目的概率来自于评分值。
因此产生了,混合了多项式[116]、Logit 模型[115, 189]、MF 模型[66, 178]、二项式混合模型[87] 或社交增强模型[30]。
问题:模型高度复杂,难训练;分布的假设在某些情况下不成立。
2.数据插补(data imputation):
考虑到选择偏差的产生来自于非随机丢失,因此使用伪标签来估算缺失蓧目,使得数据分布接近理想分布。
现有的:一种轻插补策略(light imputation strategy),用特定值r0插补缺失数据,并优化目标函数:
代表的是真实的评价或者是轻插入的数据,后面那个就是模型的预测值,
表示样本权重
3.倾向分数(propensity score)【和前面一样的】
可以用它解决选择偏差的原因是:
4.doubly robust(双重鲁棒性)
结合IPS和Imputated data。
目标函数如下:
(2)解决从众bias的办法
两种:第一种。认为用户的行为符合public opinions。
因此可以直接引入三个基本推荐模型的重要特征:
:在用户u评价某个item i之前,已经有多少人多这个item进行过评价。
:当前平均rating
:评分分布
这时候,使用XGBoost进行预测评分,然后利用权重
来进行一致性的控制。
:预测结果。
:控制数据一致性强度的参数。
其他建模方式:根据公众舆论敏感度区分人群;考虑项目动态流行度etc
认为用户的评分为用户偏好和社会影响的综合结果。因此,直接利用基本推荐模型中的社会因素来生成最终预测,并引入参数控制社会一致性。【没细看】
暴露偏差(exposure bias):
在评估过程中:理想无偏状况:
预测i对u的ranking(排名)
代表和u相关的所有item
c()代表不同的评估标准
AUC的概念:区分正负样本的一个指标
暴露偏差下的评估有偏:
传统的方法:因此,我们可以估计一个置信度,也就是到底有多大的可能这个负反馈代表真正的不喜欢。
调权后的目标函数:
sui:代表u-i是否被观察到
Wui:对于(u,i)对,有多大的信心认为其反馈应该被预测为sui
方法①:启发式赋权
1.简单方法:
=1时,就认为
=1;
=0的时候,
=c(c是一个0到1之间的常数)=>没法找到真正不喜欢的(empirical bias)
2.考虑用户活跃度:
=
3.利用
控制
方法②:采样(sample)
采样策略需要决定哪些数据被用来更新参数、多久更新一次,从而来计算数据的贡献度。
这种贡献度用实例抽样概率
来象征。
之前的方法是对现有的RS采用均匀的负采样器。
但问题是这种负样本很难找,所以就有人提出通过一些其他的信息来制定采样策略:比方说利用用户的社交网络信息、或者是建立一个基于item的知识图谱,在图谱上进行采样。
Ex.利用查看但未点击的数据评估用户曝光度:https://arxiv.org/pdf/1809.08162.pdf
(只看了解读)在BPR的基础上:
①只对小部分样本进行均匀采样
②针对电子商务,将数据分为:查看并点击(c1)、查看未点击(c2)、未查看(c3)三种,设计c1-c2,c1-c3,c2-c3的pair。
方法③:基于exposure的模型
EXMF:
假设:
表示是否被观测到,服从先验概率
。其不在数据集中。
曝光后u-i对的rating(实际数据则服从先验概率预测值)
->没曝光,但user->item是喜欢的概率,这个值很小,但不等于0(不然exposure bias就解决不了)
原论文解读:Modeling User Exposure in Recommendation
Position Debias:
其发生与推荐列表的顺序有关,此时对
的预测和对推荐列表的设置是相关的(因为推荐列表基于
由大到小对物品进行排列)
①Click models:
假设前提:Exposed in position (q)-> User examine(E)->User Click(c)=>feedback(
)
位置q下的点击概率被拆解为
的相乘,前者代表了不受位置影响时的rui,后者则表现出位置q对u-i暴露的影响能力。
②级联模型(cascade model,casade≈waterfall)
假设:用户从列表第一个往最后一个检查,依次决定是否点击。