因果推断推荐系统工具箱 - Dual Unbiased Recommender Learning for Implicit Feedback

文章名称

Dual Unbiased Recommender Learning for Implicit Feedback

核心要点

文章在原有解决推荐系统数据偏差的方法的基础上,提出显示纠正负反馈偏差。作者利用观测到正反馈的概率作为桥梁,链接用户对某个物品的点击概率和偏好概率。通过概率推导,提出对偶学习模型,同时消除正、负反馈(点击、非点击)数据的偏差。方法在正反馈数据上,估计用户的正向偏好,在负反馈数据上估计负向偏好两种propensity score,并在loss函数里把两者结合在一起,并证明这种方法学习到的模型在正、负反馈每一个子集上都是无偏的。

方法细节

问题引入

文章旨在解决推荐系统中MNAR问题造成的模型偏差。现有方法只重点解决了点击(正反馈)数据的偏差,而没有考虑负反馈的偏差(没有显示纠正),会造成模型得到次优解。
假设用户的反馈矩阵为Y \in \{ 1, 0 \}^{m \times n}y_{u, i}表示用户是否点击了某个物品的曝光。矩阵R \in \{1, 0 \} ^{ m \times n}表示用户的实际偏好矩阵,r_{u, i}表示用户是否喜欢某个物品。矩阵O \in \{1, 0\}^{m \times n}表示用户的实际偏好矩阵,o_{u, i}表示用户是否被曝光了某个物品。并且,我们假设用户点击了某个物品,意味着用户被曝光了该物品,且用户对该物品是有正向偏好的(虽然喜欢的程度可能不同,但是是喜欢的)。那么,我们可以得到如下公式。也就是说,观测到用户点击了某个物品的曝光的概率,是由物品是否被曝光和物品是否被用户喜欢的概率的乘积决定。

probability

在完整的数据集上,我们可以得到理想情况下的损失函数,如下图所示(在之前的很多文章中都见到了,是类似EIB的损失函数,可以参见因果推断推荐系统工具箱 - Doubly robust joint learning for recommendation on data missing not at random(一))。其中,\delta_{u,i}^{+}\delta_{u,i}^{-}分别表示,相关的和不相关的用户-物品元组的估计损失(注意,这个相关和不想关,我们是不知道的,是隐变量)。

ideal loss

带入公式(1)所示,类似IPS,我们可以得到无偏的损失函数,如下图所示。也就是把\gamma_{u,i} = \frac{y_{u, i}}{\theta_{u,i}}(注意,这里y_{u,i}其实代表了点击的概率,感觉有点滥用符号的意思,但是考虑到作者是在数据集上用y_{u,i}这个值,所以也可以理解。)

unbiased loss

作者认为只在观测到点击的数据集上是无偏的,因为当y_{u, i} = 1的时候,\gamma_{u, i} = \frac{1}{\theta_{u,i}}

unbiased positive

然而,在未观测到点击的用户-物品元组上,y_{u, i}=0时,损失函数只包含对未观测数据的估计,没有其真实值,换句话说,不是两种情况下数据结果的概率加权和。

biased negative

具体做法

Dual Propensity Score

因此,作者采用两个propensity score分别表示在观测数元组上和未观测元组上,用户的偏好和点击的关系。具体的,由于c^{+}_{u, i} = \theta_{u, i}^{+} \gamma_{u, i}^{+} 且 c^{+}_{u, i} =p(y_{u, i}=1),\theta^{+}_{u, i} =p(o_{u, i}=1),\gamma^{+}_{u, i} =p(r_{u, i}=1),表示用户-物品元组,在观测到点击的数据上,满足点击概率由用户对物品的偏好,和物品是否被曝光给用户共同决定,且两者是乘积关系。由此,可以推导出,曝光概率可以用给定用户特征和偏好的情况下,其点击该物品的条件概率表示。

positive propensity score

同理,也可以推导出没有被观测到点击的数据上的propensity score。
表示某个物品没有被曝光的概率可以用给定用户特征和不喜欢该物品的概率的情况下,其不点击该物品的条件概率表示(有点拗口,其实都是反正)。


negative propensity score

最后,作者把这两个propensity score带入到ideal loss的公式中,得到如下图所示的dual loss。

dual loss

并且,经过如下两个推导过程,可以证明dual loss在观测到点击正反馈的数据集上,以及未观测到反馈的(负反馈)数据集上,都是无偏的。推导过程很简单,主要是把对y_{u,i}相关的期望值,换成了对应的概率(由于是伯努利分布)。

proof of positive case

proof of negative case

此外,为了缓解propensity score方差较大的问题,作者也提出了可以利用SNIPS的方法或者是截断propensity score的方法,这类操作都比较常规,这里不再赘述,感兴趣的可以参考原文。

最后,其实也是最关键的,作者提出的propensity score并不是通过模型估计出来的,而是统计出来的,n_i表示物品的所有点击的数量(作者提到这是由于解决的是popularity bias,点击次数就反映了流行度,其实也可以用模型估计)。此外,\alpha = \beta = 0.5是作者根据经验设定的超参数取值,具体问题具体炼丹...

calculate propensity score

总的感觉,这篇文章主要是由于ideal loss不同于其他文章,导致存在作者说的问题。是否是这个逻辑,应该需要视场景而定。

心得体会

为什么和之前说的IPS是无偏的不一样?

个人理解,这里说IPS的方法只在观测到的点击数据上是无偏的,和之前的文章是不冲突的。之前的方法的ideal损失函数,本身就没有考虑存在未观察误差的问题,而这里的ideal loss本身,就引入了未被观测到的用户-物品元组的误差。所以,到底ideal的情况下,是否存在未观测到的点击误差的这一项是值得讨论的,或许这一项并不是必要的(因为已经假设ideal是全都可以观察到的)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容