文章目录

  • 第一部分:贝叶斯网基础
  • [1.1 信息论基础]()
  • [1.2 贝叶斯网基本概念]()
  • [1.3 变量独立性的图论分析]()
  • 第二部分:贝叶斯网推理
  • [2.1 概率推理中的变量消元方法]()
  • [2.2 团树传播算法]()
  • 2.3 近似推理
  • 2.3.1 蒙特卡洛方法
  • [2.3.1.1 重要性抽样法]()
  • 2.3.1.2 马尔可夫蒙特卡洛抽样法(MCMC)
  • 2.3.1.2.1 马尔可夫链定义和性质
  • 2.3.1.2.2 稳定分布和细致平衡条件
  • 2.3.1.2.3 多重转移模型
  • 2.3.1.2.4 贝叶斯网的吉布斯抽样方法和原理



第一部分:贝叶斯网基础

1.1 信息论基础

1.2 贝叶斯网基本概念

1.3 变量独立性的图论分析

第二部分:贝叶斯网推理

2.1 概率推理中的变量消元方法

2.2 团树传播算法

2.3 近似推理

2.3.1 蒙特卡洛方法

2.3.1.1 重要性抽样法
2.3.1.2 马尔可夫蒙特卡洛抽样法(MCMC)

上节介绍的重要性抽样法,不同样本之间是相互独立的。其中,似然加权算法的局限性在于:证据节点只能影响其后代节点的抽样过程,对非后代节点的影响仅以权重的形式考虑。当大部分证据都位于网络的叶节点时,抽样过程基本上是按照先验分布进行的,而先验分布往往与所期望抽样的后验分布相差甚远。本节将给出MCMC抽样方法,在抽样序列的产生过程中,虽然第一个样本是根据先验分布产生,但可以证明,后面产生的样本分布与所期望的后验分布越来越接近。
MCMC抽样方法很容易实现,其中吉布斯抽样(Gibbs)是MCMC系列算法中最容易实现的一种。但深入浅出阐述其背后原理的文章并不多。本节将尽量做到深入浅出地讲解利用吉布斯抽样对贝叶斯网进行后验概率抽样的原理和方法。
主要将从以下几个方面进行介绍:

  • 马尔可夫链定义和性质
  • 稳定分布和细致平衡条件
  • 多重转移模型
  • 贝叶斯网的吉布斯抽样方法和原理
2.3.1.2.1 马尔可夫链定义和性质

马尔可夫链是由状态空间贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法和一个状态转移模型定义的,该模型对每个状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_02,定义了下一状态在贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法上的分布。即对于每对状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_04,转移模型贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_05指定了从状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_06到状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_07的概率贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_08。由此可见,在马尔可夫链中,当前状态只与上一状态有关,与上一状态之前的状态无关。值得注意的是,此处讨论的马尔可夫链都是齐次马尔可夫链,即系统各状态的转移概率不随时间而改变。

下面用一个简单案例来说明这一概念。

考虑包含5个整数-2,-1,0,1,2的一个马尔可夫链。如下图所示,每个整数分别表示一个状态,用一个节点表示,并排成一排。假设一个蚂蚱从这条线的位置0开始东摇西晃地出发。在每个时间点上,它以0.5的概率停留不动,或以相同的概率向左或向右跳动。因此,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_09。但处于两端的位置被墙阻隔,所以当蚂蚱在位置2,且尝试向右跳,只能留在原地,即贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_10.

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_11

可以想象随机采样的一个过程,该过程定义了一个随机序列贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_12。因为转移模型是随机的,所以该过程在第t步的状态可视为一个随机变量贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_13。假设初始状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_14服从某个分布,其后继状态的分布则可通过如下方程定义:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_15
其中,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法表示状态空间,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_17可简写为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_18

马尔可夫链的价值在于其长期行为具有稳定性,到达稳定的过程具有渐进性。
还是以上文的蚂蚱为例。它在贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_19时刻的位置视为随机变量,表示为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_13。考虑贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_13上的分布。初始时,蚂蚱的位置是0,所以贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_22;在时刻1,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_23以0.5的概率为0,跳动到位置1或-1的概率均为0.25。在时刻2,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_24以概率贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_25为0,在位置1或-1的概率均为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_26,在位置2或-2的概率均为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_27。随着过程继续,概率被越来越均匀地分散到各个状态。比如,在时刻t=10,不同状态的概率分布几乎是均匀的。
因此,从初始状态开始,该链根据转移模型不断进行转移,在经过若干步贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_19后,状态贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_13将非常接近状态空间上的均匀分布。当然,对于从均匀分布中采样,该方法并不是一个好的方法。但这种一般化的方法非常适用于从概率图中进行抽样。
该例反映了马尔可夫链的动态渐进性。我们现在感兴趣的是:该过程的极限,即贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_30是否会收敛,收敛到何处。

2.3.1.2.2 稳定分布和细致平衡条件

直观上,如果过程收敛,那么可以认为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_31接近贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_30,可表示为下式:

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_33

我们用贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_34表示收敛到平衡状态时的稳定分布,上式可简写为:

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_35

正如上一小节所讨论的,蚂蚱跳动的稳定分布是均匀分布。我们再来看下面一个例子。

如下图所示,显示了一个简单马尔可夫链。

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_36


