04 贝叶斯算法 - 贝叶斯网络

简介:

01 贝叶斯算法 - 朴素贝叶斯
02 贝叶斯算法 - 案例一 - 鸢尾花数据分类
03 贝叶斯算法 - 案例二 - 新闻数据分类

之前聚类算法中讲了__无向图__的聚类算法 - __谱聚类__。
13 聚类算法 - 谱聚类

本章介绍的贝叶斯算法是__有向图__的聚类算法。

区别:
__谱聚类__的无向图里的点里放的是__样本__。
__贝叶斯网络__的有向图的点里放的是__样本的特征__。


六、贝叶斯网络

把某个研究系统中涉及到的__随机变量__,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。__贝叶斯网络(Bayesian Network)__,又称有向无__环图模型__(directed acyclic graphical model, DAG);

贝叶斯网络 是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量:{X1,X2,...,Xn}及其N组条件概率分布(Conditional ProbabililtyDistributions, CPD)的性质。

当多个特征属性之间__存在着某种相关关系__的时候,使用朴素贝叶斯算法就没法解决这类问题,那么贝叶斯网络就是解决这类应用场景的一个非常好的算法。

分析: 很好理解上面的概念,先回顾下面的算法,朴素贝叶斯算法要求的是互相独立的事件形成出x1~xn,这些特征彼此概率互不影响,所以才能求出联合概率密度。贝叶斯网络算法就是来解决有关联的特征组成的样本分类的。

朴素贝叶斯


一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,可以是可观察到的变量,或隐变量,未知参数等等。连接两个节点之间的箭头代表两个随机变量之间的因果关系(也就是这两个随机变量之间非条件独立);如果两个节点间以一个单箭头连接在一起,表示其中一个节点是“因”,另外一个节点是“果”,从而两节点之间就会产生一个条件概率值。

__PS:__每个节点在给定其直接前驱的时候,条件独立于其非后继。

贝叶斯网络的关键方法是图模型,构建一个图模型我们需要把具有因果联系的各个变量用箭头连在一起。贝叶斯网络的有向无环图中的节点表示随机变量。连接两个节点的箭头代表此两个随机变量是具有因果关系的。
$color{red}{首先找到所有样本特征的因果关系,即找到有向图}$

贝叶斯网络是模拟人的认知思维推理模式的,用一组条件概率以及有向无环图对不确定性因果推理关系建模。
$color{red}{最后的目的还是求出联合概率P(x1,x2,..xn)}$


1、最简单的一个贝叶斯网络

目标,求P(a,b,c)
a的概率和任何别的特征都无关,所以先求a的概率:P(a);
b的生成和a有关。即a发生的情况下,b发生的概率:P(b|a);
c的生成和a、b有关。即a和b同事发生的情况下,c发生的概率。P(c|a,b);

最简单的一个贝叶斯网络

2、全连接贝叶斯网络

![全连接贝叶斯网络
](https://upload-images.jianshu.io/upload_images/3153092-d5be6101a9ca9068.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3、“正常”贝叶斯网络

正常贝叶斯网络

4、实际贝叶斯网络:判断是否下雨

有一天早晨,白尔摩斯离开他的房子的时候发现他家花园中的草地是湿的,有两种可能,第一:昨天晚上下雨了,第二:他昨天晚上忘记关掉花园中的喷水器,接下来,他观察他的邻居华生,发现他家花园中的草地也是湿的,因此,他推断,他家的草地湿了是因为昨天晚上下雨的缘故。


七、贝叶斯网络判定条件独立

那么在贝叶斯网络中,哪些条件下我们可以认为是条件独立的?

条件一:
在C给定的条件下,a和b被阻断(blocked)是独立的。
即只要C给定了,a、b就独立。
条件独立:tail - to -tail


条件二:
在C给定的条件下,a和b被阻断(blocked)是独立的。
条件独立:head- to -tail


条件三:
在C未知的情况下,a和b被阻断(blocked),是独立的。
条件独立:head - to - head

相关文章
|
16天前
|
机器学习/深度学习 数据采集 人工智能
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
|
10天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
28 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
44 2
|
26天前
|
机器学习/深度学习 算法 计算机视觉
|
2天前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
27 0
|
2天前
|
存储 算法 前端开发
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
24 0
|
3天前
|
算法 定位技术 Windows
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
10 4
|
8天前
|
机器学习/深度学习 自然语言处理 算法
|
25天前
|
机器学习/深度学习 算法 Python
LSTM(长短期记忆)网络的算法介绍及数学推导
LSTM(长短期记忆)网络的算法介绍及数学推导
16 0