因果推断导论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 贝叶斯网络

假设图G表示变量集V的有向无环图,P(V)表示变量集V的一个联合概率分布,在介绍贝叶斯网络定义之前,我们首先定义贝叶斯网络中的马尔可夫假设,如定义1-11所示。

定义1-11 马尔可夫假设(Markov Condition) 在图G中,对于任意的节点ViV,在给定其父节点的条件下,Vi和它的非子孙节点条件独立。

例如,在图1-4中,YS的非子孙节点,给定S父节点集{X,B}的条件下,YS条件独立。

定义1-12 贝叶斯网络[9-10] 如果三元组<V,G,P(V)>满足马尔可夫假设,则称三元组<V,G,P(V)>为贝叶斯网络。

贝叶斯网络由有向无环图G和一个联合概率分布P(V)构成,如图1-10所示的贝叶斯网络由四个节点构成的有向无环图和相应的条件概率分布表构成。一个满足马尔可夫假设的贝叶斯网络蕴含了一系列条件独立性假设,变量间的依赖/独立性关系可以由一个仅包含有向边的有向无环图G表示。贝叶斯网络的核心是有向无环图G,其节点为实践领域中的随机变量(属性或特征)。根据马尔可夫假设,贝叶斯网络所蕴含的条件独立性关系可将联合概率分布P(V)分解为

Pa(Vi)表示节点Vi的所有的父节点集合。式(1-1)表示贝叶斯网络所蕴含的条件独立性假设将分布P(V)分解成一系列局部的条件概率分布,它是一个复杂高维概率分布的低维表示。式(1-1)的每个局部概率因子表示一个变量在网络中给定父节点时的条件概率。因此,贝叶斯网络利用有向无环图和马尔可夫假设将一个高维的概率分布估计问题转化为低维的局部概率分布估计问题。如图1-10所示的贝叶斯网络的四个节点的联合概率分布由每个节点与它的父节点构成的局部概率分布表示。

图1-10 一个简单的带有条件概率分布表的贝叶斯网络

下面我们介绍贝叶斯网络如何利用有向无环图和马尔可夫假设分解一个高维的联合概率分布。对于定义在N个二元随机变量上的联合概率分布P(V)=P(V1,V2,…,VN),确定这个分布需要2N-1个独立参数,因此直接计算联合概率分布P(V)相当困难。假定(V1,V2,…,VN)是V中的变量相对于有向无环图G的一个拓扑序列,一般使用概率的链式法则可以把P(V)进行如下分解:

N较大时,使用链式法则进行联合概率分布P(V)分解,式(1-2)仍然很难计算。根据式(1-1),假设每个节点在图G中最多有k个父节点,那么所需要的独立参数的个数将少于N×2k。在很多实际应用中,k往往远小于N,使得贝叶斯网络中的参数个数指数级地小于联合概率分布参数的个数。例如,对于式(1-2)中的概率因子P(Vi|V1,…,Vi-1),如果所有Vi的父节点都在集合{V1,…,Vi-1}中,此外,该集合中不存在Vi的子孙节点且An(Vi)为Vi的祖先节点集,即{V1,…,Vi-1}=Pa(Vi)∪An(Vi)。根据马尔可夫假设,P(Vi|An(Vi),Pa(Vi))=P(Vi|Pa(Vi)),即ViAn(Vi)|Pa(Vi)。因此,联合概率分布P(V)可分解写成式(1-1)。例如,图1-11中贝叶斯网络的联合概率分布P(X,Y,Z,W)=P(X)P(Y|X)P(Z|Y)P(W|Z)。对于离散数据,我们不需要创建一个联合概率表,只需要为四个局部概率分布P(X)、P(Y|X)、P(Z|Y)、P(W|Z)创建四个条件概率表,如图1-11所示。

图1-11 利用贝叶斯网络和式(1-1)估算联合概率分布的例子

图1-11是一个4个节点的贝叶斯网络,令X代表有雪/无雪,Y代表路面结冰/路面无冰,Z代表路面打滑/路面不打滑,W代表摔跤/没有摔跤。虽然只有4个变量,但是根据人类的经验直接估计P(无雪,路面无冰,路面打滑,摔跤)的概率比较困难。

根据马尔可夫假设,P(无雪,路面无冰,路面打滑,摔跤)可以分解为P(无雪)P(路面无冰/无雪)P(路面打滑/路面无冰)P(摔跤/路面打滑)4个局部概率。根据天气常识,P(无雪)的概率比较高,比如0.8。同样,P(路面无冰/无雪)的概率也相当高,比如0.9。P(路面打滑/路面无冰)的概率很小,比如0.01。但P(摔跤/路面打滑)的概率应该很高,比如0.8。于是根据所有这些数据,大概估算P(无雪,路面无冰,路面打滑,摔跤)的概率为0.8×0.9×0.01×0.8=0.00576。

