因果学习论文阅读

2023-11-10

[论文阅读] 因果机器学习的前沿进展综述 Overview of the Frontier Progress of Causal Machine Learning

在这里插入图片描述

因果概念

提出因果旨在解决虚假相关的问题。相关只需要保持两个变量的分布相同,而因果则说明两个变量之间确实存在某种联系。

Pearl 等人在阐述相关和因果之间的差异时提出了“因果之梯(ladder of causation)”的概念:自下而上将问题划分为关联干预反事实 3 个层次,分别对应于观察、行动和想象3类活动

反事实(counterfactual)考虑的是一种实际并未发生过也难以再次观测到的情景,因为它假定2次观测之间除了需要研究的变量有所改变外,其他外部变量取值和作用机制需完全保持一致.尽管反事实操作的结果直接反映了变量之间的因果关系,由于通常无法针对同一个体平行地实施 2 种不同操作,使得在实际应用中几乎无法用于因果判定,更多情况下只是作为一种指导性思想使用。

干预(intervention)指的是改变部分变量产生机制并维持其余机制不变的操作,是因果关系判定和度量的关键操作.如果对一个变量的干预改变了另一个变量的概率分布,则意味着前者是后者的因,是科学研究中最常用的手段,随机对照实验即属于这一思路.然而这种通过干预观测系统的改变来判断因果关系的做法并不能解决实际中所有的因果问题,在许多情况下干预操作的成本过高或实施风险过大,甚至可能因为违反伦理道德而无法实际实施,如研究吸烟对肺癌的影响时不能强制要求普通人群吸烟.这种情况下就需要避免对目标变量进行干预,而仅仅通过观测原有机制产生的数据来估计干预的效果,这类研究问题也成为因果推断领域重点关注的问题。

混杂因素(confounder)指的是一类变量,如果不对它们的取值进行控制,通过观测数据得到的干预结果的估计就会产生偏差.通常来说,混杂因素指的是那些能够对所研究的1对变量同时产生影响的因素

因果模型

分为潜在结果框架(RCM)和结构方程模型(SCM)。

1. 潜在结果框架

本质而言,潜在结果框架就和所谓的随机对照实验类似。人为地干预某个变量X,观察其变化导致的因变量Y的变化。当这种干预可行时,可以直接进行;当这种干预不可行,就只能基于潜在结果框架研究使用观测数据研究因果效应,即RCM。

该做法最早由 Rubin提出,因此该模型也称作鲁宾因果模型。RCM 对因果的描述较为简洁,除了要研究因果效应的 1 对变量以外,对其他变量的相互作用机制不做假设,因此经常在进行因果效应估计的场景使用。这种情况下需要考虑混杂因素,真实的 ATE ,即平均处理效应(average treatment effect, ATE)可以由通过控制全部混杂因素获得。对于变量进行控制指的是按照该变量的不同取值分组,组内计算效应期望之后再在组间计算期望。

上述计算所得的ATE只有在满足下列条件时才能反映出X,Y之间真实的因果效应。

  1. 个体处理值稳定假设:个体之间的潜在结果相互没有干扰
  2. 处理分配机制可忽略:固定混杂因素后,如何处理不改变潜在结果
  3. 正值性:每个个体采取某种处理方式均是有可能的。

采用控制所有混杂因素的方法计算 ATE 在实际问题中可能会遇到困难,通常是由于混杂因素的维度很高,控制相同取值的样本可能数量很少,导致期望估计不准确。针对这一问题,研究者们提出了多种解决方案.常见的方法有基于倾向性得分的估计方法、基于回归的估计方法以及两者相结合的方法。

然而,基于RCM的方法都要求混杂因素的值清晰可观测,这样就限制了部分场景下的应用。此时可以采用基于结构方程的方法。

1. 结构因果模型

结构因果模型SCM由Pearl提出,其思想是将所有需要考虑的变量组织成一个有向无环图,图的每个节点都代表1个变量,1条由节点A 指向节点B 的有向连边代表A对B有直接的因果作用。

