因果推断推荐系统工具箱 - DPA(二)

文章名称

Causal Intervention for Leveraging Popularity Bias in Recommendation

核心要点

上一节讲述了DPA的框架,这一节具体介绍模型的建模和学习方法。

方法细节

问题引入

上节主要讲的是概率推导。作者在具体建模和参数学习上也采用了一些技巧。

具体做法,PDA框架

Deconfounded Training

前面提到,作者要利用代替来建模推荐模型,消除流行度偏差。具体的操作方法如下,表示切断之后的因果图。推导的第一步,表示切断之后,观测到的数据相关性等价于因果性。第二部利用了是全概率公式以及利用链式法则。第三部,利用了的独立性(已经被切断了)。 第四步,由于在切断和没切断的情况下,式子中的两个概率没有变化。

Deconfounder Learning

这里插叙一下,为什么说数据上不做就是有Popularity Bias的呢?原因是,按照因果图和贝叶斯法则,我们可以得到如下的条件概率推导。可以看出,相比,多了一项(虽然是正比于),这一项也从公式上表明,流行度是有影响的(尽管个人觉得直接看因果图就可以了)。

Popularity Bias

经过上述推导,可以考虑1)建模,2)建模。

第一步,作者采用BPR的方法(作为loss)进行参数学习,当然也可以选择其他损失函数。具体公式如下图所述。是负采样的样本。

BPR

表示用户对物品(在给定物品流行度的情况下)的点击率估计模型,这个模型可以利用各种结构,但是作者采用如下图所示的方式进行建模,并拆分了。这样做的好处是1)可以利用原有没有作为输入的模型;2)在后续做求和计算和预测时的时候都比较便利。

Prediction model

第二步,我们需要在的空间上求和,这种计算量是非常巨大的。因此作者进行了转换,这里利用到上边提到的建模时候的拆分单好处,具体流程如下图所示。公式第二步的时候,进行了拆分。第三步,求和号移入(因为只和有关系)。第四步,我们发现,整个计算是一个模型和一个关于的期望的乘积。期望是一个常数,我们优化可以忽略该常数(最大似然)。因此,Deconfounded Training实际上是利用历史数据学习(也就是在给定的情况下的预估模型),最后利用来排序。

summation

Adjusting Popularity Bias in Inference

前面提到,合理的利用物品的未来流行度,能够提高模型性能,也就是如下图所示的方式进行Popularity Bias Adjusting。从因果的角度,我们利用的方式进行流行度的注入,由于纠偏后的模型没有的confounder影响,因此,只影响(用户点击行为),而不影响(物品的曝光程度)。所以,可以转化为一个条件概率。这里的是预估的物品的流行度,可以用任何模型,由于不是重点。,作者利用了简单的滑动平均,具体参见文章,这里不再赘述。

Popularity Intervention

那么具体如何建模呢?同训练时候一样,采用如下图所示的方式建模,其中,是模型的超参,用来体现流行度对点击的影响程度的。

Popularity Intervention Realization

PDA的整个框架流程如下图所示,图中PD指的是Popularity Deconfounding,而PDA指的是预测时Adjusting的部分。

Process

代码实现

文章的伪代码如下图所示。

pseudo code

心得体会

因果图

个人感觉,通过合理的画出模型的因果图,我们可以就可以进行有效的推导来发现问题,并进一步的利用合理的建模进行计算简化。文章比较大的两个两点1)因果图描述的很清晰;2)建模方法的选择比较巧妙,可以规避掉很多不必要的计算(当然是否会有其他损失有待探究)。

你可能感兴趣的:(因果推断推荐系统工具箱 - DPA(二))