图模型中的d-分离与数据分布中的条件独立性是两个不同的概念,那么如何实现图模型与其生成数据的交互?下面我们介绍贝叶斯网络中另一个重要假设——忠实性假设(Faithfulness Assumption),如定义1-13所示。

定义1-13 忠实性假设 给定一个贝叶斯网络<V,G,P(V)>,对于V中任意两个节点ViVj,以及ZV\{Vi,Vj},如果给定条件集ZViVj条件独立与ViVjG中被Z“d-分离”一一对应,即XGY|ZXPY|Z相互等价,则称P(V)忠实于G同时G忠实于P(V)。

在定义1-13中,符号XGY|Z表示在给定Z的条件下,XY在图G中被d-分离;符号XPY|Z来表示在给定Z的条件下,XY在联合概率分布P(V)上条件独立。

忠实性假设使得图模型中的d-分离与数据分布中的条件独立性相互等价。因此,这个假设使我们可以从数据集中学习产生这个数据集的图模型成为可能。d-分离蕴含着图模型背后的数据生成机制,即数据中蕴含的条件独立性关系。如果数据D[1]由图G生成,d-分离将告诉我们数据D中的哪些变量在哪些变量的条件下是条件独立关系。同时我们也可以从数据D中利用条件独立性检验方法检验图G中哪些变量在哪些变量的条件下是d-分离关系。图G作为数据D的生成机制,如果G中的两个变量XY被变量Z“d-分离”,那么在数据D中,给定Z,XY应该条件独立。如果XY条件独立不成立,那么数据D不是由图G生成。因此,如果图G中的所有d-分离条件均与数据D中的条件独立性一致,那么可以认为图G精确地生成了数据D

因此,忠实性假设不仅使我们可以从一个图模型出发生成一个数据D,也可以从一个数据D出发反推出因果图模型,这也是数据驱动的因果结构学习方法奏效的关键假设。

贝叶斯网络与结构因果模型都是在贝叶斯网络理论的基础上发展与演化而来的,因此贝叶斯网络的所有概率性质与在其基础上发展起来的概率推理算法在因果关系推理与因果效应计算中仍然有效。贝叶斯网络的概率推理任务是在给定一个变量集合Z的观测值(证据)时,计算出另一个被查询的变量集合Q的后验概率分布,即条件概率查询P(Q|Z)。例如,在图1-11中,条件概率查询P(Wet grass=no|Cloudy=yes))表示观测到多云天气(Cloudy=yes)时,草地没有湿(Wet grass=no)的概率,其中Cloudy=yes是观测到的值或证据,而Wet grass=no是需要被查询的后验概率。

给定一个贝叶斯网络,研究者提出了一系列的条件概率查询算法。变量消元(Variable Elimination)法是一个经典的贝叶斯网络概率推理算法,绝大多数的概率推理算法都是变量消元法的推广和发展,例如桶消元法和联合树算法。变量消元法利用贝叶斯网络的联合概率分布的模块化性质将联合概率分布分解为每个节点给定其父节点的条件概率的乘积,然后通过改变求和与乘积运算的次序对联合概率分布的变量进行边缘化,实现联合概率分布中的变量消除。我们通过图1-12给出一个消元推理的例子。求解P(J,Y,M)的联合概率分布,需要对联合概率分布公式中的变量C,Z,L进行求和,从而实现消元。

图1-12 贝叶斯网络与消元推理

根据图1-12和式(1-1),可得联合概率分布:

对于条件概率分布P(J|M,Y),根据贝叶斯法则可得

Z表示除J,Y,M的所有变量。根据图1-12和贝叶斯网络联合概率分布,对于条件概率分布P(J|M,Y),消元推理算法计算公式如下:

但是对变量C,Z,L,J来说,先从哪个变量开始求和实现边缘化是一个比较困难的问题。一般来说,寻找一个最优的变量消元顺序是一个NP难问题。

另外,因果贝叶斯网络与结构因果模型的核心是有向无环图,因此从观测数据中学习有向无环图也是贝叶斯网络的核心研究内容之一。更多贝叶斯网络概念、理论与推理算法,请阅读Pearl的2014版专著Probabilistic Reasoning in Intelligent SystemsNetworks of Plausible Inference[9]、Koller等的专著Probabilistic Graphical ModelsPrinciples and Techniques[10]以及王飞跃等翻译的《概率图模型:原理与技术》[11]