2

【因果科普】机器学习不是曲线拟合:ML beyond Curve Fitting - Part 4(因果图、马尔...

 2 years ago
source link: https://zhuanlan.zhihu.com/p/394503961
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【因果科普】机器学习不是曲线拟合:ML beyond Curve Fitting - Part 4(因果图、马尔科夫分解、结构方程模型)

柏林工业大学 建筑能源数字化博士在读

本文来自最近找到的一个国外博士后博主,剑桥大学机器学习高级讲师:Ferenc Huszár[1];他在个人博客上推出了一系列与机器学习相关的科普文章,尤其是对因果推理和因果机器学习进行了深刻的描述。本文是我阅读综述 ML beyond Curve Fitting 总结翻译得来,也有助于让自己更好的理解文章内容(小黄鸭调试法!)。我相信网上已经有相关的翻译,希望能够帮助你了解更多有关因果关系机器学习的相关知识。

阅读本文默认你已经掌握相关 统计学、机器学习深度学习(监督、非监督、强化学习以及常用网络和机制)概率论尤其马尔科夫,贝叶斯相关概念,和基础的python编程知识

禁止全文转载,大篇幅引用请标注出处并私信告知!

@陈什么夏

全文很长,由四部分组成:

第1部分:因果推理和do算子(do-calculus)的介绍
第2部分:一个因果干预(Interventions)实例
第3部分:反事实(Counterfactuals)
第4部分:因果图(Causal Diagrams)、马尔科夫分解(Markov Factorization)、结构方程模型(Structural Equation Models)

如果你对这篇文章所涉及的知识比较陌生,可以点击之前的部分跳转进行阅读。

第4部分:因果图(Causal Diagrams)、马尔科夫分解(Markov Factorization)、结构方程模型(Structural Equation Models)

在这片文章中,我们着重阐述因果模型与统计模型之间的关系。与统计模型相比,因果模型需要更细粒度的世界模型。许多因果模型等效于相同的统计模型,但支持不同的因果推断。

马尔科夫因式分解(Markov Factorization)

有一个例子可以帮助我们快速理解马尔科夫因式分解

在一个棋盘中,你要从左下角起始位置到右上角目标位置,一次你只能选择向前一步或者向右一步,一共有多少中走法?

实际上,最终不论你怎么走完全无所谓,因为结果都是一样的。所以我们可以认为——从目标位置和到达目标的过程——这是一个多对一的映射。这同样适用于随机变量和因果生成模型。

假设我们有一堆随机变量 [公式] ,它们的联合分布是 [公式] ,如果你熟悉概率论中的链式法则(chain rule),你可以有多种方式表达因式乘积:

[公式]

其中 [公式] 可以是所有下标的任意排列组合,这种因式分解和它们所表达的联合分布之间的映射是多对一的。如下图所示:不同的因式分解引起了不同的图形,但有相同的联合分布:

图一:多对一的因式分解排列组合映射相同的联合分布

既然你对这系列文章感兴趣,你可能也了解在因果推理中经常谈论的因果分解:

[公式]

其中, [公式] 表示节点 [公式] 的因果父节点。这是对联合分布进行因子化的众多可能方式之一,但我们认为这个方式很特别。在最近的工作中,Schölkopf[2]等人称它为 分解因式(disentangled)模型。它的特别之处在于能够描述产生数据的机制的独立性。换句话说,对于每个联合分布,有许多可能的因式分解,但我们假设只有一个,即因果或分解因式,这描述了产生数据的真实基本过程。

举一个例子:海拔A与平均气温T。在这种情况下,因果方向是 [公式] ,即:如果海拔变化,温度的分布也会变化。但是你不能通过人为的通过加热一个城市来改变海拔高度。最后,我们得到了 [公式] 的因式分解。之前提到的Schölkopf等人的论文将主要其称为独立因果机制(ICM,Independent Causal Mechanisms)原则,即:

通过对分解因式模型中任何因素的父节点进行调节,该因素既不能给你关于其他因素的进一步信息,其本身也不会受到影响。

在上面的例子中,即使考虑不同国家的海拔分布,我们仍然可以使用相同的独立因果因素[公式] ,这个例子在ICM原则之上直接成立。知道任何一个因素--例如 [公式] --都不能说直接明其他因素的情况:有人对你说这里的海拔是350米,温度是7℃,你无法分辨出这是哪一个国家。这个我们也可以称其为因果关系的信息不对称性。

统计推断与因果推断

我们讨论了马尔科夫因式分解(Markov Factorization),因为它们有助于我们理解统计推理(Statistical Inference)和因果推理(Causal Inference)之间的哲学差异。虽然人们可以在两种范式中都使用马尔可夫因式分解,但是:

使用马尔可夫因式分解对统计推理来说是可选的,但对因果推理来说却是必须的。

为什么统计推理会使用马尔科夫分解呢?因为数据的因子化模型在计算上更有效率。与其直接对一个联合分布进行建模:在 [公式] 个二元变量的情况下,会有 [公式] 个不同的值。相比而言,因子化的版本可以是相当轻量级和参数高效的。如果你能够将联合分布分解成8个因子,每个因子有 [公式] 个变量,那么使用 [公式] 个参数即可描述模型。如果n=16,那两种方法的可变值就是65,535对31。同样,以因子化的形式表示分布,可以使用高效的、通用的消息传递算法,如信念传播(Belief propagation)或期望传播(Expectation propagation)。

另一方面,因果推理如果没有马尔可夫因式分解,就无法提出因果主张。因为使用马尔科夫因式分解,我们才能推理出干预措施(Interventions)。如果你没有分解的因子,我们就无法模拟干预措施对使系统运转的真正机制的影响。

用普通的机器学习术语来说,你想做的是领域适应(Domain adaptation),也就是说,你想对一个你没有观察到的分布(干预性的)得出结论。马尔科夫因子化规定了你期望分布发生变化的方式:一次改变一个因子;从而能够稳健地归纳或得出推论的分布集。

Do算子(Do calculus)

Do-caclculus,即本系列第一篇文章的主题,可以相对简单地用马尔科夫因式分解来描述。正如第一篇文章所述, [公式] 意味着将变量 [公式] 干预设定为数值 [公式] ,这意味着该变量的分布 [公式] 坍缩为一个点。我们可以通过用狄拉克德尔塔 [公式] 替换因子 [公式] 来建立这种干预的数学模型,从而删除图形模型中所有被干预因子的传入边。然后我们对 [公式] 进行边际化(marginalise),以计算剩余变量的联合分布。例如,如果我们有两个变量 [公式][公式] ,我们可以写成:

[公式]

SEMs、马尔科夫因式分解和重参数化(Reparamtrization

如果你读过本系列的前几部分,你会知道马尔可夫因式分解并不是我们在因果推断中使用的唯一工具。对于反事实,我们使用了结构方程模型(SEMs, Structural Equation Models)。在这一部分中,我们将用一个参照物来说明这些之间的联系,即VAEs中使用的重构技巧等。

但在此之前,让我们回顾一下SEM:通过一个函数赋值来定义子节点和它的父节点之间的关系。对于节点[公式] 和其父节点 [公式] 来说,它的形式为:

[公式]

其中, [公式] 表示随机噪音。在这里,"="只是为了方便阅读,在数学中,这应该是":=" (被定义)。上述方程将条件概率 [公式] 表示为 [公式] 和一些噪声变量 [公式] 的确定性函数。其实就相当于进行了符合马尔科夫因式分解的重参数化。

因此,SEM的表述(称为隐性分布)是通过重构技巧与 [公式]和给定的父节点的条件概率相关。

因果模型的类别

因此,我们可以说,SEM是一个条件分布,反之亦然。但这些构造的集合是如何相互关联的?

如果你有一个SEM,那么你可以读出其中的因果条件结构(唯一的)。相反,如果给定一个条件,我们能够找到多个SEM。就像可以用不同的重构方式来表达一个条件分布一样,也可以用多个SEM来表达同一个马尔科夫因子。例如,考虑到如果你的分布是 [公式] ,那么将其乘以-1就可以得到相同的分布。在这个意义上,结构方程模型是比马尔科夫因式分解更丰富的一类模型,因此它们允许我们进行推论(反事实),而这些推论我们无法用马尔科夫因式分解这种较为粗略的语言来表达。

正如我们上面所讨论的,一个联合分布有多个有效的马尔科夫分解,而同一个马尔科夫分解可以被表达为不同的SEM。我们可以把联合分布、马尔可夫因式分解和SEM看作是越来越细的模型类别:

联合分布 [公式] 马尔可夫因式分解 [公式] 结构方程模型SEM

对数据生成过程建模了解越多,你能做出的推论就越精细。因此,联合分布允许你在没有机制转变的情况下进行预测,马尔科夫分解允许你对干预进行建模,SEM允许你做出反事实的陈述。

本篇的文章内容比较晦涩,但是给出了一个很好的通篇总结,可以帮助我们在了解因果模型的基础上,进一步区分不同模型的能力边界和可用的工具。

谢谢你阅读到这里。

码字不易,点个赞吧~?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK