机器学习

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

2018-12-12  本文已影响130人  白尔摩斯

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、全连接贝叶斯网络

全连接贝叶斯网络

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

上一篇下一篇

猜你喜欢

热点阅读