0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全面介绍因果推断方向的基础方法

深度学习自然语言处理 来源:机器学习算法与自然语言 作者:陈歪歪 2021-05-26 09:39 次阅读

写在前面

这一部分主要介绍的是因果推断方向的基础方法,后面会对这个方向前沿的论文和方向做一些基础介绍,这些论文和方法有些我进行了精读或者实现。

有些只是粗略地了解了大概的主旨,但是会力求讲解得尽量清楚明白,这里的介绍不分先后,只是对不同方法进行介绍,不同领域在早期和近期都有相关新论文出现,有任何问题和建议欢迎评论和私聊。

meta learning

这个方向使用基础的机器学习方法去首先Estimate the conditional mean outcome E[Y|X = x](CATE),然后 Derive the CATE estimator based on the difference of results obtained from step 1,我们常见的uplift model里面one model和two model方法其实也是属于meta learning,在这个领域one model方法是所谓的S-learner,two model方法是所谓的T-learner

T-learner & S-learner

da194014-bd58-11eb-9e57-12bb97331649.png

这里不多赘述这两种方法,简单来讲,T-learner就是用分别的两个base learner去模拟干预组的outcome和非干预组的outcome,优点在于能够很好地区分干预组和非干预组,缺点则在于容易出现两个模型的Bias方向不一致,形成误差累积。

使用时需要针对两个模型打分分布做一定校准,S-learner是将treatment作为特征,干预组和非干预组一起训练,解决了bias不一致的问题,但是如果本身X的high dimension可能会导致treatment丢失效果。而且这两种方法更偏向于naive的方法,很多其他的问题比如干预组和非干预组样本不均衡的问题、selection bias的问题都未解决。

2. X-learner

在这两种方法的基础之上还有《Metalearners for estimating heterogeneous treatment effects using machine learning pnas.org/content/116/10》这篇论文中介绍的X-learner

首先跟T-learner一样,用base learner去预估干预组和非干预组的response

da48601a-bd58-11eb-9e57-12bb97331649.png

然后定义

da96615c-bd58-11eb-9e57-12bb97331649.jpg

这里D的定义为response的预估值和实际值的差值,然后我们用一个estimator去预估这里的D,最终我们的CATE就是这两个预估出来的τ的加权和。

dad604d8-bd58-11eb-9e57-12bb97331649.png

论文中用图来解释了这么做的原因,如下:

dae4b3f2-bd58-11eb-9e57-12bb97331649.jpg

如上图所示,如果我们的干预组和非干预组样本数量不均衡,如图A的蓝色,那么在预估蓝色的base learner时会出现无法拟合到中间上凸部分的情况,最终得到的treatment effect就是在中间部分下凸的结果。

但是如果我们使用了imputed treatment effect,会得到C中虚线的均衡结果。

论文中还提到了自己的实验,实验效果总结来看,如果treat和不treat的数据量差别比较大的时候,X learner效果特别好,但是如果CATE接近0的时候,X learner效果不如S learner,比T learner好,make sense的。

3. 总结性论文

meta learning的方法有非常多,这里只是提到较为经典的三种,其他meta learning的方法比如R-learner有点老了,这里不再介绍,在《Transfer Learning for Estimating Causal Effects using Neural Networks arxiv.org/abs/1808.0780》中比较有意思的是提到了很多方法的方案。

包括传统艺能S-learner,T-learner,X-learner和比如warm start T-learner、joint training等等,有兴趣可以看看。

representation learning

表示学习对于因果推断其实算是非常自然的想法,本身由于selection bias的存在,导致treament group和control group的人群自带偏差,而类似S-learner的方法又会使得treat的作用丢失,那么将人群embedding中并尽可能消除bias和保存treat的作用就非常重要了。

BNN & BLR

比较经典的论文有BNN、BLR《Learning Representations for Counterfactual Inference arxiv.org/abs/1605.0366》,整体的算法如图:

db1325e8-bd58-11eb-9e57-12bb97331649.jpg

其中B指的是loss:

db615a24-bd58-11eb-9e57-12bb97331649.png

loss包含了三部分:事实数据的误差+和与i最近的j的反事实数据的误差和事实数据+反事实数据的分布差异,那我们是怎么学习φ的呢?

一个方法是对于特征进行选择BLR,在embedding层只有一层,更加白盒,相当于特征筛选,只保留在treatment group和control group差距较小的特征。

db9877e8-bd58-11eb-9e57-12bb97331649.jpg

另一个方法是深度的方法BNN,embedding后整体的loss加入分布的差异。

dba8cb66-bd58-11eb-9e57-12bb97331649.png

2. TARNet

