贝叶斯网借助有向无环图来刻画属性之间的依赖关系,并使用条件概率来描述属性的联合概率分布。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值。例如,假设节点贝叶斯网络 - 图1直接影响到节点贝叶斯网络 - 图2,即贝叶斯网络 - 图3,则用从贝叶斯网络 - 图4指向贝叶斯网络 - 图5的箭头建立结点贝叶斯网络 - 图6到结点贝叶斯网络 - 图7的有向弧贝叶斯网络 - 图8,权值(即连接强度)用条件概率贝叶斯网络 - 图9来表示,如下图所示:

贝叶斯网络1.jpg

把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络

贝叶斯网络2.jpg

贝叶斯网络 - 图12的联合分布贝叶斯网络 - 图13

贝叶斯网络的定义

一个贝叶斯网贝叶斯网络 - 图14由结构贝叶斯网络 - 图15和参数贝叶斯网络 - 图16两部分组成,即贝叶斯网络 - 图17。网络结构贝叶斯网络 - 图18是一个有向无环图,其每个结点对应一个属性,若两个属性有直接依赖关系,则它们由一条边连接起来;参数贝叶斯网络 - 图19定量表述这种依赖关系,假设属性贝叶斯网络 - 图20贝叶斯网络 - 图21中的父结点集为贝叶斯网络 - 图22,则贝叶斯网络 - 图23包含了每个属性的条件概率表贝叶斯网络 - 图24

贝叶斯网结构

贝叶斯网络结构有效地表达了属性间的条件独立性。给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是贝叶斯网络 - 图25将属性贝叶斯网络 - 图26的联合概率分布定义为

贝叶斯网络 - 图27

贝叶斯网中三个变量之间的典型依赖关系如下图:

贝叶斯3.png

同父结构(tail-to-tail)

贝叶斯4.jpg

贝叶斯网络 - 图30代入贝叶斯网络 - 图31得到

贝叶斯网络 - 图32

即在贝叶斯网络 - 图33给定的条件下贝叶斯网络 - 图34贝叶斯网络 - 图35被阻断,是独立的,称为tail-to-tail条件独立。

V型结构(head-to-head)

贝叶斯5.jpg

贝叶斯网络 - 图37

贝叶斯网络 - 图38

即在贝叶斯网络 - 图39未知的的条件下贝叶斯网络 - 图40贝叶斯网络 - 图41被阻断,是独立的,称为head-to-head条件独立,又称为“边际独立性”。

顺序结构(head-to-tail)

贝叶斯6.jpg

贝叶斯网络 - 图43

贝叶斯网络 - 图44

即在贝叶斯网络 - 图45给定的的条件下贝叶斯网络 - 图46贝叶斯网络 - 图47被阻断,是独立的,称为head-to-tail条件独立。

顺序结构其实就是一个链式网络,即

贝叶斯7.jpg

贝叶斯网络 - 图49给定的条件下,贝叶斯网络 - 图50的分布和贝叶斯网络 - 图51条件独立。即:贝叶斯网络 - 图52的分布状态只和贝叶斯网络 - 图53有关,和其他变量条件独立,这种顺次演变的随机过程,就叫做马尔科夫链(Markov chain)。

贝叶斯网络学习

若网络结构已知,即属性间的依赖关系已知,则贝叶斯网的学习过程相对简单,只需通过对训练样本“计数”,估计出每个结点的条件概率表即可。但在现实应用中我们往往不知晓网络结构,于是,贝叶斯网学习的首要任务就是根据训练数据集来找出结构最“恰当”的贝叶斯网。“评分搜索”是求解这一问题的常用办法。具体来说,我们先定义一个评分函数,以此来评估贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网。显然,评分函数引入了关于我们希望获得什么样的贝叶斯网的归纳偏好。

常用评分函数通常基于信息准则,此类准则将学习问题看作一个数据压缩任务,学习的目标是找到一个能以最短编码长度描述训练数据的模型,此时编码的长度包括了描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度。对贝叶斯网络学习而言,模型就是一个贝叶斯网,同时,每个贝叶斯网描述了一个在训练数据上的概率分布,自有一套编码机制能使那些经常出现的样本有更短的编码。于是,我们应选择那个综合编码长度(包括描述网络和编码数据)最短的贝叶斯网,这就是“最小描述长度”(Minimal Description Length, MDL)准则。

给定训练集贝叶斯网络 - 图54,贝叶斯网贝叶斯网络 - 图55贝叶斯网络 - 图56上的评分函数可写为

贝叶斯网络 - 图57

其中,贝叶斯网络 - 图58是贝叶斯网的参数;贝叶斯网络 - 图59表示描述每个参数贝叶斯网络 - 图60所需的字节数;而

贝叶斯网络 - 图61

是贝叶斯网贝叶斯网络 - 图62的对数似然。显然贝叶斯网络 - 图63的第一项是计算编码贝叶斯网贝叶斯网络 - 图64所需的字节数,第二项是计算贝叶斯网络 - 图65所对应的概率分布贝叶斯网络 - 图66贝叶斯网络 - 图67描述得有多好。于是,学习任务就转化为一个优化任务,即寻找一个贝叶斯网络贝叶斯网络 - 图68是评分函数贝叶斯网络 - 图69最小。

贝叶斯网络 - 图70,即每个参数用贝叶斯网络 - 图71字节描述,则得到AIC(Akaike Information Criterion)评分函数

贝叶斯网络 - 图72

贝叶斯网络 - 图73,即每个参数用贝叶斯网络 - 图74字节描述,则得到BIC(Bayesian Information Criterion)评分

