黄友平
构建一个指定领域的贝叶斯网络包括三个任务:
①标识影响该领域的变量及其它们的可能值;
②标识变量间的依赖关系,并以图形化的方式表示出来;
③学习变量间的分布参数,获得局部概率分布表。
实际上建立一个贝叶斯网络往往是上述三个过程迭代地、反复地交互过程。
一般情况下,有三种不同的方式来构造贝叶斯网:① 由领域专家确定贝叶
斯网的变量(有时也成为影响因子)节点,然后通过专家的知识来确定贝叶斯
网络的结构,并指定它的分布参数。这种方式构造的贝叶斯网完全在专家的指
导下进行,由于人类获得知识的有限性,导致构建的网络与实践中积累下的数
据具有很大的偏差;②由领域专家确定贝叶斯网络的节点,通过大量的训练数
据,来学习贝叶斯网的结构和参数。这种方式完全是一种数据驱动的方法,具
有很强的适应性。而且随着人工智能、数据挖掘和机器学习的不断发展,使得
这种方法成为可能。如何从数据中学习贝叶斯网的结构和参数,已经成为贝叶
斯网络研究的热点。③由领域专家确定贝叶斯网络的节点,通过专家的知识来
指定网络的结构,而通过机器学习的方法从数据中学习网络的参数。这种方式
实际上是前两种方式的折中,当领域中变量之间的关系较明显的情况下,这种
方法能大大提高学习的效率。
在由领域专家确定贝叶斯网络的节点后,构造贝叶斯
网的主要任务就是学习它的结构和参数。
为使贝叶斯网作为知识模型是可用的,
在学习过程中致力于寻找一种最简单的网络结构是非常必要的,这种简单的结
构模型称之为稀疏网络,它含有最少可能的参数及最少可能的依赖关系。
Bayesian 网是联合概率分布的简化表示形式,可以计算变量空间的任意概
率值。当变量数目很大时,运用联合概率分布进行计算通常是不可行的,概率
数目是变量数目的指数幂,计算量难以承受。Bayesian 网利用独立因果影响关
系解决了这个难题。Bayesian 网中三种独立关系:条件独立、上下文独立及因
果影响独立。三种独立关系旨在把联合概率分布分解成更小的因式,从而达到
节省存储空间、简化知识获取和领域建模过程、降低推理过程中计算复杂性的
目的,因此可以说独立关系是 Bayesian 网的灵魂。
贝叶斯网络结构的方法分成两类:
基于评分的方法(Based on scoring)和
基于条件独立性的方法(Based on Conditional independence)。
。基于评分的方法把贝叶斯网络看成是含有属性之
间联合概率分布的结构,学习的目的是搜索与数据拟和最好的结构。一般的做
法是给出评价网络结构的评分函数(如贝叶斯后验概率、最小描述长度和
Kullback-Leiber 熵等。
基于评分函数的结构学习算法主要由两部分组成:评分函数和相应的搜索
算法。评分函数给出一定网络结构下,联合分布的一种概率度量,常用的评分
函数有基于贝叶斯统计的方法和基于最小描述长度原理(MDL: Minimum
Description Length Principle)的方法。搜索方法是从众多的可选网络结构中,
找出评分最好的结构,这是一个 NP 问题,一般情况下搜索算法找到的是具有
某一特殊结构的网络。
Friedman 从理论上证明,基于评分的结构学习在分类中可能导致较坏的分
类性能。同时,基于评分的方法在实际应用时,复杂性较高,而基于独立性检
验的方法从原理上更接近于贝叶斯网的语义特性,在实际中获得较好的效果。
基于独立性检验的网络结构学习的一些典型算法包括:Wermuth-Lauritzen算法、
Boundary-DAG 算法、SRA 算法、Constructor 算法等。
第二种方法把贝叶斯网络看作是编码了变量间独立性关
系的结构。学习的目的是根据独立性关系(如卡方检验)对变量分组。
参数学习
贝叶斯网络的参数学习实质上是在已知网络结构的条件下,来学习每个节
点的概率分布表。
对完备数据集 D 进行概率参数学习的目标是找到能以概率形式 概括样本 D
的参数( |θ)ipxθ 。参数学习一般要首先指定一定的概率分布族,如β 分布、
多项分布、正态分布、泊松分布,然后利用一定的策略估计这些分布的参数。
对完备数据集的学习,有两种常用的学习方法:最
大似然估计 MLE(Maximum Likelihood Estimation)方法和贝叶斯方法。这两
种方法都是基于下面的独立同分布i.i.d(Independent identify Distribution )假设前
提下:
1) 样本中的数据是完备的;
2) 各实例之间是相互独立的;
3) 各实例服从统一的概率分布。
最大似然估计 MLE
MLE 是基于传统的统计分析的思想。它依据样本与参数的似然程度来评判
样本与模型的拟合程度。似然函数的一般形式为:
如果知道变量的分布函数,可通过对上式利用拉各朗日乘子法获得最大似
然值,从而获得参数的估计。从统计学的原理我们可以知道,MLE 具有下面的
优点:
1) 一致性(consistence),随着观测值个数的增多,参数收敛于最佳可能
值-实际的物理概率;
2) 渐进有效性(asymptotic efficient),寻找使样本发生可能性最大的参
数, 尽可能接近实际的概率值,实例越多,接近程度越好;
3) 表示灵活性(representation invariant),参数的不同分布形式不影响
估计出的概率分布效果。
基于条件独立性测试的贝叶斯网络结构学习
Friedman 从理论上证明,基于评分的结构学习在分类中可能导致较坏的分
类性能[Fri97]。同时,基于评分的方法在实际应用时,复杂性较高,而基于独
立性检验的方法从原理上更接近于贝叶斯网的语义特性,在实际中获得较好的
效果。下表给出基于独立性检验的网络结构学习的一些典型算法。
贝叶斯网络推理
贝叶斯推理的目的是通过联合概率分布公式,在给定的网络结构和已知证
据下,计算某一事件发生的概率。理论上,在给定网络结构和概率分布表下,
任何查询都可以通过反复应用贝叶斯公式和乘积与求和公式而得到,常见的推
理方法可分为精确推理和近似推理两种。
网络的结构特征和相关查询的类型是选择和设计推理算法应该考虑的主要
因素。网络的结构特征主要包括网络的拓扑结构、网络的类型、网络规模的大
小、网络中领域变量的类型和分布特征。其中网络的拓扑结构是影响推理性能
的关键。
相关查询的特征主要包括查询任务的类型、查询的种类、可用的计算资源
及其相关证据的特征。贝叶斯网络具有双向推理的能力:预测和诊断。预测是
给出一些特征,来预测可能发生的情况,而诊断是指已知发生的事件,去探索
发生该事件的可能原因。
3. Junction 树算法
该算法是当前贝叶斯推理中比较流行的一种精确推理方法。它的基本原理
是划分变量集为相互交叠的子集,推理过程在单个的子集上进行,在一个子集
上的计算结果被传递到另一个子集中,新的结果又会参与后续的计算。该算法
有两个有点:①这是一个精确推理算法,它根据贝叶斯网的联合概率分布,返
回精确的查询结果;②它充分利用了贝叶斯网的结构特性:条件独立性。在这
些独立性基础上构造规模较小的子集,有效的降低了计算复杂性。
张剑飞
在贝叶斯网络推理中,主要有以下两种推理方式:
因果推理:是由原因推结论,也称为由顶向下的推理(c a u s a l o r t o p-d o w n
i n f e r e n c e),目的是由原因推导出结果己知一定的原因(证据),则用贝叶斯网
络的推
理计算,求出在该原因的倩况下结果发生的概率。
诊断推理:结论推知原因,也称为由底向上的推理(d i a g n o s t i c o r b o t t o m-u
p
i n f e r e n c e),目的是在己知结果时,找出产生该结果的原因、己知发生了某些
结果,
根据贝叶斯网络推理计算,得到造成该结果发生的原因和发生的概率、该推理常
用在
病理诊断、故障诊断中,目的是找到疾病发生、故障发生的原因。
对贝叶斯网络的学习有两种方法:搜索与打分的算法和依赖分析的算法。对于基
于
依赖分析的算法,条件独立关系的判定在算法中起着非常重要的作用
在从数据中学习贝叶斯网络时,
可以用信息理论来决定条件独立关系,然后用d-s e p a r a t i o n的概念来推导出
贝叶斯网
络的结构。
*****************************************************
条件概率,具有传播性,形成一个链式的规则。
如
x -> y -> z -> w
每两个相邻变量的条件概率都知道,如何求P(w|x)。这就是贝叶斯定理的概率传播。
联合概分布的求解。
p(xyzw) = p(x) * p(y|x) * p(z|x,y) * p(w|x, y, z)
贝叶斯网络的一个重要性质,一个节点独立于非前驱节点。即p(xi | x(i-1)...x1) = p(xi | x(i-1))
类似马尔科夫过程。
贝叶斯网络,也可以看做马尔科夫链的非线性扩展。