数据中的Bias
选择偏差(Selection Bias):当用户可以自由选择要评分的项目时,会出现选择偏差,因此观察到的评分并不是所有评分的代表性样本。换言之,评级数据往往是不随机缺失的(MNAR)。例如:在rating数据集上面, 用户并非是随机打分的:1.用户会选择它们喜欢的商品进行打分;2.用户更倾向于给特别好的商品和坏的商品打分;
解决方案:
- Propensity scores: 将推荐视为类似于用特定药物治疗患者的干预措施。在这两个任务中,我们只知道某些患者(User)从某些治疗(Item)中获益的程度,而大多数患者治疗(user-item)的结果却不被观察到。对于这两个任务,一个很有效的策略是用相反的倾向分数加权(inverse propensity scores)观察结果。
- ATOP:Steck等人提出的无偏的metricATOP来评估推荐性能,它有两个假设:(1).相关(高)ratings值在观察数据中随机缺失;(2)对于其他rating值,我们允许任意缺失数据机制,只要它们以高于相关rating值的概率丢失。
一致性偏差(Conformity Bias):一致性偏差发生在用户倾向于与组中其他人的评分相似时,即使这样做违背了他们自己的判断,使得评分值并不总是表示用户真正的偏好。例如:一个用户会受到诸多其它人的评分的影响,如果很多其他人都打了高分,他可能会改变自己的评分,避免过于严厉。这个问题主要是由于用户受社会影响导致,一个用户往往会受到他朋友的影响。所以我们观测到的评分是有偏的,有些是没法反映真实用户的喜好。
解决方案:
- 第一类认为用户的rating是符合公众意见;
- 将用户的评分只作为用户喜好和social影响的综合结果。很多工作直接利用base推荐模型的social因子来生成最终的预测结果,与此同时,引入特定的参数来控制一致性偏差的影响。
隐式反馈数据的Bias
曝光Bias:暴露偏差的发生是因为用户只接触到特定项目的一部分,因此未观察到的交互并不总是代表消极偏好。特殊地,用户和商品之间未被观察到的交互可以归因于两大原因:1)商品与用户兴趣不匹配;2)用户不知道该商品。
解决方案:
- Heuristic:典型的例子是加权的矩阵分解以及动态MF,未观测到的交互被赋予较低的权重。还有很多工作则基于用户的活跃度指定置信度等;但是赋予准确的置信权重是非常有挑战的,所以这块依然处理的不是非常好。
- Sampling: 另一种解决曝光bias的方式就是采样,经常采用的采样策略有均匀的负采样,对于流行的负样本过采样,但是这些策略却较难捕捉到真实的负样本。
- Exposure-based model:另外一个策略是开发基于曝光的模型,这样可以知道一个商品被曝光到某个用户的可能性等。
- Others:例如考虑用户的序列行为等,对应的设计inverse propensity的模型等。
位置Bias:位置偏差是因为用户倾向于与位于推荐列表中较高位置的商品进行交互,而不管这些商品的实际相关性如何,因此交互的商品可能不是高度相关的;它描述了一种用户倾向于以更高的概率注意到列表中某些位置上的商品或与之交互,而不管这些项目的实际相关性。
解决方案:
- 目前有很多模型将position bias直接建模到模型中,在预测的时候则忽略这块分支。当然策略还有很多。不过大多数模型模型通常需要为每个查询项或用户项对进行大量的点击,这使得它们很难应用于点击数据高度稀疏的系统中。
- 采用inverse propensity score来纠正position bias。
模型中的Bias
归纳偏差(Inductive Bias):归纳偏差是指模型为了更好地学习目标函数并将其推广到训练数据之外而做出的假设。
结果的Bias和Unfairness
流行度偏差(Popularity Bias):热门商品的推荐频率甚至超过了它们的受欢迎程度,出现哈利波特效应。长尾现象在推荐数据中很常见:在大多数情况下,一小部分受欢迎的商品占了大多数用户交互的比例。当对这些长尾数据进行训练时,该模型通常会给热门项目的评分高于其理想值,而只是简单地将不受欢迎的商品预测为负值。因此,推荐热门商品的频率甚至比数据集中显示的原始受欢迎程度还要高。
解决方案:
- 正则:合适的正则可以将模型推向平衡的推荐列表。
- 对抗训练:基本思路在推荐G以及引入的adversary D进行min-max博弈,这样D可以给出提升推荐锡惠的信号。通过G和D之间的对抗学习,D学习流行项和利基项之间的隐式关联,G学习捕捉更多与用户历史相关的niche商品,从而为用户推荐更多长尾商品。
- 因果图:是反事实推理的有力工具。Zheng等人利用因果推理解决流行偏差。他们假设用户对商品的点击行为取决于兴趣和流行程度,并构建了一个特定的因果图。为了解决用户兴趣和流行偏差的问题,作者考虑了两种嵌入方法:兴趣嵌入以捕获用户对商品的真实兴趣,以及流行度嵌入来捕获由流行度引起的伪兴趣。在多任务学习的框架下,可以利用特定原因的数据对这些嵌入进行训练。最后,兴趣嵌入将被用于最终推荐,在这里,受欢迎度偏差已经被消除。
- 引入其它side information来降低流行度的偏差, propensity score也可以被用来做popularity的bias.通过降低流行项对模型训练的影响,可以减轻流行偏差.
不平衡(Unfairness):系统地、不公平地歧视某些个人或个人群体而偏袒其他人是不公平的。
解决方案:
- Rebalancing
- Regularization:将fairness的criteria作为正则来引导模型的优化;
- Adversarial Learning:基本的想法是在预测模型和adversary模型之间进行min-max博弈;
- Causal Modeling:公平性被定义为敏感属性的因果效应,通过在因果图上应用反事实干预来评估。