贝叶斯网络
数据仓库与数据挖掘
第7章 贝叶斯网络
2009-10-31
1
第7章 贝叶斯网络
7.1 引例 7.2 贝叶斯概率基础 7.3 贝叶斯网络概述 7.4 贝叶斯网络的预测,诊断和训练 算法 7.5 工具包应用
2009-10-31
数据仓库与数据挖掘
2
7.1 引例
Party
参加晚会后,第 二天早晨呼吸中 Hangover Brain Tumor 有酒精味的可能 性有多大? 如果头疼,患脑 Headache 瘤的概率有多大? 如果参加了晚会, 并且头疼,那么 Smell Alcohol Pos Xray 患脑瘤的概率有 多大?
i 1
n
独立互斥且完备的先验事件概率可以 由后验事件的概率和相应条件概率决 定
数据仓库与数据挖掘 8
2009-10-31
7.3 贝叶斯网络概述
7.3.1 贝叶斯网络的组成和结构
7.3.2 贝叶斯网络的优越性
7.3.3 贝叶斯网络的3个主要议题
2009-10-31
数据仓库与数据挖掘
9
7.3.1 贝叶斯网络的组成和结构
2009-10-31
数据仓库与数据挖掘
16
7.4.4 贝叶斯网络预测和诊断的 综合算法
利用贝叶斯网络进行单纯的预测或进行单 纯的诊断的情况时比较少的,一般情况下, 需要综合使用预测和诊断的功能 综合使用预测和诊断的功能时,预测和诊 断的使用没有先后顺序 把已知发生/不发生事件作为证据,向整个 网络扩散 通过证据,可以把网络的规模逐渐减小, 以获得需要节点的概率信息
2009-10-31 数据仓库与数据挖掘 14
7.4.2 贝叶斯网络的预测算法
输入:给定贝叶斯网络B(包括网络结构m个节点以及某些节点间的连线,原因 节点到中间节点的条件概率或联合条件概率),给定若干个原因节点发生与 否的事实向量F(或者称为证据向量);给定待预测的某个节点t. 输出:节点t发生的概率.
第7步,创建挖掘结构.首先选择"Microsoft Nave Bayes"挖掘模型. 选择默认操作,我们便得到了一个贝叶斯网络
数据仓库与数据挖掘 26
2009-10-31
第8步,预测和诊断
第8步,预测和诊断.首先点击"挖掘 模型预测"选项卡,进入预测的界面. 然后选择Table_2为事例表.
数据仓库与数据挖掘 27
第5步,建立BayesA中的数据连接, 连接到数据库BayesDatabase.
2009-10-31
数据仓库与数据挖掘
24
第6步,建立数据源视图
第6步,建立BayesA中的数据源视图, 在建立视图的过程中选择数据库中的 表格Table_2.
2009-10-31
数据仓库与数据挖掘
25
第7步,创建挖掘结构
2009-10-31
数据仓库与数据挖掘
5
7.2.2 条件概率公式
P( A | B) P( B | A) P( A) P( B)
条件概率的计算可以通过两个事件的 发生概率,以及相反方向的条件概率 得到
数据仓库与数据挖掘 6
2009-10-31
7.2.3 全概率公式
P( A) P( Bi ) P( A | Bi )
PS , QS , RS 共同发生的次数 PS 和QS共同发生的次数
18
事件的概率:
事件条件概率:
PQS | PS
事件的联合条件概率:
2009-10-31
P( RS | PS , QS )
数据仓库与数据挖掘
7.5 工具包应用
第1步,在SQL Server 2005中创建一个新的数据库 第2步,在数据库BayesDatabase中创建一个具有4个列的 新数据表Table_2 第3步,打开数据表Table_2,向数据表中输入数据 第4步,创建新的商业智能项目BayesProject 第5步,建立BayesA中的数据连接,连接到数据库 BayesDatabase 第6步,建立BayesA中的数据源视图,在建立视图的过程中 选择数据库中的表格Table_2 第7步,创建挖掘结构 第8步,预测和诊断
贝叶斯网络是描述随机变量(事件) 之间依赖关系的一种图形模式,是一 种用来进行推理的模型 贝叶斯网络由网络结构和条件概率表 两部分组成.网络结构是一个有向无 环图
2009-10-31
数据仓库与数据挖掘
10
7.3.2 贝叶斯网络的优越性
对已有的信息要求低,可以进行信息 不完全,不确定情况下的推理 具有良好的可理解性和逻辑性 专家知识和试验数据的有效结合相辅 相成,忽略次要联系而突出主要矛盾, 可以有效避免过学习 推理结果说服力强,贝叶斯网络对先 验概率的要求大大降低
2009-10-31
数据仓库与数据挖掘
3
7.2 贝叶斯概率基础
7.2.1 先验概率,后验概 率和条件概率
7.2.2 条件概率公式
7.2.3 全概率公式 7.2.4 贝叶斯公式
2009-10-31
数据仓库与数据挖掘
4
7.2.1 先验概率,后验概率和条 件概率
先验概率:根据历史的资料或主观判断所 确定的各种时间发生的概率 后验概率:通过贝叶斯公式,结合调查等 方式获取了新的附加信息,对先验概率修 正后得到的更符合实际的概率 条件概率:某事件发生后该事件的发生概 率
(1)把证据向量输入到贝叶斯网络B中;
(2)对于B中的每一个没处理过的节点n,如果它具有发生的事实(证据),则 标记它为已经处理过;否则继续下面的步骤; (3)如果它的所有父节点中有一个没有处理过,则不处理这个节点;否则,继 续下面的步骤; (4)根据节点n的所有父节点的概率以及条件概率或联合条件概率计算节点n的 概率分布,并把节点n标记为已处理; (5)重复步骤(2)-(4)共m次.此时,节点t的概率分布就是它的发生/不发 生的概率.算法结束.
数据仓库与数据挖掘
2009-10-31
19
第1步,创建新的数据库
ห้องสมุดไป่ตู้
第1步,在SQL Server 2005中创建一 个新的数据库(创建的过程全部取默 认值),把新建的数据库命名为 BayesDatabase.
2009-10-31
数据仓库与数据挖掘
20
第2步,创建新数据表
第2步,在数据库BayesDatabase中 创建一个具有4个列的新数据表 Table_2.
数据仓库与数据挖掘 17
2009-10-31
7.4.5 贝叶斯网络的建立和训练 算法
首先要把实际问题的事件抽象为节点 建立两个或多个节点之间的连线.有明确的因果 关系或相关关系的节点之间可以建立连线,否则 尽量不建立连线
PPm Pm出现的数据条数 总的数据条数
PS和QS共同发生的次数 PS发生的次数
2009-10-31
数据仓库与数据挖掘
15
7.4.3 贝叶斯网络的诊断算法
输入:给定贝叶斯网络B(包括网络结构m个节点以及某些节点间的连线,原因 节点到中间节点的条件概率或联合条件概率),给定若干个结果节点发生与 否的事实向量F(或者称为证据向量);给定待诊断的某个节点t. 输出:节点t发生的概率. (1)把证据向量输入到贝叶斯网络B中; (2)对于B中的每一个没处理过的节点n,如果它具有发生的事实(证据),则 标记它为已经处理过;否则继续下面的步骤; (3)如果它的所有子节点中有一个没有处理过,则不处理这个节点;否则,继 续下面的步骤; (4) 根据节点n所有子节点的概率以及条件概率或联合条件概率,根据条件概 率公式,计算节点n的概率分布,并把节点n标记为已处理; (5)重复步骤(2)-(4)共m次.此时,原因节点t的概率分布就是它的发生/ 不发生的概率.算法结束.
数据仓库与数据挖掘 21
2009-10-31
第3步,向数据表中输入数据
第3步,打开数据表Table_2,向数据 表中输入数据.
数据仓库与数据挖掘 22
2009-10-31
第4步,创建新的商业智能项目
第4步,创建新的商业智能项目 BayesProject
2009-10-31
数据仓库与数据挖掘
23
第5步,建立数据连接
2009-10-31 数据仓库与数据挖掘 11
7.3.3 贝叶斯网络的3个主要议题
贝叶斯网络预测 贝叶斯网络诊断
贝叶斯网络学习
2009-10-31
数据仓库与数据挖掘
12
7.4 贝叶斯网络的预测,诊断和 训练算法
7.4.1 概率和条件概率数据 7.4.2 贝叶斯网络的预测算法 7.4.3 贝叶斯网络的诊断算法 7.4.4 贝叶斯网络预测和诊断的综合算法 7.4.5 贝叶斯网络的建立和训练算法
i 1 n
基本事件的互斥性 Bi B j , i j, i, j 1,2,......, n 基本事件的完备性 B1 B2 ...... Bn
2009-10-31 数据仓库与数据挖掘 7
7.2.4 贝叶斯公式
P( Bi | A) P( Bi ) P( A | Bi )
P( Bi ) P( A | Bi )
2009-10-31
�
2009-10-31
数据仓库与数据挖掘
13
7.4.1 概率和条件概率数据
P(PT) P(BT) P(HO|PT) PT=True PT=False True 0.200 0.001
True
0.700
0
False
0.800
0.999
False
0.300
1.000
左表给出了事件发生的概率:PT发生 的概率是0.2,不发生的概率是0.8 右表给出了事件发生的条件概率:PT 发生时,HO发生的概率是0.7