与这篇论文很相似的论文包括TARNet《Estimating individual treatment effect:generalization bounds and algorithms arxiv.org/abs/1606.0397》,这篇文章整体的思路跟BNN那篇有点像,说到了BNN那篇的问题。

这里面讲了BLR的两个缺点,首先它需要一个两步的优化(优化φ和优化y),其次如果如果φ的维度很高的话,t的重要性会被忽略掉,挺有道理的,但感觉跟那篇唯一的区别就是解决了一下treat和control组的sample数量不均衡的问题,所以火速看了一下就过了

loss的计算为:

dbcf74e6-bd58-11eb-9e57-12bb97331649.jpg

可以看出是在上篇论文的基础上增加了ω的加权,去除了样本不均衡的问题。整体的算法步骤如下:

dbfef6da-bd58-11eb-9e57-12bb97331649.jpg

把两步走的优化变为了同时优化,虽然优化看起来比较微小,但如果大家实际跑一下IHDP数据集的话会发现提升还是挺明显的。

3. CFR

还有一篇论文是在TARNet之上进行优化的,《Counter Factual Regression with Importance Sampling Weights https://www.ijcai.org/Proceedings/2019/0815.pdf》而本文的改进点也在ω上,不除以p(t),而是用一个网络学习了p(t|x),除以p(t|x)

dc1386f4-bd58-11eb-9e57-12bb97331649.png

作者将其简化为

dc25abcc-bd58-11eb-9e57-12bb97331649.png

可以用任何的网络去拟合第二项,整体的过程为:

dc90d226-bd58-11eb-9e57-12bb97331649.jpg

4. ACE

还有一篇论文讲到了另一个角度《Adaptively Similarity-preserved Representation Learning for Individual Treatment Effect Estimation cs.virginia.edu/~mh6ck/》

这篇主要的思想希望在representation之后能够尽可能地保留local similarity,用一个toy example来说如下:

dca417b4-bd58-11eb-9e57-12bb97331649.jpg

整体的框架如图:fprop(x)是提前训练好的倾向性得分function

dcb13f0c-bd58-11eb-9e57-12bb97331649.png

整体希望representation之前用x计算出倾向性得分相近的两个个体,representation之后,representation之间的距离还是相近,把最重要的部分贴下来如下:

dd13e58a-bd58-11eb-9e57-12bb97331649.jpg

其中Q是Ri和Rj的联合概率(R是representation),P是xi和xj的联合概率,similarity preserving loss就是Q和P的KL散度,其中S的函数如下:

dd659c04-bd58-11eb-9e57-12bb97331649.png

整体的loss包括正常的imbalance loss:

dd710396-bd58-11eb-9e57-12bb97331649.png

Factual y的分类或者回归loss:

dd7bd2d0-bd58-11eb-9e57-12bb97331649.png

还有similarity preserving loss,总的loss function就是:

dd9033e2-bd58-11eb-9e57-12bb97331649.png

5. SITE

还有一篇比较类似思想的论文是SITE《Representation Learning for Treatment Effect Estimation from Observational Data papers.nips.cc/paper/75》但这篇论文我没有非常认真地读,来自NIPS,也是非常经典的一篇,说的主要是普通的representation learning的方法考虑了全局的分布信息

但是没有考虑用户间的局部相似性,然后KNN的方法考虑了局部相似性,但是忽略了全局信息,这里面用了三元triplet pairs的方法选择三个对,用的是倾向性得分,倾向性得分在中间的一对,倾向性得分接近1的treat unit,倾向性得分接近0的control group,有兴趣的同学可以自己看一下。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8377

    浏览量

    132409
  • BNN
    BNN
    +关注

    关注

    0

    文章

    3

    浏览量

    2642
