直观地说,贝叶斯网络结构学习是如何工作的?

机器算法验证 相关性 因果关系 贝叶斯网络
2022-03-25 23:39:43

从贝叶斯网络文献中的数据中学习因果关系对我来说是一个谜。因为贝叶斯网络文献中的大部分数据都没有“时间顺序”的信息。算法如何知道哪个原因导致哪个?

例如,我们有关于数千人收入的数据。对于每个人,我们都有一个人的年龄、性别、教育和收入。我可以看到算法或假设检验可以测试两个变量是否独立,即确定两个变量中是否存在边。但是如何直观地确定箭头的方向呢?换句话说,算法如何知道它是年龄原因教育还是相反?

在此处输入图像描述

正如Pearl2009中所讨论的,“因果概念是无法从联合分布中定义的任何关系”,该论文建议“结构因果模型”是一个进行因果推理的框架。但它是如何直观地工作的呢?其中,我们可以从数据中获得的最好的东西就是所有变量的联合分布。

2个回答

贝叶斯网络文献中有一个概念,叫做I-equivalence如果两个贝叶斯网络结构编码相同的条件独立集,则它们称为 I 等价。例如,以下三个结构是 I 等价的,因为它们都编码A独立于C给定B

ABC
ABC
ABC
但是下面的结构确实不属于上述三个结构的I-等价类:
ABC
这是因为v-结构或头对头节点B在上述结构中,A不独立于C给定B有一个非常有用的定理可以检查两个结构的 I 等价性:

两个贝叶斯网络结构是 I 等价的当且仅当它们具有相同的不道德和相同的骨架不道德是头对头的节点,父母之间没有任何边缘。例如,A\rightarrow B \leftarrow C是不道德的,但如果ACABC之间存在边,则不是不道德贝叶斯网络结构的骨架只是它的无向版本。AC

显然,I-等价关系是将结构空间划分为等价类的等价关系。在上面的例子中,属于另一个类,而不是其他三个结构的类。在您的示例中,属于同一个等价类。ABCAgeEduAgeEdu

没有贝叶斯网络结构学习算法可以仅根据数据从等价类中选择结构。换句话说,等价类中的结构不能仅根据数据来区分因此,仅基于数据,贝叶斯网络结构学习不能支持而不是,反之亦然。AgeEduAgeEdu

请注意,这并不意味着结构学习算法无法在图中找到任何方向。例如,如果根据数据发现图的骨架是并且不独立于给定,它会得出结论应该有一个 v 结构,即正确的结构是ABCACBABC

尽管仅基于数据不可能在等价类中选择结构,但正如 Diego 提到的,我们可以利用数据以外的其他知识来找到无向边的方向。例如,在我们最近的工作[1] 中,我们尝试使用专家的知识来找到更准确的贝叶斯网络结构。

希望这个简短的总结能回答你的问题。有关更多信息,我鼓励您阅读 Koller 和 Friedman [2] 的优秀著作的第 3 章。

[1] 阿米尔哈尼、侯赛因等人。“利用专家的知识进行贝叶斯网络的结构学习。” IEEE 模式分析和机器智能汇刊 (2016)。

[2] 科勒、达芙妮和尼尔弗里德曼。概率图形模型:原理和技术。麻省理工学院出版社,2009 年。

没错,贝叶斯网络不包含任何有关真实因果关系的信息,它只是假设一个随机变量直接影响另一个随机变量,这些变量的联合分布告诉我们第二个变量也直接影响第一个变量。它们只是两个数学观点,给出了相同的结果。

然而,在某些情况下(我们可以强制这些情况发生),我们拥有的不仅仅是联合分布,我们还有由 Judea Pearl 制定的Do-Calculus,它为我们提供了有关变量(或网络)在外部干预。当您尝试回答时,可以捕捉到主要概念:

P(X | do(Y=y)) = ?

其中do(Y=y)是外部强迫Y成为y的行为,而忽略了Y仅依赖于其父项。这为我们提供了有关贝叶斯网络的真实因果结构的更多信息。当你有有时被称为Interventional Data的数据,即在外部干预下生成的数据时,do(Y=y)语句忽略了网络中所有Y可能的父节点(这是关于结构的额外信息),那么你可以推断真实的因果结构更准确。

在您的示例中,在您的情况下,您可以获得数据,例如,假设在整个数据的一个子集中,变量Education被强制设置为受过教育的值(因为我们采取了教育这些人的行动),那么如果在该部分中,变量EducatedAge之间仍然存在“相关性”,您知道箭头应该是Education -> Age,因为Education被迫没有任何父母,包括Age