「贝叶斯网络」(Bayesian Network),又被称为贝叶斯「信念网络」(Belief Network)、因果网络,起源于贝叶斯统计分析。贝叶斯网络将因果知识和概率知识相结合的信息表示框架,使得不确定性推理在逻辑上变得清晰,理解性更强。贝叶斯网络将概率论与数理统计和图论相结合,利用图结构描述随机变量之间的依赖关系。贝叶斯最早由 Judea Pearl 于 1986 年提出,并逐渐发展起来,主要用于表示不确定性知识和推理问题。
贝叶斯网络已经成为数据库中知识发现和决策支持系统的有效方法:从大量数据中构造贝叶斯网络模型,从而进行不确定性知识的发现。
如图所示贝叶斯网络包含 6 个节点:
想想这样一个场景,一个中学生回家后,其父母猜测她参加了晚会,并且喝了酒,第二天这个学生感到头疼,它的父母带她到医院做头部的 X 光检查。经过长期的观察,或者从别人那里了解,这个中学生的父母知道他们的女儿参加晚会的概率。经过长时间的数据积累,他们也知道他们的女儿参加晚会后宿醉的概率。因此,节点 party
和节点 hangover
之间有一条连线。同样,有明显的因果关系或相关关系的节点之间都有一条连线,并且连线从原因节点出发,指向结果节点。
贝叶斯网络借助于有向无环图(Directed Acyclic Graph,DAG)来刻画属性之间的依赖关系,并用「条件概率表」(Conditional Probability Table,CPT)来描述属性的联合分布。
贝叶斯网络
贝叶斯网络有效地表达了属性间的条件独立性。给定父节点集合,贝叶斯网络假设每个属性与它的非后裔属性独立,于是
贝叶斯网络的建立
贝叶斯网络的「训练」指学习得到节点的概率分布和结点间的条件概率分布的过程。可以通过专家经验填入,但是用的方法更多是通过历史数据训练得到。
例如给出训练数据
Sample | PT | HO | BT | HA | SA | PX |
---|---|---|---|---|---|---|
1 | 1 | 1 | 0 | 1 | 1 | 0 |
2 | 0 | 0 | 1 | 1 | 0 | 1 |
3 | 1 | 0 | 0 | 0 | 0 | 0 |
4 | 1 | 1 | 1 | 0 | 1 | 1 |
5 | 0 | 0 | 0 | 0 | 0 | 1 |
6 | 1 | 1 | 0 | 1 | 1 | 0 |
7 | 1 | 0 | 1 | 0 | 1 | 0 |
8 | 0 | 0 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 0 | 1 | 0 |
10 | 1 | 1 | 1 | 1 | 1 | 1 |
可以用统计的方式得到任意节点的概率分布。假设结点
如果
其中,
同理,可以计算出多个结点间的联合条件分布。假设
其中
如果某个节点是结果节点或中间节点,那么得到这个节点的概率分布的方式有如下两种
可以验证,这两种方式获得的概率分布是一致的。
贝叶斯网络是一种概率推理技术,结合概率推论和图结构来描述不同只是成分之间的条件而产生的不确定性。
贝叶斯网络的学习,是利用现有数据对先验知识进行修正的过程,每一次学习都对贝叶斯网络的先验概率进行调整,使得新的贝叶斯网络更能反映数据中蕴含的知识。贝叶斯网络能够持续学习,上次学习得到的后验贝叶斯网络编程下一次学习的先验贝叶斯网络,每一次学习前用户都可以对先验贝叶斯网络进行调整,使得新的贝叶斯网络更能体现数据中蕴含的知识。
基于训练数据集构建了贝叶斯网络后,可进行预测和诊断。
给出下图的 Bayes 网络
解:
由 Bayes 网络可以直接写出
由图可知
下图给出了表中的的数据集对应的贝叶斯信念网络(假设所有的属性都是二元的)
数据为
行车里程 | 引擎 | 空调 | 车的价值为高个数 | 车的价值为低个数 |
---|---|---|---|---|
高 | 好 | 可用 | 3 | 4 |
高 | 好 | 不可用 | 1 | 2 |
高 | 差 | 可用 | 1 | 5 |
高 | 差 | 不可用 | 0 | 4 |
低 | 好 | 可用 | 9 | 0 |
低 | 好 | 不可用 | 5 | 1 |
低 | 差 | 可用 | 1 | 2 |
低 | 差 | 不可用 | 0 | 2 |
解:
第一题,对于行车里程节点,概率表为
行车里程高 | 行车里程低 |
---|---|
对于空调
空调可用 | 空调不可用 |
---|---|
对于引擎
引擎好 | 引擎差 | |
---|---|---|
行车里程高 | ||
行车里程低 |
对于车的价值
引擎好,空调可用 | 引擎差,空调可用 | 引擎好,空调不可用 | 引擎差,空调不可用 | |
---|---|---|---|---|
车的价值高 | ||||
车的价值低 |
第二题,计算
然后根据引擎节点的概率表
因此