文章名称
【SIGIR-2020】Influence Function for Unbiased Recommendation
核心要点
因为简单易用,只是对样本进行权重调整,IPS是消除推荐系统数据偏差的常用方法。但是真实数据集中很难得到所有的confounder,所以很难保证对倾向性得分的预测是非常准确的。因此,作者收到基于样本权重调节的鲁邦深度学习方法的启发,提出利用influence function来消除数据偏差对推荐模型的影响。
方法细节
问题引入
推荐模型的训练数据中,可能存在多种bias,例如selection bias,popularity bias以及position bias。现行的主流方法是使用IPS对样本进行加权(调整样本权重)来进行偏差纠正,以防止利用有偏的数据迭代训练模型,导致不断地放大(加强)偏差的影响。然而,1)倾向得分的定义中,我们可以看到其假设收集日志数据的策略应该是随机的,即每个物品都有非零的概率被曝光给任何用户。推荐物品结果集合通常是基于CTR或eCPM截断后的top k的物品集合,这与倾向得分的定义相矛盾,导致IPS方法的准确性受到影响。2)由于上述多种bias是共同作用于观测数据的,因此倾向性得分需要弥合这些bias共同作用的结果,导致IPS更难得到有效的学习。
具体做法
影响函数 (Influence Function) 通常用来衡量对一个训练样本添加小扰动时,其对估计器的影响。这个方法可以揭示一个训练样本的重要性。基于这种思路,作者把IPS可以看作是reweight learning的一个种方法,提出了基于IF重新加权每个样本的训练(训练)损失,来在无偏验证的验证数据上获得更少的(经验)损失,实现观测数据的纠偏。
推荐模型通常利用最小化经验风险损失(ERM)进行学习,具体公式如下图所示,其中表示一个观测样本,并服从训练概率,表示模型的参数,是模型的损失函数,表示正则项。最优的模型参数
如果数据有偏,训练(观测)概率分布与实际(无偏)概率分布是不相同的。IPS方法可以表示为如下的求解过程。其中,定义为propensity score。
Influence Function是鲁邦统计学的重要概念之一(可以参见论文[1],以及各位大佬的笔记[2, 3],Influence Function的话题太大了),它首先被用于衡量样本对在验证集上计算的损失的影响。一个训练样本对验证样本的损失计算的影响可以表示如下图所示。其中,(个人认为这个notation应该可以写成)是在经过一个小扰动之后的训练样本上训练后,得到的最优参数(其实可以理解为其他样本都不变,就对其中一个样本做一个一个小扰动,再利用所有样本进行训练,得到最优参数)。是整体损失对某个具体样本的二阶倒数(在式子中这个具体样本是验证集样本),是汉海矩阵。
这一节先到这里,下节继续讲解IF如何被用来进行权重调节以及如何学习模型参数。
心得体会
Propensity Score
作者定义为propensity score,和其他常见的IPS方法的定义有一些不同。那些方法会定义给定样本特征,其反馈被观测到等事件的概率为Propensity score。不过,两者都是利用这个权重加权实现样本权重调节和数据纠偏。作者并没有把训练数据是部分观测的情况考虑在内,而是从类似important sampling的角度引入了原始概率分布。个人感觉,常见方法的propensity score的定义更容易理解,也更适用于具体场景。本文中的定义更抽象,但不太符合通常认知的角度。
文章引用
[1] Koh, P. W., and Liang, P. Understanding black-box predictions via influence functions. In Proceedings of the 34th International Conference on Machine Learning- Volume 70 (2017), JMLR. org, pp. 1885–1894.
[2] 影响函数(Influence Function):鲁棒统计的敲门砖
[3] [ICML] Understanding Black-box Predictions via Influence Functions