美文网首页因果推断推荐工具箱
因果推断推荐系统工具箱 - DCCF(二)

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

作者: processor4d | 来源:发表于2022-01-04 23:25 被阅读0次

文章名称

【Arxiv-2021】【Rutgers University-Salesforce Research】Deconfounded Causal Collaborative Filtering

核心要点

文章旨在同时解决推荐模型中遇到的各种偏差,作者首先利用具有未观测混淆变量的因果图建模用户行为,并结合前门准则和机器学习模型来消除未观测混淆变量对数据和推荐模型的影响,最终提出Deconfounded Causal Collaborative Filtering(DCCF)模型。

上节讲述了前门准则和作者构造的描述用户行为的因果图,这一节继续讲解如何利用前门准则估计物品展示对用户偏好的因果效应P(y|u, do(v))

方法细节

问题引入

如上节所述,虽然下图中的U, C满足后门准则,但是C可能未被观测,并且计算量比较大,很难简单的应用后门准则(同时控制U,虽然可行,但是从逻辑上有点奇怪,当然U本身就是条件概率的条件之一)。因此作者选择采用前门准则。

DCCF Causal Graph

具体做法

Sample-based Front Door Adjustment

由前门准则P(Y=y|do(X=x) = \sum_mP(M=m|X=x)\sum_{x\prime}P(Y=y|M=m, X\prime = x\prime)P(X\prime = x\prime),可以得到,DCCF的前门准则P(y|u, do(v)) = \sum_mP(m|v)\sum_{v\prime}P(y|u, m, v\prime)P(v\prime|u)。其中y表示用户-物品元组偏好值。

作者定义只有在m = F(v)的时候,P(m|v) = 1。也就是说,只有m是目标物品特征的时候,有概率,其他时候都没有概率。因此,P(y|u, do(v)) = \sum_{v\prime}P(y|u, v\prime, m_v)P(v\prime|u),其中m_v = F(v)(因为其他项P(m|v) = 0)。

但是,就想上一节我们讨论的一样,推荐场景物品很多,(如同其他简化求和计算的思路一样)作者采用采样解决问题。P(y|u, do(v)) = \sum_{v\prime \in R(u, v)}P(y|u, v\prime, m_v)P(v\prime|u),其中R(u, v)表示针对用户u和目标物品v采样的其他物品(那么重点来了,同其他采样方法一样,采样的策略至关重要)。

从上式可以看出,P(y|u, v\prime, m_v), P(v\prime|u)这两项需要计算。

Exposure Probability

作者称P(v\prime|u)为曝光概率,可以利用点击数据来近似估计,比如把点击的当做正样本,未点击的当做负样本,训练pairwise loss,计算公式如下图所示。

Exposure Probability pairwise loss

其中,\sigma是sigmoid函数,+, -分别代表正、负样本,P_{uv}为曝光概率估计值。在MF的场景下,P_{uv}的估计公式如下图所示,b_u,b_u,b_g分别表示用户、物品、全局的偏置项。

MF Exposure Probability Estimation

严谨的同学一眼就看出问题,点击数据是有偏的!因此,作者做了IPS[38]纠偏,计算公式如下图所示,p_{uv}表示用户-物品元组的Propensity(个人理解,这个是从点击数据的出现频率中估计出来的)。这样就得到了无偏的Exposure Probability估计值。

IPS MF Exposure Probability Estimation

Conditional Preference

作者用MLP来近似估计P(y|u, v\prime, m_v),过程中,先把u, v变成嵌入向量表示(可以理解为从用户、物品id直接得到的embedding),拼接上m_v(从F中得到的),送入MLP估计概率,计算公式如下图所示。

Conditional Preference MLP

其中\phi(\cdot)是ReLU。值得注意的是,这里的u, v与上面曝光概率中的p_u, p_v是不一样的向量。

P(y|u, do(v)) and model learning

把Exposure Probability和Conditional Preference,代入如下图所示的公式,可以得到P(y|u, do(v))的估计值\hat{y_{uv}}

$P(y|u, do(v))$

上述整体的计算框架如下图所示。

Framework

模型学习

代码实现

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

pseudo code

心得体会

因果图中的U

作者在因果图中把V当做treatment,表示的是物品是否展示给用户被看做treatment。但是,物品是被展示给固定的用户的,也就是说U是条件,所以,作者估计的偏好outcome是一个条件概率(do算子是作用于一个条件概率的某一个分量)。这里我们是否可以把U, V都当做treatment呢?个人理解,不可以也不合理,因为U如果是treatment的一部分,do算子,将作用于整体,即do(u,v),那么这意味着我们可以干预查询的是哪个用户,或者干预查询用户的特征,显然是不合理的(也可能很多同学压根儿没有这个疑问)。

那么是否有U, V同时为treatment的场景呢?目前没有想到,如果U是content produce也许可能是treatment的一部分,但是应该或多一个随机变量P来表示,或者这个变量就是物品的一个特征而已。

P(m|v) = 1

作者限制了P(m|v)的取值,感觉可以这样理解,如果v不是目标物品,那么m不可以表示这个物品,或者说这个物品无法通过反映目标物品的特征来影响用户偏好,就好像不能通过一个物品让我们联想起另一个物品来改变我们对这个无偏的喜欢程度一样。

不过这个可能有点绝对,也许相似物品可以放松P(m|v)的限制,但是计算可能会比较麻烦。

文章引用

[38] Longqi Yang, Yin Cui, Yuan Xuan, Chenyang Wang, Serge Belongie, and Deborah Estrin. 2018. Unbiased offline recommender evaluation for missing-not-atrandom implicit feedback. In Proceedings of the 12th ACM Conference on Recommender Systems. 279–287.

(为了保证对应可查,引用将遵循原文的顺序和标号,额外引用将用*代表)
(虽然如下图所示有点多,如果觉得有用,不吝赞一个哇.)

相关文章

网友评论

    本文标题:因果推断推荐系统工具箱 - DCCF(二)

    本文链接:https://www.haomeiwen.com/subject/lxmizltx.html