根据式(2)的定义,稳定分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_37一定满足如下三个等式:

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_38

且由概率归一性有:

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_39

从而可解得该马尔可夫链的稳定分布为:贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_40

然而,并不是所有马尔可夫链都有稳定分布。比如下面有两个例子,一个具有周期性,一个是可约的。它们都不具有稳定分布

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_41

一般地,如果一个有限状态的马尔可夫链满足正则性,则其必有稳定分布。关于正则性的定义如下:

定义: 如果存在某个数贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_42,使得马尔可夫链对每对贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_43,从贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_44恰好以贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_42步到达贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_46的概率大于0,那么该马尔可夫链称为正则的(regular)。

比如上图左侧的周期马尔可夫链,就找不到一个使得以下转移同时成立的贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_47,因而不存在稳定分布:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_48

虽然有限状态马尔可夫链可通过正则性确保具有稳定分布,但关于正则性的检查则比较困难。幸运的是,可以定义一个局部的、容易检查的、并且可以刻画稳定分布的测试方法,即细致平衡条件

定义: 如果存在唯一的分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_49,使得对于所有贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_43
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_51
那么,有限状态马尔可夫链是可逆的,该等式称为细致平衡(detailed balance)。

命题: 若一个正则马尔可夫链满足相对于分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_49的细致平衡条件,那么贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_49就是该马尔可夫链的稳定分布。【充分条件】

证明: 由式(3)可得:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_54
满足式(2)稳定分布的定义,命题得证。
其实,细致平衡条件符合我们对马尔可夫链稳定状态的朴素认知:马尔可夫链达到稳定后,任何一对状态之间的流动是平衡的。

2.3.1.2.3 多重转移模型

我们来考虑蚂蚱案例的一个扩展。当蚂蚱所处的空间不再是一条直线,而是二维平面。在这种情况下,系统的状态由一对随机变量贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_55定义。虽然我们可以同时在二维上定义联合转移模型,但分别在贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_55两个坐标轴上定义转移模型会更容易。这样,我们会得到两个转移模型,每个这样的转移模型贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_57称为一个核(kernel)。
蚂蚱的某一次转移为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_58,可将其分解为在两个核上分别进行一次转移,即由贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_59。这两步称为一个集合步。

命题: 在多核转移模型下,若每一个转移核都满足细致平衡条件,则集合步也满足细致平衡条件。

证明: 我们以二维平面蚂蚱的跳动为例证明上述命题。
蚂蚱的一次转移为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_60,其可分解为先在x轴转移一步再在y轴转移一步,或者先在y轴转移一步再在x轴转移一步。x和y轴的转移核分别记为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_61,则有:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_62
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_63
由于贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_61都满足细致平衡条件,从而有:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_65
代入式(4),则有:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_66
变形后可得:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_67
从而集合步也满足细致平衡条件。

2.3.1.2.4 贝叶斯网的吉布斯抽样方法和原理

设有一个贝叶斯网贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_68,变量集为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_69,联合概率分布为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_70,证据变量集为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_71,则非证据变量集为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_72。对后验概率分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_73进行吉布斯抽样的步骤如下:
1)随机生成一个与证据E=e一致的样本贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_74
2)对所有非证据变量贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_75,依次进行抽样。对贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_76进行抽样的方法如下:

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_77中除贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_78外的其它变量为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_79,从下式条件概率中进行抽样,得到一个新的贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_80
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_81
上式中,贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_82通过上一步获得的样本点贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_83进行赋值。联合概率分布可进行因子分解,因子分解后,分子和分母中不包含变量贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_78的因子可以约去,从而简化计算。具体可参考后文的一个案例。
经过一轮抽样后,得到一个新的样本点贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_85

3)循环进行第2步,得到若干个样本贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_86

例: 我们对下图所示的贝叶斯网后验概率进行吉布斯抽样。

贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_87

从图中可知,该贝叶斯网的联合概率分布可分解为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_88.
首先随机生成符合证据的初始样本贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_89
然后依次对C和S进行抽样:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_90
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_91贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_92分别代入上式,得到贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_93贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_94中,可分别计算出各自的后验概率,不妨设为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_95。随机生成贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_96区间均匀分布的随机数,若落在贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_97区间,则贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_98,否则为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_99。这里不妨假设贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_98
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_101
用与生成贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_算法_102同样的方法生成贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_103,不妨设为贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_状态空间_104
从而得到一个抽样样本贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_贝叶斯深度学习CMAPSS代码_105
重复上述过程,可依次得到若干个抽样样本。

下面我们来证明:

命题: 通过吉布斯抽样方法,所得到的稳定分布即为后验概率分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_106

证明: 由吉布斯抽样过程可知,在一轮抽样过程中,其对每一个非证据变量依次进行抽样,我们只需要证明:对每一个非证据变量抽样的转移概率贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_107满足相对于后验概率分布贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_73的细致平衡条件,从而由多重转移模型可知,集合步也满足相对于该后验概率分布的细致平衡条件,进而命题得证。
对集合步中的任一步抽样贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_109,其转移概率为:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_110
从而,我们可得:
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_图论_111
贝叶斯深度学习CMAPSS代码 贝叶斯mcmc_概率论_57满足细致平衡条件。
命题得证。