结构因果模型中的一个重要概念是结构方程(structural equations),其假设每个节点都对应一个未观测到的外生变量(exogenous variable),节点的值由该外生变量及所有直接父节点变量通过一个方程所唯一确定。
X = f X ( P A X , N X ) X=f_X\left( PA_X,N_X \right) X=fX(PAX,NX)
之所以称为这些方程是“结构方程”,是因为其代表着变量的生成机制,只能由等式右边对左边赋值,而不能随意变换方向。外生变量描述的是对应节点变量的所有随机因素,其自身具有确定性的概率分布,通常未被观测也无法进行控制,而且 SCM 中假设所有外生变量之间相互独立。

通过结构方程和外生变量,SCM 能够很清晰地定义干预和反事实操作。

其中干预操作是将干预节点的结构方程替换掉,对应在因果图中即是去掉所有指向干预节点的箭头。在SCM模型中,该操作被定义为 d o do do算子。

例如将通过干预将节点X的取值置为1记作 d o ( X = 1 ) do(X=1) do(X=1),X的结构方程也对应修改为 X = 1 X=1 X=1,意味着X不再受其父节点和外生变量的影响。

而混杂因素的识别也可以借助因果图完成。混在因素对应的节点指向X,Y各有一条有向路径。与RCM中已知混杂因素所做的控制不一样,SCM中可以直接对自变量X进行 d o do do操作实现对ATE的计算。

上述方法的关键在于如何计算 P ( Y ∣ d o ( X = x ) ) P(Y|do(X=x)) P(Ydo(X=x)),这可以通过将因果图视为贝叶斯网络,通过概率分解得到。但是在因果图较高维时,计算难度较大,最常用的方法是后门调整(backdoor adjustment)

SCM相对于RCM最大的优势便在于使用了 d o do do算子进行计算,能够分析无法观测混杂因素时的因果效应。

在因果推断及因果机器学习任务中,因果图通常是未知的。一种方式是根据具体问题结合领域知识给出先验的因果图结构,另一种方式是从数据中学习部分因果图信息,目的是从一系列变量的观测结果中推断因果图结构,该任务被称作因果发现(casual discovery)

因果发现有以下几类主要方法:基于约束的方法、基于评分的方法和基于结构方程的方法。在实际应用中面临的最大问题是可识别性(identifiability),即能否从观测数据中识别唯一确定的因果图。

因果机器学习相关工作

首先,因果理论是一种针对数据中规律的普适分析工具,借助因果图等语言可以对研究的问题做出细致的分析,有利于对机器学习模型的目标进行形式化以及对问题假设的表述.其次,因果推断提供了消除混杂因素以及进行中介分析的手段,对于机器学习任务中需要准确评估因果效应及区分直接与间接效应的场景有十分重要的应用价值.再者,反事实作为因果中的重要概念,也是人在思考求解问题时的常用手段,对于机器学习模型的构建和问题的分析求解有一定的指导意义。

因果机器学习主要包括以下内容:

  1. 可解释性问题主要研究如何对已有机器学习模型的运作机制进行解释;
  2. 可迁移性问题主要研究如何将模型在特定训练数据上学到的规律迁移到新的特定环境;
  3. 鲁棒性问题主要研究寻找普适存在的规律使模型能够应对各种未知的环境;
  4. 公平性问题主要研究公平性度量指标并设计算法避免歧视;
  5. 反事实评估问题主要研究如何在存在数据缺失的场景中进行反事实学习

在这里插入图片描述

下面重点阐述因果学习在鲁棒性问题上的应用。

迁移学习允许模型获得目标环境的少量数据以进行适应,然而在一些高风险场景中,可能需要机器学习模型在完全陌生的环境中也能正常工作,如医疗、法律、金融及交通等.以自动驾驶为例,即使有大量的真实道路行驶数据,自动驾驶智能体仍会面临各种突发情况,这些情况可能无法被预见但仍需要被正确处理.这类任务无法提供目标环境下的训练数据 ,此时模型的表现称为分布外泛(out-of-distribution generalization)。如果模型具有良好的分布外泛化能力,则称其具有鲁棒性(robustness)。

通常,这类问题的解决办法是对训练样本进行家去处理,比如给训练集增加扰动使其分布更接近于真实情况。问题在于数据分布很难做到很好的近似,因此作用有限。

一些去偏置的算法。诸如图像分类中的去除背景等,已经初具因果思想。事实上是在去除混杂因子。问题在于对于一个复杂的系统而言,其混杂因子是很难确定的,因此通过先验解决该问题也有局限性。

