基于评分搜索的方法:利用搜索算法和评分函数,对每一个搜索到的网络结构进行评分,最终搜索出评分最高的网络结构。搜索算法的复杂度和精确度直接决定了学习算法的搜索效率,评分函数的优劣也直接决定了算法的计算复杂度和精确度。所以选择合理的优化搜索算法和评分函数是该类方法的核心问题。该类方法容易陷入局部最优解而无法达到全局最优,并且结构空间的随节点的增加呈指数增加(空间复杂度)。基于依赖统计分析的方法:分析变量间的依赖关系,在依赖性较大的两节点之间添加连接边,得到无向图。然后根据包含关系等方式确定无向图中边的方向,得到最终的有向无环图。本文要讨论的 PC 算法就是这类方法中(比较古老)的一种。该类方法能获得全局最优解,但随着节点的增加,算法的时间复杂度会增加得很快;并且它不能区分同属于一个马尔可夫等价类的图,这一点后面会讲到。
参数学习:在给定网络结构时,确定网络参数,即参数估计问题:
不含隐变量:如果图模型中不含隐变量(latent variable),即所有变量都是可观测的,那么网络参数一般可以直接通过最大似然来进行估计。含隐变量:有些时候 中的变量有很复杂的依赖关系,这时通常会引入隐变量 来简化模型。如果图模型中包含隐变量,即有部分变量是不可观测的,这时就需要用 EM 算法(Expectation Maximum,期望最大化算法)来进行参数估计。如果 EM 算法中的后验是 intractable 的,那么又需要用变分推断(Variational Inference)来寻找一个简单分布来近似后验。你可能会想到用神经网络去拟合这个后验不就完事儿了,是的这就是变分自编码器(Variational Auto-Encoder,VAE)的思想。本文不讨论参数学习问题,但我在我的笔记本上写了一些参数学习相关的东西,有兴趣的话可以看一看。
推断问题:在已知部分变量时,计算其他变量的条件概率分布
<hr/>PC 算法
好的现在讲主题了,用 PC 算法[1]来学习出贝叶斯网络的结构。如上文所述,PC 算法会先确定节点间的依赖关系(但不确定方向),即先生成一个无向图,然后再确定依赖方向,把无向图扩展为完全部分有向无环图(Completed Partially Directed Acyclic Graph,CPDAG)。
依赖关系确立
这样会得到一个无向图,图中的无向边表示它连接的两个节点之间有依赖(因果)关系,这样的无向图叫骨架(skeleton)。PC 算法把上述过程转化为了 d 分隔(d-separation)[2]问题。
d 分隔
节点集合 能 d 分隔节点 与节点 ,当且仅当:给定 时, 与 之间不存在有效路径(active path),即 和 在 下条件独立(记作 )。
用 表示能够 d 分隔 和 的点集,用 表示图 中节点 的相邻点集,那么 PC 算法检验条件独立性的具体流程为[3]:
Estimating High-Dimensional Directed Acyclic Graphs with the PC-Algorithm
简单总结一下:
repeat
for 每个相邻点对
for 或 的所有可能的节点数为 的子集
测试 能否 d 分隔 如果能,说明 和 之间不存在有效的依赖关系,所以删除边 ,并将这个点集加入 和 ,break
until 当前图中的所有的邻接点集都小于
Fisher Z Test
为了判断 d 分隔,我们需要对任意两个节点进行条件独立性检验,PC 算法采用了 Fisher Z Tes[4]作为条件独立性检验方法。实际上 Fisher Z Test 是一种相关性检验方法,但 PC 算法认为这一堆随机变量整体上服从多元高斯分布,这时变量条件独立与变量之间的偏相关系数为 0 等价(多元高斯分布的基本特性,证明过程可以参考 Steffen L. Lauritzen 的课件[5]第 4.2.1 节),所以可以用 Fisher Z Test 进行条件独立性检验。
^An Algorithm for Fast Recovery of Sparse Causal Graphs. Peter Spirtes and Clark Glymour. Social Science Computer Review 1991.http://shelf2.library.cmu.edu/Tech/28463803.pdf
^Estimating High-Dimensional Directed Acyclic Graphs with the PC-Algorithm. Markus Kalisch and Peter Buhlmann. JMLR 2007.https://arxiv.org/pdf/1304.1505.pdf
^d-Separation: From Theorems to Algorithms. Dan Geiger, et al. UAI 1989.https://www.jmlr.org/papers/volume8/kalisch07a/kalisch07a.pdf
^Frequency Distribution of the Values of the Correlation Coefficient in Samples from an Indefinitely Large Population. R. A. Fisher. Biometrika 1915.https://www.quantresearch.org/Fisher%20transform%20seminal%20paper.pdf
^Elements of Graphical Models. Steffen L. Lauritzen. 2011.http://www.stats.ox.ac.uk/~steffen/teaching/gm10/stflournotes.pdf