您确定要删除吗?

取消
首页 算法大全 应用模型 分析软件 算法学院数据中心 关于本站
在线咨询
400-820-6981
意见反馈
返回顶部

贝叶斯网络

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。主要研究计算机怎样模拟或实现人类的学习行为,以获取新的知识和技能,重新组织已有的知识结构,不断的改善自身的性能。

机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。这些算法是一类能从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。简而言之,机器学习主要以数据为基础,通过大数据本身,运用计算机自我学习来寻找数据本身的规律,而这是机器学习与统计分析的基本区别。

机器学习主要有三种方式:监督学习,无监督学习与半监督学习。

(1)监督学习:从给定的训练数据集中学习出一个函数,当新的数据输入时,可以根据函数预测相应的结果。监督学习的训练集要求是包括输入和输出,也就是特征和目标。训练集中的目标是有标注的。如今机器学习已固有的监督学习算法有可以进行分类的,例如贝叶斯分类,SVM,ID3,C4.5以及分类决策树,以及现在最火热的人工神经网络,例如BP神经网络,RBF神经网络,Hopfield神经网络、深度信念网络和卷积神经网络等。人工神经网络是模拟人大脑的思考方式来进行分析,在人工神经网络中有显层,隐层以及输出层,而每一层都会有神经元,神经元的状态或开启或关闭,这取决于大数据。同样监督机器学习算法也可以作回归,最常用便是逻辑回归。

(2)无监督学习:与有监督学习相比,无监督学习的训练集的类标号是未知的,并且要学习的类的个数或集合可能事先不知道。常见的无监督学习算法包括聚类和关联,例如K均值法、Apriori算法。

(3)半监督学习:介于监督学习和无监督学习之间,例如EM算法。

如今的机器学习领域主要的研究工作在三个方面进行:1)面向任务的研究,研究和分析改进一组预定任务的执行性能的学习系统;2)认知模型,研究人类学习过程并进行计算模拟;3)理论的分析,从理论的层面探索可能的算法和独立的应用领域算法。

算法描述

贝叶斯网络(Bayesian networks or Bayesnets)也称为因果概率网络(CPNs,Causal Probabilistic Networks)、贝叶斯信念网络(BNs,Bayesian belief Networks)或信念网络,是用来对那些带有不确定性问题的问题域进行建模的系统。

从形式上说,贝叶斯网络是由一组以单向箭头相连的节点以及与每个节点相对应的概率函数所构成的网络。对于离散变量的贝叶斯网络,概率函数便具有了概率表的形式。这个网络必须是一个有向无环图,即其中不存在一条起始和终止于同一节点的通路。用图形的方法描述数据间的相互(因果)关系,语义清晰、可理解性强,有助于利用数据间的因果关系进行诊断、预测、分类等分析。因而贝叶斯方法具有独特的不确定性知识表达形式、丰富的概率表达能力、综合先验知识的增量学习特性等优点。

在贝叶斯网络中,每个节点代表一个有限状态数的离散随机变量,节点之间的单向箭头代表其间的因果关系。如果某个节点不具有父节点(即没有箭头指向它),那么这个节点就具有一个边缘概率表,其中记录了该节点取不同状态值的概率分布;反之,若某节点有父节点(即存在一条或多条有向箭头指向它),则它就拥有一个条件概率表。条件概率表中的每个元素对应该节点在其父节点处于某种状态组合下,其本身状态值的概率分布规律。

贝叶斯网络根据每个节点的概率表,在给定部分(一个或多个)节点状态值的前提下,对其余全部或部分节点的概率分布进行预测的过程即为网络的推理过程。

分析流程

贝叶斯网络的分析流程通常由三个步骤组成,即1)网络建立,2)参数学习或参数设置,3)网络推理,如图所示。

贝叶斯网络分析流程

其中,具体原理如下:

1)网络建立:为一组具有潜在关系的变量建立确定的因果关系的过程。这个过程需要提供领域专家根据各变量之间客观存在的因果关系以及其自身掌握的专家知识(即经验知识),对节点之间的因果联系给出一个确定的描述。并且保证其对应的图形要满足有向无环图的条件。

2)参数学习或设置:在网络结构建立的基础上,将实际的样本数据提供给网络学习算法,由此统计得到每个变量的状态值及个数,计算每个节点的参数(即概率表,包括边缘概率表和条件概率表)的过程被称为参数的学习过程。而参数设置是指在无法提供具体样本数据的情形下,只提供条件概率信息以设置必要的贝叶斯网络参数的过程。

