Machine Learning-L17-贝叶斯网络

简介: Machine Learning-L17-贝叶斯网络

1. 基本概念


贝叶斯网络(Bayesian network)又称信念网络(belief network),使用**有向无环图(Directed Acyclic Graph)来表示变量间的依赖关系,并使用条件概率表(CPT,Conditional Probability Table)**描述属性的联合概率分布。


贝叶斯网络表示为 N = ( G , Θ ) N=(G,\Theta)N=(G,Θ)


G = ( V , E ) )表示结点关系的有向无环图,即贝叶斯网络结构。

Θ = { θ 1 , θ 1 , . . . θ n } }表示每个结点V i 它父结点集p a ( X i ) 条件下的条件概率,即贝叶斯网络参数。

两个重要条件独立性:


结点与其非后代结点条件独立

给定一个结点的马尔可夫覆盖,这个结点和网络所有其他结点条件独立

特点:


一种不定性因果关联模型

具有强大的不确定性问题处理能力

具有良好的可理解性和逻辑性

结合先验知识,用图形化模型描述数据间的相互关系便于分析预测

能有效进行多元信息融合与表达


20200502163605187.png

Difficulty (课程的难度): 取值0(低难度)和1(高难度)

Intelligence(智力水平): 取值0(低)和1(高)

Grade(学生的上课成绩) : 取值1(好成绩),2(平均成绩)和3(成绩差)

SAT (SAT考试成绩): 取0(低分)和1(高分)

Letter(完成课程后学生从教授那里得到推荐信的质量) : 取0(不是好信)和1(好信)

图中的边包含变量的依赖关系(箭头的方向表示因果关系)


Grade 取决于课程的Difficulty和学生的Intelligence

Grade 决定了学生是否从教授那里得到了一封好的Letter

除影响Grade外,学生的Intelligence还影响他们的SAT分数

如Grade有两个父节点,条件概率p(Grade=g∣Difficulty=d,SAT=s)表示在Difficulty=g和SAT=s的条件下,Grade=g的概率是多少。


2. 有向分离


有向分离对应概率论中的条件独立性,目的在于从图的角度寻找结点之间的条件独立性。

三类特殊的结点连接,分别为顺序连接、发散连接、收敛连接。


image.png



其中结点c分别称为头对尾结点(head-to-tail)、尾对尾结点(tail-to-tail)和头对头结点(head-to-head)。

根据条件独立知识:在顺序连接和发散连接中,


image.png

对于贝叶斯网络N = ( G , Θ ) ,X i  和X j 是G 中任意不相邻的两个结点,Z 表示连接X i 和X j 路径上的结点集,并且不不包含X i 和X j  ,l 是连接X i  和X j  的任意路径。如果Z ZZ满足以下条件之一,则称**l 是关于Z 的一条阻断路径**,X i 和X j 被Z 有向分离,记作image.png


Z 包含l 中不同于X i 和X j  的某一头对尾结点。

Z 包含l 中不同于X i  和X j  的某一尾对尾结点。

Z 不包含l 中不同于X i和X j  的某一头对头结点及其子孙结点。


结点集之间的有向分离


假设A , B , Z 是在G 中的三个互补相交的结点集,对于任意的结点A i ∈ A和任意B i ∈ B ,若A i  和B i  被Z 有向分离,则称A 和B 被Z 有向分离,记作d e s p G ( A , Z , B )


定理:判定G 中结点集X 和Y 是否被Z 有向分离 等价于 X 和Y是否在新的有向无环图G ′

无连接路径。

通过定理,可以将有向图简化为非连接图,这样在线性时间内判断是否满足有向分离,从而降低分析的复杂度。


对于贝叶斯网络N = ( G , Θ )


若X 和Y 被Z 有向分离,则对于任意网络参数Θ,X和Y 关于Z Z条件独立

若X 和Y不被Z 有向分离,则X 和Y 关于Z条件独立取决于网络参数Θ


3. 贝叶斯网络结构学习


从给定的数据集中学习出贝叶斯网络结构,即各结点之间的依赖关系,只有确定了结构才能学习网络参数,即表示各结点之间依赖性的条件概率。

根据训练数据是否存在缺失,网络结构学习分为


完整数据结构学习

基于搜索评分的方法:贝叶斯网络结构学习问题看成是优化问题,通过给定结构的评分函数(基于贝叶斯评分/基于信息论评分),利用搜索算法(K2/爬山/GES/基于进化计算),寻找评分最优的网络结构。


基于约束的方法:通过统计独立性测试来学习结点间的独立性和相关性,并根据独立性或相关性构建出相应的有向无环图结构。


基于信息论的评分函数:将学习问题看做一个数据压缩任务,使用最小描述长度(MDL,Minimum Description Length)为优化目标。编码长度包括了描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度。


缺失数据结构学习

修复数据集的方法

近似计算的方法


4. 贝叶斯网络参数学习


贝叶斯网络参数学习(参数估计):在给定网络结构的基础上,从训练数据中学习得到结点的条件概率分布的过程。


贝叶斯网络主要是处理离散数据,因此在参数学习的过程中,通常假设网络中变量的状态是离散的或者呈现高斯分布。实际应用中,结点变量一般是不满足高斯分布的,通常可以采用等频率或者等区间的离散型方法对训练数据进行离散化。


训练数据中所有变量都可观测:


贝叶斯估计(BE,Bayesian Estimation)

最大似然估计(MLE,Maximum Likelihood Estimation):实例数据完备的情况下的学习方法,依据参数与数据集的似然程度来选择参数。

某些结点变量的状态未必能观测


近似方法:Monte-Carlo方法/高斯毕竟/Laplace近似/EM算法求极大似然/MAP

相关文章
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
27天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。
|
6月前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6月前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6月前
|
数据可视化 数据挖掘
数据分享|spss modeler用贝叶斯网络分析糯稻品种影响因素数据可视化
数据分享|spss modeler用贝叶斯网络分析糯稻品种影响因素数据可视化
|
6月前
|
机器学习/深度学习 算法 数据可视化
数据报告分享|WEKA贝叶斯网络挖掘学校在校人数影响因素数据分类模型
数据报告分享|WEKA贝叶斯网络挖掘学校在校人数影响因素数据分类模型
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】什么是贝叶斯网络?
【5月更文挑战第10天】【机器学习】什么是贝叶斯网络?
|
6月前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6月前
|
存储 算法 前端开发
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
|
6月前
|
机器学习/深度学习 算法 网络架构
matlab使用贝叶斯优化的深度学习:卷积神经网络CNN
matlab使用贝叶斯优化的深度学习:卷积神经网络CNN

热门文章

最新文章