BN学习的目的就是要找到一个最能真实反映当前研究问题中现有的各研究对象之间相互依赖关系的BN模型,BN学习可以分为以下两个阶段:①结构学习(Structure Learn-ing),即网络拓扑结构的学习。②参数学习(Parameter Learning),即网络中每个节点变量的局部先验条件概率分布的学习。
比较简单的BN学习方法是先依据专家知识确定BN的拓扑结构,然后通过给定的样本数据学习BN的概率分布(参数)。比较复杂的BN学习方法是BN的拓扑结构和概率分布都是通过给定样本数据学习得出,这也是现在的研究热点。结构学习和参数学习是相互联系的,一方面BN的结构是由联合概率分布函数来直接决定另一方面,节点的条件概率依赖于BN的拓扑结构。
2.2.1 贝叶斯网络结构学习
BN结构学习就是利用训练样本数据,寻找对数据和先验知识拟合的最好的网络拓扑结构。学习分为完备数据结构学习和不完备数据结构学习两种情况。目前,具有完备数据的 BN 结构学习方法比较成熟,而从不完备数据中学习 BN 结构比较困难,现有算法仍存在缺陷。
2. 2. 1. 1 具有完备数据的贝叶斯网络结构学习
当训练样本完备时,常用的 BN 结构学习算法可以分为两种: 基于搜索记分的方法和基于统计测试的方法。
( 1) 基于搜索评分的结构学习算法。基于搜索评分的结构学习算法将结构学习视为搜索最佳网络问题。其核心思想是: 首先添加任一条边,然后使用搜索方法添加新的边,最后利用评分函数评分,测试新旧网络分值的大小。学习的目的就是找到评分最大的结构。这是个连续进行的过程,直到老模型的分数不再比新模型的分数低为止。评分方法有很多,如基于熵的评分、最小描述长度( LMS) 的评分以及贝叶斯评分。这类算法有一个共同点: 为每个候选的 BN 定义一种评价网络结构与样本集吻合程度的测度,然后,通过遗传和进化算法、模拟退火法或者爬山算法搜索具有最佳测度的拓扑网络结构。
( 2) 基于统计测试的结构学习算法。该学习算法的核心思想是: 首先进行训练样本统计测试,尤其是测试条件独立性然后,利用节点集间的条件独立性构造 DAG( 有向无环图) ,以尽可能地囊括这些条件独立性,它将独立的概念从构造结构中分离出来。
具有代表性的统计测试的结构学习算法有: ①Spirtes 等( 1993) 提出 SGS 算法,是一个典型的用条件独立性测试确定拓扑结构的算法,该算法从无向完全图出发,如果相邻结点间存在无向分隔割集,则删除它们的边,然后通过统计测试来确定剩余边的方向。②Acid 等( 1999) 提出了有向图构造算法 EP,证明有向图模型无论是否为单连接结构都对分类问题的影响效果不大。③Cheng Jie 等( 2002) 年将统计测试与信息论结合,通过相互信息量的计算来确定节点间的条件独立性,用相互信息量代替条件独立测试,从而构造多连接有向图模型。
2. 2. 1. 2 缺失数据情况下的贝叶斯网络结构学习
在数据不完整的情况下,BN 结构学习会比较困难,现有的研究算法主要是基于打分的结构学习。数据不完备会导致出现以下两方面问题: ①一些充分统计因子不存在,导致无法直接进行结构打分②打分函数不再具有可分解形式,因此不能进行局部搜索。围绕这两方面问题相继出现了一些解决的方法,如 Friedman( 1997) 借鉴参数学习的选择 - 期望最大算法,提出模型的 EM 结构学习方法Sebastian 等( 1997) 将 BC 算法应用于结构学习Fried-man( 1998) 引入一种使用贝叶斯打分方法学习概率模型的新方法,贝叶斯结构期望最大算法,简称为 Bayesian - SEM 算法。
2. 2. 2 贝叶斯网络参数学习
BN 参数学习的目标是: 给定训练样本和网络拓扑结构,利用先验知识,确定 BN 模型各个节点处的条件概率。参数学习同样可以分为完备数据和不完备数据两种情况。数据完备时的参数学习算法包括由 Fayyad( 1990) 提出的贝叶斯估计方法和 Spiegelhalter( 1996) 提出的最大似然估计 ( MLE) 方法从不完备的数据中学习概率参数的算法主要有 Gibbs 样本法( Heckerman,1995) 和期望-最大 ( EM) 算法( Spiegelhalter,1990Mallet,1991Lauritzen,1991等) 。
2. 2. 3 贝叶斯网络推理
概率推理是 BN 应用的主要目的之一。BN 推理是根据某些已知给定值的节点,估计未知节点的值。即在给定一个 BN 模型的情况下,依据已知条件,利用贝叶斯概率中条件概率的计算方法,计算出所感兴趣的目标节点发生的概率。在 BN 推理中主要包括以下 3 种推理方式:
( 1) 因果推理: 也称自上向下的推理,目的是由原因推出结论。已知证据 ( 原因) ,根据BN 的推理计算,求出在该证据 ( 原因) 发生的情况下结果发生的概率。
( 2) 诊断推理: 也称自下向上的推理,目的是由结论推出原因。是在已知结果情况下,根据 BN 推理计算,得到导致该结果发生的原因即其发生的概率。该推理常用在故障诊断、病理诊断中,目的是找到故障发生、疾病发生的原因。
( 3) 支持推理: 目的是对原因之间的相互影响进行分析,提供用以支持所发生现象的解释。
BN 推理算法大体可以分为精确推理算法和近似推理算法两大类。理论上,所有类型的 BN 都可以用精确推理算法进行概率推理,但实际上 BN 精确推理是一个 NP-hard 问题( Cooper,1990) ,尤其当模型结构较复杂、包含大量的变量时,精确推理就变得尤为困难。而近似推理相比精确推理来说,是解决复杂网络模型的一个较好办法,它可以大大简化计算和推理过程。因此,现阶段 BN 研究中许多情况下都采用近似算法。
SEM简单介绍,以下资料来源
因果关系:SEM一般用于建立因果关系模型,但是本身却并不能阐明模型的因果关系。
一般应用于:测量错误、错漏的数据、中介模型(mediation model)、差异分析。
历史:SEM 包括了 回归分析,路径分析(wright, 1921),验证性因子分析(confirmatory factor analysis)(Joreskog, 1969).
SEM也被称为 协方差结构模型(covariance structure modelling),协方差结构分析和因果模型。
因果关系:
究竟哪一个是“真的”? 在被假设的因果变量中其实有一个完整的因果链。
举一个简单的例子: 吃糖果导致蛀牙。这里涉及2个变量,“吃糖果”和“蛀牙”,前者是因,后者是果。 如果上一个因果关系成立,那将会形成一个因果机制,也许会出现这样的结构:
3. 这时还有可能出现更多的潜在变量:
这里我又举另外一个例子,回归模型
在这里,回归模型并不能很好的描述出因果次序,而且也不能轻易的识别因果次序或者未测量的因子。这也是为什么在国外学术界SEM如此流行的原因。
我们在举另外一个例子“路径分析”
路径分析能让我们用于条件模型(conditional relationships),上图中的模型是一种调解型模型或者中介模型,在这里Z 是作为一个中介调节者同时调节X和Y这两个变量的关系。
在这里我们总结一下:
回归分析简单的说就是:X真的影响Y 吗?
路径分析:为什么/如何 X 会影响Y? 是通过其他潜在变量Z 来达到的吗?例子:刷牙(X)减少蛀牙(Y)通过减少细菌的方法(Z)。------测量和测试中介变量(例如上图中的Z变量)可以帮助评估因果假设。
在这里要提一下因素模型(factor model)
在这个模型当中,各个变量有可能由于受到未被观察到的变量所影响,变得相互有内在的联系,一般来说那些变量都很复杂、混乱,而且很多变量是不能直接被观察到的。
举个例子:“保龄球俱乐部的会员卡”和“本地报纸阅读”,是被观察到的变量,而“社会资产”则是未被观察到的变量。另一个例子:“房屋立法”和“异族通婚”是被观察到的变量,而“种族偏见”是未被观察到的变量。
相互关系并不完全由被观察到的变量的因果关系所导致,而是由于那些潜在的变量而导致。
这些被观察到变量(y1--y4)也有可能由一个潜在的变量(F)所影响。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)