3)网络推理:经过了网络建立和参数学习(或设置)的贝叶斯网络已经具备了进行推理的能力。针对每一次特定的推理任务,需要指定推理的初始条件,即指定当前已经观察到的变量及其所处的状态,。初始条件可以是多个变量及其状态所构成的集合。然后,贝叶斯网络将根据自身网络参数和推理初始条件进行蒙特卡洛模拟采样,当采样数量达到要求后,由推理算法计算出相应的推理结果。结果中包含每一个目标变量在其各状态值上的概率分布。

算法背景

贝叶斯分类方法是非常成熟的统计分类方法,是基于贝叶斯定理的方法,但是贝叶斯网络十分复杂,当节点、节点的状态以及节点之间的联结增多时概率繁殖的计算变得相当繁重,这限制了贝叶斯网络在实际中的应用。直到20世纪80年代,PEARL提出消息传递算法,随后Lauritzen和Speigelhalter利用消息传递的概念进一步提出了联结树算法,才为贝叶斯网络的概率繁殖提供了一个有效的算法,奠定了进入实用的基础.随后有很多不同的算法被提出,例如Shenoy-Shafer提出二进制融合的概念以确保联结树是二进制,改进提高了运算速度。

算法应用

贝叶斯网络适用于由离散变量构成的数据集合,变量之间满足一定的条件独立关系,且此条件独立关系能够用一个有向无环图来描述。贝叶斯网络可以针对给定的任务实现预测、分类、诊断、聚类、因果分析等数据挖掘的功能。根据初始条件和推理目标的不同,贝叶斯网络的应用类型各不相同。

参考资料

1. 数据挖掘与数据化运营实战,卢辉著,机械工业出版社(2016)

2. data mining Jiawei Han (机械工业出版社第三版)

3. 贝叶斯网络发展及其应用综述,黄影平,北京理工大学学报,2013,12(33)

4. Simon Haykin,《神经网络原理》,2004,机械工业出版社

5. 维基百科

实例

贝叶斯网络是一种用于描述变量间不确定性因果关系的图形网络模型,由节点、有向连线和节点概率表组成,其中有向连线代表节点间的因果依赖关系.由于网络结构要求节点之间不能形成任何闭环,所以贝叶斯网络模型也被称作有向无环图.下图是一个简单的贝叶斯网络模型,包含4个节点(或称变量),每个节点有2个状态(true or not true)。


具体参考:贝叶斯网络发展及其应用综述,黄影平,2013,12(33),如果有兴趣可进一步参考网站:www.norsys.com。

表1和表2是2个边界节点A,B的先验概率表,表3和表4是节点C,D的条件概率表.利用这个模型可以推算出给定证据下任何节点的概率,其基本原理是贝叶斯理论.例如,如果知道节点C发生了,即C=true,要计算节点A的概率,因为节点C 和A相关,相当于计算条件概率:


从表1和表3知道P(A)=0.1和P(C| A)=0.8,所以上式的分子等于0.08,其分母是边界概率P(C),由于节点C只和节点A有关系,所以有 P(C)= P(C| A)P(A)+ P(C| notA)×P(notA)=0.8×0.1+0.1×0.9=0.17. 把以上值代入式(1)得到P(A| C)=0.471.

如果要计算节点D的概率,由于节点D和节点A、B相关,根据边界概率的定义有

在没有任何证据提供给网络的情况下有初始边界概率为

P(D)=0.8×0.1×0.4+0.6×0.1×0.6+0.6×0.9×0.4+0.3×0.9+0.6=0.032+0.036+0.0216+0.0162=0. 446.

同样,考虑节点C发生了的情况,亦即C=TRUE,知道P(A)从0.1变成0.471,P(notA)也就从0.9变成0.529,将这些值重新代入式(2),得到修改后的边界概率,即条件概率P(D| C)=0.542.给网络输入新的证据以更新各个节点的概率,这个过程称为概率繁殖.贝叶斯网络的作用就在于对不确定性系统进行知识表达并利用概率繁殖来对其进行推理.

输入输出

输入:

√ 特征要求:变量之间满足一定的条件独立关系,且此条件独立关系能够用一个有向无环图来描述。

√ 输入变量类型:整数型。

输出结果:

√ 推理结果:列出推理的结果及概率。

相关条目

贝叶斯定理,后验概率,先验概率

优缺点

优点

1.朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。

2.NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。

缺点:

1.理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的(可以考虑用聚类算法先将相关性较大的属性聚类),这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。

2.需要知道先验概率。

3.分类决策存在错误率

确定