常见偏置有:
1. position bias
2. exposure bias
3. selection bias
4. conformity Bias
5. popularity bias
原因:
曝光的item列表中,前面位置的item更容易被点击
解决思路:
1. 模型中融入位置特征,可以是直接输入,也可以通过单独一个网络层进行学习
原因:
用户只能对曝光的item进行点击,但没有曝光的item不代表用户不会点击。模型一般训练的时候,使用曝光的item作为样本,但预测的时候,又是对全量的item进行预测。全量item包含大量未曝光的item,这样导致训练和预测不一致。
解决思路:
1. 建模空间:
1)传统的ctr模型是在曝光样本空间上建模,可以考虑引入【是否曝光】阶段,将ctr转化为是否曝光*曝光后是否点击2阶段,即p(点击)=p(曝光)*p(曝光->点击)
2)传统的cvr模型是在点击样本空间上建模,ESSM通过引入辅助任务,通过 曝光->点击->转化,将模型建模在曝光样本空间上,即p(点击->转化)=p(曝光->转化)/p(曝光->点击)
2. domain adaption:将曝光/点击样本视作source domain,全部样本视为target domain, 例如ESAM
3.?IPS(Inverse Propensity Score)
假设样本曝光或点击服从一个伯努利分布,然后从概率论推导出:只要给每个曝光样本加权(权重即位inverse propensity score),最终在曝光的样本上求期望就等于在全量样本上求期望。其实思想就是importance sampling。
这个倾向性得分propensity score直观来说是样本进入训练集的概率,比如对于CTR模型,propensity是曝光概率;对于CVR模型,propensity是点击概率
原因:
用户只会对感兴趣的样本进行交互,也倾向于给特别好的和特别坏的item打分。这样在确定样本时,没有满足随机性原则,在选择上出现偏颇,导致结论产生偏差。
解决思路:
1.?selection bias 出现是因为数据的丢失不是随机的(如果是随机的,并不影响分布),这种思路是给未标注的数据添加伪标签,以此来使得训练集数据分布趋向于理想分布。
原因:用户倾向于在群体中做出与他人相似的行为,即使与他们自己的感受不符。如果很多其他人都打了高分,这个用户可能会改变自己的评分,避免过于严厉或者突兀。
解决思路:
1. 将用户的评分作为用户喜好和社会影响的综合结果。在推荐系统中利用social factors 来生成最终的预测结果,并引入特定的参数来控制一致性偏差的影响。
原因:热门 items 受到超过本身应该有的 popularity 的关注,导致常见的中长尾现象,小部分热门 items 占据了大部分交互。在这种数据上训练模型,模型会倾向于给热门 items 打过高的分数,而默认对不热门 items 更加消极。所以流行度偏差会降低推荐系统的个性化水平,并导致推荐结果的不公平。
解决思路:
1. 正则
2.?建立因果图(causal graph)来解释 popularity bias,然后在图上应用反事实的干预来消除 bias。