因果推断推荐系统工具箱 - attribute based propensity score(一)

文章名称

Attribute-based Propensity for Unbiased Learning in Recommender Systems: Algorithm and Case Studies

核心要点

文章旨在解决工业中实际遇到的各种场景带来的bias。作者推导出在IPS场景下,无偏的DCG评估准则。利用EM算法(和一些加速计算的方法)学习IPS的权重,并最终得到相关性模型。

方法细节

问题引入

由于用户隐式反馈存在各种偏差(如流行度偏差),直接利用观测数据学习模型会对性能有损失。原有方法利用IPS等方法进行纠偏,然而这些方法只能应用于位置偏差这种单独UI场景的propensity score(偏差仅仅由位置引起,而实际上包含多种layout,不仅仅是瀑布流)。现实中的推荐系统存在两个特点,1)同一个网站在不同的设备上可能有不同的layout,比如瀑布流或者是网格;2)用户通过诸如搜索,快捷工具栏等渠道(甚至是短视频场景的up主页面交互等),也可以与物品进行交互(可能代表了某种正反馈),这些反馈都发生在推荐流之外,但确非常有用,能够帮助我们进行数据偏差的纠正。为了充分利用上述特点,作者把(瀑布流中的)位置,不同的终端以及反馈的渠道都当做属性来学习倾向性得分,进行数据纠偏。

具体做法

文章中定义propensity score表示,即物品有没有被曝光给用户。表示物品是否被用户喜欢(或者吸引用户)。表示top-n列表里的物品。是常用的评估模型排序性能的评价指标,可以被理解为位置折扣下的top-n相关性求和(注意,这里的相关性不是点击)。由于observation bias(个人理解就是exposure bias),我们不能观测到所有top-n的反馈,需要用如下图所示的IPS的方法进行矫正,该方法可以证明是无偏的。

Unbiased DCG with IPS

众所周知,估计propensity score是IPS方法的核心所在,文章的重点是利用attributes来估计propensity score。定义分别表示用户点击与否的随机变量,用户是否审视(可以理解为是否被曝光)某个物品的随机变量以及用户-物品元组的相关性(用户是否喜欢)某个物品的随机变量。表示某些attributes(其实就是偏差特征,或者说推荐系统的特征,例如position)。我们假设用户是否审视某个物品,只与attributes有关系(比如position和layout)。而用户是否喜欢该物品,只与用户的偏好有关。与之前讲述的许多纠偏推荐模型一样,可以得到如下图所示的概率关系,并进一步简化为参数。

formulation

利用上述模型,我们可以利用EM方法来最大化如下图所示的似然函数(其中表示日志中的数据),进而从日志数据中学习模型的参数。

likelihood

在E-step中,我们利用计算如下图所示的概率(注意除了这些式子以外,其他的概率都等于0)。在初次迭代时,随机初始化。

E-step

在M-step中,我们利用E-step计算得到的概率,计算,计算过程如下图所示的。

M-step

重复迭代上述步骤,即可学习得到propensity score以及用户-物品元组的relevance。然而,虽然的学习可以直接利用上述过程求解(由于[a]的取值范围一般相对较小,可以利用编号进行对应,且数据量充足可以充分学习到不同编号下的效果),但的学习过程存在两点问题,1) 用户-物品元组的数据太稀疏了,不利于EM算法进行稳定的迭代学习;2) 由于数据收集的问题,用户-元组的数据未必能够在日志数据中得到(除了缺失以外,还有可能是处于数据保密的原因)。

因此作者采用模型的方式回归,也就是说从用户-物品元组特征(可以是其他预测物品-用户偏好的模型学到的用户、物品向量表示)来回归。回归的标签,是从E-step得到的概率中采样得到的,这样就变成了一个二分类问题(因为本身也是一个概率)。

值得注意的是,作者表明虽然EM方法可以得到关于用户-物品的relevance,但是最终还是需要利用propensity score来优化无偏的IPS损失(论文公式1)来学习得到的估计用户-物品的relevance的模型,而不是直接利用EM中的结果,理由是这样更为高效(可能是EM的优化不足以在有效数据上收敛到很好的relevance模型)。

心得体会

工业风

Google的paper都是个工业风气息比较重,简单直接有效,且场景贴近实际。作者在这篇文章中提到,可以直接利用原有模型的接口上线,并且通过构造的离线评估指标,可以评估模型的在线效果。

点击 vs 偏好

很多文章中明确的区分了点击和偏好两个概念,点击是用户的行为表征,并不代表一定是喜欢某一个物品。这个差别1)点击可能因为被曝光的素材吸引(骗点击),但实际用户并不会喜欢(不会转化);2)点击仅仅是因为这个物品比较流行,用户也不会转化。因此,个人认为点击和偏好还是应该分开建模的。

回归

个人感觉,这里回归可能会引入模型的不准确偏差。另外,用来学习回归模型的标签的采样比较重要,可能会引入其他的偏差。

你可能感兴趣的:(因果推断推荐系统工具箱 - attribute based propensity score(一))