贝叶斯网络 - 图75

贝叶斯网络 - 图76,即不计算对网络进行编码的长度,则评分函数退化为负对数似然,学习任务退化为极大似然估计。

不难发现,若贝叶斯网贝叶斯网络 - 图77的网络结构贝叶斯网络 - 图78固定,则评分函数贝叶斯网络 - 图79的第一项为常数。此时,最小化贝叶斯网络 - 图80等价于对参数贝叶斯网络 - 图81的极大似然估计。由贝叶斯网络 - 图82贝叶斯网络 - 图83可知,参数贝叶斯网络 - 图84能直接在训练数据贝叶斯网络 - 图85上通过经验估计获得,即

贝叶斯网络 - 图86

其中贝叶斯网络 - 图87贝叶斯网络 - 图88上的经验分布。因此,为了最小化评分函数贝叶斯网络 - 图89,只需对网络结构进行搜索,从候选结构的最优参数可直接在训练集上计算得到。

不幸的是,从所有可能的网络空间搜索最优贝叶斯网结构是一个NP hard问题,难以快速求解。有两种常用的策略能在有限时间内求得近似解:第一个是贪心算法,例如从某个网络结构出发,每次调整一条边(增加、删除或调整方向),知道评分函数值不再降低为止;第二种是通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构等。

贝叶斯网络推断

贝叶斯网训练好之后就能用来回答“查询”(query),即通过一些属性变量的观测值来推测其他属性变量的取值。例如在西瓜问题中,若我们观测到西瓜色泽青绿、敲声混响、根蒂蜷曲,想知道它是否成熟、甜度如何。这样通过已知变量观测值来推测待查询变量的过程称为“推断”,已知变量观测值称为“证据”。

最理想的是直接根据贝叶斯网定义的联合概率分布来精确计算后验概率,不幸的是,这样的“精确推断”已被证明是NP hard的;换言之,当网络结点较多、连接稠密时,难以进行精确推断,次数需借助“近似推断”,通过降低精度要求,在有限时间内求得近似解。在现实应用中,贝叶斯网的近似推断常使用吉布斯采样来完成。

贝叶斯网络 - 图90为待查询变量,贝叶斯网络 - 图91为证据变量,知其取值为贝叶斯网络 - 图92。目标是计算后验概率贝叶斯网络 - 图93,其中贝叶斯网络 - 图94是待查询变量的一组取值。以西瓜问题为例,待查询变量为贝叶斯网络 - 图95,证据变量为贝叶斯网络 - 图96且已知其取值为贝叶斯网络 - 图97,查询的目标值是贝叶斯网络 - 图98,即这是好瓜且甜度高的概率有多大。

吉布斯采样算法先随机产生一个与证据贝叶斯网络 - 图99一致的样本贝叶斯网络 - 图100作为初始点,然后每步从当前样本出发产生下一个样本。具体来说,在第贝叶斯网络 - 图101次采样中,算法先假设贝叶斯网络 - 图102,然后对非证据变量逐个进行采样改变其取值,采样概率根据贝叶斯网络贝叶斯网络 - 图103和其他变量的当前取值(即贝叶斯网络 - 图104)计算获得。假定经过贝叶斯网络 - 图105次采样得到的与贝叶斯网络 - 图106一致的样本共有贝叶斯网络 - 图107个,则可近似估计出后验概率

贝叶斯网络 - 图108

实际上,吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据贝叶斯网络 - 图109一致的子空间中进行“随机漫步”。每一步仅依赖于前一步的状态,这是一个“马尔可夫链”。在一定条件下,无论从什么初始状态开始,马尔可夫链第贝叶斯网络 - 图110步的状态分布在贝叶斯网络 - 图111时必收敛于一个平稳分布;对于吉布斯采样来说,这个分布恰好是贝叶斯网络 - 图112。因此,在贝叶斯网络 - 图113很大时,吉布斯采样相当于根据贝叶斯网络 - 图114采样,保证了贝叶斯网络 - 图115收敛于贝叶斯网络 - 图116

输入:贝叶斯网贝叶斯网络 - 图117;采样次数贝叶斯网络 - 图118;证据变量贝叶斯网络 - 图119及其取值贝叶斯网络 - 图120;待查询变量贝叶斯网络 - 图121及其取值贝叶斯网络 - 图122

过程:

  • 贝叶斯网络 - 图123贝叶斯网络 - 图124贝叶斯网络 - 图125随机赋初值
  • 贝叶斯网络 - 图126
  • 贝叶斯网络 - 图127
  • 贝叶斯网络 - 图128
  • 贝叶斯网络 - 图129
  • 根据贝叶斯网络 - 图130计算分布贝叶斯网络 - 图131
  • 贝叶斯网络 - 图132根据贝叶斯网络 - 图133采样所获取贝叶斯网络 - 图134取值
  • 贝叶斯网络 - 图135贝叶斯网络 - 图136中的贝叶斯网络 - 图137贝叶斯网络 - 图138替换
  • 贝叶斯网络 - 图139
  • 贝叶斯网络 - 图140

输出:贝叶斯网络 - 图141

需注意的是,由于马尔可夫链通常需要很长时间才能趋于平稳分布,因此吉布斯采样算法的收敛速度较慢。此外,若贝叶斯网中存在极端概率贝叶斯网络 - 图142贝叶斯网络 - 图143,则不能保证马尔可夫链存在平稳分布,此时吉布斯采样会给出错误的估计结果。

Source

https://zhuanlan.zhihu.com/p/30139208