因果理论的引入对于解决鲁棒性问题提供了新的思路,主要的优势在于对变量结构的建模和更合理的假设.这类方法包括反事实数据增强、因果效应校准和不变性学习.反事实数据增强考虑从数据入手消除伪相关关系,因果效应校准通过调整偏差特征的作用来减轻偏差,不变性学习通过改变建模方式学习不变的因果机制。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

因果学习论文阅读 的相关文章

  • Android性能分析和优化之traces.txt(ANR分析)

    ANR 类型分类 1 KeyDispatchTimeout 5 seconds 主要类型按键或触摸事件在特定时间内无响应 按键或者触摸引起的ANR的时间定于是在AMS中 static final int KEY DISPATCHING TI
  • C语言——文件操作

    C语言文件操作 使用文件的原因 文件 程序文件 数据文件 文件名 文件的打开和关闭 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 fseek ftell rewind 文本文件和二进制文件 文件读取结束的判定 文件缓冲区 使用
  • Python 入门习题

    如果下面代码有问题或者你有更好的实现方法欢迎与我私信 1 输入一个字符串 内容是带小数的实数 例如 123 45 输出是两个整数变量x和y x是整数部分123 y是小数部分45 你可以用split函数完成 str input L str s
  • iOS编程基础-OC(七)-运行时系统(续)

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 第7章 运行时系统 7 4 动态绑定 动态绑定 dynamic binding 是指在运行程序时 而不是在编译时 将消息与方法对应起来的处理过程 在运行程序和发送消息
  • Motionbuilder矩阵计算方式

    基本使用 对于类型为 FBModel 的对象 有 GetMatrix SetMatrix 方法来获取及设置其变换矩阵 GetMatrix pMatrix FBMatrix pWhat kModelTransformation pGlobal
  • SpringBoot 集成 Apollo 配置中心,一文搞定!(万字长文)

    由于 Apollo 概念比较多 刚开始使用比较复杂 最好先过一遍概念再动手实践尝试使用 1 背景 随着程序功能的日益复杂 程序的配置日益增多 各种功能的开关 参数的配置 服务器的地址 对程序配置的期望值也越来越高 配置修改后实时生效 灰度发

