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

文章名称

Causal Intervention for Leveraging Popularity Bias in Recommendation

核心要点

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

方法细节

问题引入

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

具体做法,PDA框架

Deconfounded Training

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

Deconfounder Learning

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

Popularity Bias

经过上述推导,可以考虑1)建模P(C|U, I, z),2)建模P(C,z|U, I) = \sum_{z} P(C|U, I, z) P(z)

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

BPR

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

Prediction model

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

summation

Adjusting Popularity Bias in Inference

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

Popularity Intervention

那么具体如何建模P_{\Theta}(c=1|u, i, \tilde{m})呢?同训练时候一样,采用如下图所示的方式建模,其中,\tilde{\gamma}是模型的超参,用来体现流行度对点击的影响程度的。

Popularity Intervention Realization

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

Process

代码实现

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

pseudo code

心得体会

因果图

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,576评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,515评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,017评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,626评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,625评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,255评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,825评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,729评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,271评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,363评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,498评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,183评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,867评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,338评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,458评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,906评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,507评论 2 359

推荐阅读更多精彩内容