因果推断推荐系统工具箱 - CCF(四)

文章名称

【AAAI-2019】【Rutgers University】Causal Collaborative Filtering

核心要点

文章旨在将现有的基于相关性的协同过滤模型,扩展到基于因果的协同过滤模型,使得模型能够打破观测数据的边界,真正的估计那些没有被观测到的反事实结果。作者提出了一个通用的协同过滤框架CCF来建模推荐系统中的因果关系,并且表明原有的基于相关性的协同过滤模型是CCF的特例,是简化CCF因果图之后的结果。作者还提出了一个条件干预方法来模拟do-calculus,以此从观测数据中估计因果关系,并利用新提出的反事实约束学习框架估计用户对物品的偏好。

上一节描述了如何利用观测数据和反事实数据估计P(y|u, do(v)),并详细介绍了简单的反事实样本生成、筛选以及条件期望的计算。本节继续介绍,所谓的反事实约束以及模型参数的学习方法。

方法细节

问题引入

上一节提到利用如下图所示的公式,基于生成的反事实样本和观测数据,可以得到p(y|u,do(v))的估计值。

p(y|u,do(v))

但是,如何学习模型g的参数呢?

具体做法

在给定推荐模型g的情况下,我们期望用户的偏好y = f(u, v) \propto p(y|u, do(v))是真是的因果效应的估计(或者叫代理值吧)。此时,要求P_g(y|u, x, v) = P(y|u, do(v))也就是说,利用模型g估计出的偏好的概率分布和实际因果效应下的概率分布一致。

观察如下因果图中的子图c,\{U, V \}满足后门准则,可以利用条件概率直接估计VY的因果效应(可识别性),也就是说P_g(y|u, x, v) = P(y|u, do(v))可以满足。

manipulation causal graph

基于此,我们可以利用P_g(y|u, x, v) = P(y|u, do(v))当做模型g训练目标的某种(反事实)约束限制条件。

将如下图所示的公式7,带入P_g(y|u, x, v) = P(y|u, do(v)),并利用P(y|u, x, v)代替P_g(y|u, x, v)(这里的意思是观测的数据分布是由g产生的)。

p(y|u,do(v))

由此可以得到如下图所示的等式。第一个等号,P_g(y|u, x, v) = P(y|u, do(v)) =P(y|u, x, v)

equality

如前所述,在分配各个样本(实际观测与反事实样本)的观测概率时(分配如下图所示),确定\alpha + n \beta = 1

distribution of examples

因此,对于每一个反事实样本,其与实际观测样本元组(x, x\prime)都满足如下图所示的关系。

equality between observed example and counterfactual example

Counterfactual Learning

反事实约束目标可以分为两种,离散的和连续的(其实都是一回事儿),

  • 离散情况下,其约束目标如下图所示。其中\mathcal{I}(u)是指训练集中,除去x中的物品以外的交互物品。C(u, v)是基于v, u生成的反事实样本集合。这个约束的本质是要求反事实和观测的概率偏差不要太远。\epsilon是控制这种远近的超参数。L(g)是推荐模型的训练目标。
    discrete counterfactual constraint
  • 连续情况下,其约束目标如下图所示。本质是将上述离散的约束推广到连续空间,以适应当前比较流行的表示学习的场景(用户和历史交互都表示成了embedding,而反事实样本就是对历史embedding的一些小扰动)。


    continuous counterfactual constraint

值得注意的是,作者表示上述积分最终用Monte Carlo方法估计,实际还是回到了离散的情形。

Model Learning and Optimization

很那直接优化上述约束目标,因此作者对目标做了一些放松,利用损失函数中的额外惩罚项来近似约束(常规的松弛操作)。离散情况下,作者得到了公式12的拉格朗日优化形式,如下图所示。

Lagrange optimization form in discrete settings

在连续的场景下,可以进行类似操作。值得注意的是,公式13中的||\boldsymbol{x} - \boldsymbol{x}\prime||_2 < \epsilon_2没有被进行转化,因为这一步可以在生成反事实样本的时候,通过挑选样本来满足。最终,连续场景的拉格朗日优化形式如下图所示,同样利用蒙特卡罗法求解。

relaxed objective

心得体会

P(y|u, x, v)代替P_g(y|u, x, v)

个人感觉,这个地方假设较强。要求观测分布是与目标模型的分布一致的。实际场景中,经常会出现产生观测数据的模型不是目标模型的情况。此时,P(y|u, x, v)可能和P_g(y|u, x, v)是不一致的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 12,146评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 8,718评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 9,069评论 0 2
  • 今天理好了行李,看到快要九点了,就很匆忙的洗头洗澡,(心存一份念想,你总会打给我的🐶)然后把洗头液当成沐浴液了😨,...
    bevil阅读 7,704评论 1 1
  • 那年我们15,像阳光一样温暖的年纪。每天我都会骑自行车上学,路过田野,工厂,医院,村庄,有微风,有阳光,有绿...
    木偶说爱你阅读 7,233评论 0 3