随机推荐

  • STM32操作增量式编码器(一)----使用外部中断实现测速

    1 编码器概述 这里对此不再详细说明 本博文重在如何使用编码器 有兴趣的同学可以去网上了解 或者参考一下博文 旋转编码器工作原理 2 增量式编码器控制思路 图2 1 编码器实物图 图2 2 编码器与MCU接线图 我们首先需要清楚编码器输出什
  • 【剑指Offer题解:java】从上往下打印二叉树

    题目 从上往下打印出二叉树的每个节点 同层节点从左至右打印 分析 初始化 一个队列Queue queue 将root节点入队列queue 如果队列不空 做如下操作 弹出队列头 保存为node 将node的左右非空子节点加入队列 做2 3步骤
  • Zimbra安装成功后,邮件发送失败!!急!!发生错误 (mail.TRY_AGAIN),原因不详。

    method unknown msg try again Unable to connect to the MTA code mail TRY AGAIN detail soap Receiver trace com zimbra cs m
  • Less-27and27a

    文章目录 1 思路分析 2 注入过程 3 27a 1 思路分析 这一关表上上告诉你他只是过滤了union和select 其实不然 function blacklist id id preg replace id strip out id p
  • MQ-2烟雾报警器

    MQ 2烟雾报警器 原理 MQ 2型烟雾传感器属于二氧化锡半导体气敏材料 属于表面离子式N型半导体 处于200 300摄氏度时 二氧化锡吸附空气中的氧 形成氧的负离子吸附 使半导体中的电子密度减少 从而使其电阻值增加 当与烟雾接触时 如果晶
  • 传输线阻抗理论

    一 理想元件阻抗特性 对于所有的理想元件 传输线 阻抗 为该导体两端的电压和流经该导体的电流的比值 一般包括阻抗 感抗和容抗的统称 电阻阻抗 电感感抗 电容容抗 显然 对于理想电感和电容 其阻抗和频率有关 理想电感器的阻抗随频率升高而增大
  • maven手动引入仓库文件操作

    捕获 jpg 一 idea打开maven命令窗口 在框里输入命令 mvn install install file DgroupId com elink web DartifactId jcifs Dversion 1 3 15 SNAPS
  • 【2021年全国大学生数学建模竞赛题】“生产企业原材料的订购与运输”详细解析(内附MATLAB代码)

    2021年全国大学生数学建模竞赛题 生产企业原材料的订购与运输 详细解析 内附MATLAB代码 文章目录 1 模型建立 1 1确定被评判对象的对象集及因素集 1 2确定各评价指标权重 1 3建立相对模糊及对因素的偏差加权平均 1 4根据Fj
  • Android APK安装完成自动删除安装包

    需要实现此功能 一般实际开发是在自动版本更新上 当更新完开始自动安装完毕后 删除内存卡里的安装包 实现方式很简单 监听应用广播 获取内存卡下的文件 删除 1 监听广播 java view plain copy package com exa
  • 数据库系统原理课程总结8——备份与日志初步、并发模拟实验

    一 备份与日志初步实验 1 了解你所使用的数据库平台的单表数据备份和整库备份方法 进行相应备份操作 并尝试利用备份数据在另一个机器上恢复数据 并在实验报告中描述上述过程 答 首先 在MySQL中使用mysqldump将数据库的单表数据以sq
  • Hutool(Excel工具使用)

    Hutool Excel工具使用 官方文档Hutool 目录 基本依赖的导入 Writer方法的使用 1 1 写出List数据 1 2 写出Map数据 1 3 写出我们的Bean对象 1 4 自定义Bean的key别名 1 5 写出到IO流
  • LeetCode-116.填充每个节点的下一个右侧节点指针、深度优先搜索

    题目分析 广度优先搜索 题目要求把二叉树中每一层的的节点连起来 最简单的方法即 BFS 按层的顺序的对树进行遍历 但需要使用 queue 数据结构 空间复杂度为 O N 不符合题目要求 深度优先搜索 由于 next 指针的存在 可以实现对二
  • Unity WorldToScreenPoint坐标变换

    功能 实现标签跟随物体运动 标签是一个Prefab 由底图和文字组成 Dota2中英雄血条的实现也是这种原理 说到底就是标签根据物体位置不间断刷新自己的坐标值 3D gt 2D gt 3D 先来了解一下Unity D中的坐标系统 1 Wor
  • 前台页面上传data image图片,java后台接收图片保存

    最近在项目中有这么一个需求 就是上传一个视频文件 然后要获取视频文件的第一帧图片 这个可以通过canvas获取得到 得到的是一个dataURL 之后还要将这个图片上传到云 这个时候如何操作就不清楚了 于是乎 google一番 总结如下 将d
  • Redis源码分析(三)—— 字典的设计与实现

    前言 字典是一种用于保存键值对的数据结构 Redis数据库使用字典做为底层实现 字典也是哈希键的底层实现之一 C语言中并没有内置字典这个数据结构 Redis自己实现了字典 以下结合源码分析Redis字典的设计与实现 源码版本 Redis 6
  • java执行linux命令:head -n 80 /dev/urandom

    看了微信小程序api后 发现登录Logo接口需要处理随机key 所以着手处理了一下 直接贴代码 先运行命令 让其生成168位随机数 private static String wxSessionkey F3UENUg3JcI31O2RpoB
  • weex实现带有跟手动画的tab栏

    在weex开发的群中看到有人提到这个问题 就想着去实现以下 还不是很完美 只支持一屏的tab栏内容 后续会进行优化 2019 6 20 更新 已支持滚动跟手 可以超出屏幕 2019 6 23 更新 解决子元素包含滚动标签时无法滑动切换的问题
  • Poppuwindow的简单使用

    继 DialogFragment的简单使用 之后 我们再来试试 Poppuwindow 的简单使用 切记 本篇博客只能保证你入门哦 适合小白学习 效果展示 1 几个常用的构造方法 public PopupWindow Context con
  • 什么是压力测试?如何进行Jmeter压力测试

    一 什么是压力测试 软件测试中 压力测试 Stress Test 也称为强度测试 负载测试 压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷 长时间或超大负荷地运行测试软件 来测试被测系统的性能 可靠性 稳定性等 常用的压力测试软
  • 因果学习论文阅读

    论文阅读 因果机器学习的前沿进展综述 Overview of the Frontier Progress of Causal Machine Learning 因果概念 提出因果旨在解决虚假相关的问题 相关只需要保持两个变量的分布相同 而因