介绍
这次给大家介绍的是推荐系统的中的Select Bias与Exposure Bias。虽然这两种Bias一个是由系统造成的,一个是由用户的反馈造成的,但是本质上都是一样的:从一个小的样本中去估计一个整体的状态产生的偏差。
首先我们从一个小case中来介绍下Select Bias:
Case来源:Recommendations as Treatments: Debiasing Learning and Evaluation
假设我们有两个用户,一个是Horror Lovers,会给Horror类的电影打5分,会给Romance类的电影打1分。另外一个用户是Romance Lovers,和Horror Lovers打分会完全相反。同时这两个人会给Drama类的电影打三分。可以认为是某一个人对某种类型电影打分的频次,代表用户给某类电影进行打分了。可以认为某一个去给某类电影评分的概率。假如我们现在有2个分类器,给出和的预测结果,那么哪个分类器更好呢?
其中
假设我们知道测试集是是用户对新预测的打分频率(里面的每个1就是用户对该类型的电影进行打分),那么对造成与预测结果的两个分类器来说哪个好呢?
答案就是的预测结果要好,他在用户后续测试集中表现出的损失函数更小。但是从直观来说(我们事先是知道两个用户的偏好的),的分类器应该是优于的。
造成这种结果的原因就是Select Bias: 用户更倾向于对自己感兴趣的电影进行打分 。从统计学的角度来说,由于大量样本缺失(很多用户根本没有对电影进行打分),用已有的样本来预测整体的情况带来的偏差。 说人话就是训练样本与预测空间分布不一致。
与Select Bias不同的是Exposure Bias往往是推荐系统本身带来的。我们无法将所有的内容全部都曝光给用户让用户筛选,很多内容用户其实没有并没有机会接触,并不能代表用户不喜欢。Exposure Bias更容易使得推荐系统陷入局部最优,导致无法给用户推荐新的好内容。
解决方法
首先比较学术化的解决方法:
两种Bias都可以采用我们上篇文章说的IPW的方法来解决。还是和我们说的一样,在实际的推荐系统中其实不太容易操作的。如果写论文的朋友可以关注一下。
下面就是一些实际中可操作的方法:
Select Bias:
缺失值补充,用户没有给文章打分,那么我们可以预测用户可能的打分。但是这种操作起来其实也会引入新的偏差。
Exposure Bias:
在实际的推荐系统中,其实Exposure更容易出现。而且推荐系统可能会加剧这种现象,具体来说就是给用户看的内容陷于局部最优,比如一直给Horror Lovers推荐Horror类的电影。
其实这种情况由于目前推荐系统的多路召回其实在一定程度上就缓解了。在我们常见的双塔召回中,它是通过对负样本采样来解决的,既然你没有见过,那么强行让你见过。此外类似于阿里的ESMM的方法也有涉及。
从实用的角度出发,我可能更倾向于样本的方法,或者是数据的方法。更多的用户数据能够帮助我们发掘更多的用户兴趣,即使陷入局部最优,也是一个比较大的局部。这也是多场景画像成为大厂突破局部最优的最有效方案的原因。
结语:本来写这个bias系列的时候,只是对于各种bias和比较常见的解决方法或者规则有一定的了解。经过几天深入地了解后,对bias产生的原因有了更深入的了解,从而了解到了更加理论化的解决方案,但是理论化的方案其实很难应用于推荐系统之中,与我深入了解的出发点有出入,因此这个系列就到这里了。其余的Popularity Bias和Unfairness就不具体展开讲了。之后如果有了更深的了解再深入探讨。
此外ChallengeHub新建了一个推荐的交流群,里面包含国内各大厂的推荐算法工程师以及想从事于推荐相关的人员,欢迎大家进群一起交流(添加我微信然后拉群)。
扫 码 关 注 我 们
C h a l l e n g e H u b
qq交流群
微 信