收藏 人收藏

    评论

    相关推荐

    一种基于因果路径的层次图卷积注意力网络

    机电系统中的故障检测对其可维护性和安全性至关重要。然而,系统监测变量往往具有复杂的联系,很难表征它们的关系并提取有效的特征。本文开发了一种基于因果路径的层次图卷积注意力网络(HGCAN),以提高复杂
    的头像 发表于 11-12 09:52 185次阅读
    一种基于<b class='flag-5'>因果</b>路径的层次图卷积注意力网络

    鉴源实验室·测试设计方法-因果

    上篇文章(ISO 26262中测试用例的得出方法-边界值分析)我们介绍了等价类方法和边界值方法,这两种方法广泛应用并适用于各种类型测试的设计
    的头像 发表于 11-05 15:17 129次阅读
    鉴源实验室·测试设计<b class='flag-5'>方法</b>-<b class='flag-5'>因果</b>图

    GPGPU体系结构优化方向(1)

    继续上文GPGPU体系结构优化方向 [上],介绍提高并行度和优化流水线的方向
    的头像 发表于 10-09 10:03 217次阅读
    GPGPU体系结构优化<b class='flag-5'>方向</b>(1)

    RS-485:自动方向介绍及其在系统中的作用

    电子发烧友网站提供《RS-485:自动方向介绍及其在系统中的作用.pdf》资料免费下载
    发表于 09-12 10:35 0次下载
    RS-485:自动<b class='flag-5'>方向</b><b class='flag-5'>介绍</b>及其在系统中的作用

    当系统闹脾气:用「因果推断」哄稳技术的心

    背景 系统稳定性问题往往涉及复杂的因果关系。例如,一个系统的崩溃可能由多个因素引起,包括硬件故障、软件bug、业务配置、外部攻击或其他操作不当等。理解这些因素之间的因果关系对于系统稳定性建设至关重要
    的头像 发表于 08-14 10:42 234次阅读
    当系统闹脾气:用「<b class='flag-5'>因果</b><b class='flag-5'>推断</b>」哄稳技术的心

    如何改变步进电机方向方法

    步进电机作为一种精密的控制电机,其方向控制对于许多应用至关重要。本文将详细介绍几种改变步进电机方向方法,并通过分析这些方法的工作原理和实际
    的头像 发表于 06-14 09:56 2310次阅读

    三菱plc脉冲+方向编程方法

    方式。本文将详细介绍三菱PLC脉冲+方向编程方法,包括基本概念、编程步骤、实例分析等内容。 一、脉冲+方向控制基本概念 1.1 脉冲信号 脉冲信号是一种周期性变化的信号,其特点是在一定
    的头像 发表于 06-12 14:10 2674次阅读

    伺服电机旋转方向参数设置方法

    伺服电机是一种高精度、高效率的电机,广泛应用于工业自动化、机器人、精密机械等领域。伺服电机的旋转方向是其控制的重要参数之一,正确设置旋转方向可以保证系统的稳定运行和精确控制。本文将详细介绍伺服电机
    的头像 发表于 06-12 10:11 2328次阅读

    功能测试覆盖中最常见的是什么方法

    功能测试覆盖是软件测试过程中的一个重要环节,它主要关注软件产品的功能实现是否符合需求规格说明。在功能测试覆盖中,有多种方法可以采用,以确保测试的全面性和有效性。本文将详细介绍功能测试覆盖中最
    的头像 发表于 05-30 14:55 593次阅读

    柔性电流探头方向判断的方法

    介绍。 首先,柔性电流探头通常有一个标记,如箭头或者色彩上的区别。这个标记通常显示了电流的流动方向。在进行测量前,仔细观察标记并确保将探头正确安装在被测电路上。如果没有标记或者标记不清晰,那么需要采取其他方法
    的头像 发表于 03-11 13:33 373次阅读
    柔性电流探头<b class='flag-5'>方向</b>判断的<b class='flag-5'>方法</b>

    亥姆霍兹线圈实验如何确定磁场方向

    亥姆霍兹线圈实验是一种用来产生均匀磁场的设备,它由两个平行的线圈组成,每个线圈都有相同的电流方向。在实验中,我们需要确定磁场的方向,以便正确地进行磁场测量和实验分析。本文将详细介绍亥姆霍兹线圈实验中
    的头像 发表于 03-09 09:21 1862次阅读

    线圈磁场方向的判断方法用什么符号表示

    线圈是电磁器件中广泛应用的一种结构,其具有产生磁场的功能。在实际应用中,了解线圈磁场的方向对于设计、运用和分析电路非常重要。本文将判断线圈磁场方向方法,即右手定则,并探讨其应用。 第一节:线圈磁场
    的头像 发表于 02-25 17:16 4207次阅读

    线圈磁场方向的判断方法用什么定则

    线圈磁场方向的判断可以利用右手螺旋定则。该定则是由法国物理学家安德烈-玛丽·安培(Andre-Marie Ampere)于19世纪提出的。 右手螺旋定则是一种用于判断电流所产生的磁场的方向方法
    的头像 发表于 02-25 17:07 4955次阅读

    ChatGPT是一个好的因果推理器吗?

    因果推理能力对于许多自然语言处理(NLP)应用至关重要。最近的因果推理系统主要基于经过微调的预训练语言模型(PLMs),如BERT [1] 和RoBERTa [2]。
    的头像 发表于 01-03 09:55 810次阅读
    ChatGPT是一个好的<b class='flag-5'>因果</b>推理器吗?

    GPT推断中的批处理(Batching)效应简析

    机器学习模型依赖于批处理(Batching)来提高推断吞吐量,尤其是对于 ResNet 和 DenseNet 等较小的计算机视觉模型。
    的头像 发表于 12-18 15:52 673次阅读
    GPT<b class='flag-5'>推断</b>中的批处理(Batching)效应简析