您好,欢迎访问三七文档
2009-10-31数据仓库与数据挖掘1第7章贝叶斯网络2009-10-31数据仓库与数据挖掘2第7章贝叶斯网络7.1引例7.2贝叶斯概率基础7.3贝叶斯网络概述7.4贝叶斯网络的预测、诊断和训练算法7.5工具包应用2009-10-31数据仓库与数据挖掘37.1引例参加晚会后,第二天早晨呼吸中有酒精味的可能性有多大?如果头疼,患脑瘤的概率有多大?如果参加了晚会,并且头疼,那么患脑瘤的概率有多大?PartyHangoverBrainTumorHeadacheSmellAlcoholPosXray2009-10-31数据仓库与数据挖掘47.2贝叶斯概率基础7.2.1先验概率、后验概率和条件概率7.2.2条件概率公式7.2.3全概率公式7.2.4贝叶斯公式2009-10-31数据仓库与数据挖掘57.2.1先验概率、后验概率和条件概率先验概率:根据历史的资料或主观判断所确定的各种时间发生的概率后验概率:通过贝叶斯公式,结合调查等方式获取了新的附加信息,对先验概率修正后得到的更符合实际的概率条件概率:某事件发生后该事件的发生概率2009-10-31数据仓库与数据挖掘67.2.2条件概率公式条件概率的计算可以通过两个事件的发生概率,以及相反方向的条件概率得到)()()|()|(BPAPABPBAP2009-10-31数据仓库与数据挖掘77.2.3全概率公式基本事件的互斥性基本事件的完备性niiiBAPBPAP1)|()()(njijiBBji,......,2,1,,,nBBB......212009-10-31数据仓库与数据挖掘87.2.4贝叶斯公式独立互斥且完备的先验事件概率可以由后验事件的概率和相应条件概率决定niiiiiiBAPBPBAPBPABP1)|()()|()()|(2009-10-31数据仓库与数据挖掘97.3贝叶斯网络概述7.3.1贝叶斯网络的组成和结构7.3.2贝叶斯网络的优越性7.3.3贝叶斯网络的3个主要议题2009-10-31数据仓库与数据挖掘107.3.1贝叶斯网络的组成和结构贝叶斯网络是描述随机变量(事件)之间依赖关系的一种图形模式,是一种用来进行推理的模型贝叶斯网络由网络结构和条件概率表两部分组成。网络结构是一个有向无环图2009-10-31数据仓库与数据挖掘117.3.2贝叶斯网络的优越性对已有的信息要求低,可以进行信息不完全、不确定情况下的推理具有良好的可理解性和逻辑性专家知识和试验数据的有效结合相辅相成,忽略次要联系而突出主要矛盾,可以有效避免过学习推理结果说服力强,贝叶斯网络对先验概率的要求大大降低2009-10-31数据仓库与数据挖掘127.3.3贝叶斯网络的3个主要议题贝叶斯网络预测贝叶斯网络诊断贝叶斯网络学习2009-10-31数据仓库与数据挖掘137.4贝叶斯网络的预测、诊断和训练算法7.4.1概率和条件概率数据7.4.2贝叶斯网络的预测算法7.4.3贝叶斯网络的诊断算法7.4.4贝叶斯网络预测和诊断的综合算法7.4.5贝叶斯网络的建立和训练算法2009-10-31数据仓库与数据挖掘147.4.1概率和条件概率数据左表给出了事件发生的概率:PT发生的概率是0.2,不发生的概率是0.8右表给出了事件发生的条件概率:PT发生时,HO发生的概率是0.7P(PT)P(BT)True0.2000.001False0.8000.999P(HO|PT)PT=TruePT=FalseTrue0.7000False0.3001.0002009-10-31数据仓库与数据挖掘157.4.2贝叶斯网络的预测算法输入:给定贝叶斯网络B(包括网络结构m个节点以及某些节点间的连线、原因节点到中间节点的条件概率或联合条件概率),给定若干个原因节点发生与否的事实向量F(或者称为证据向量);给定待预测的某个节点t。输出:节点t发生的概率。(1)把证据向量输入到贝叶斯网络B中;(2)对于B中的每一个没处理过的节点n,如果它具有发生的事实(证据),则标记它为已经处理过;否则继续下面的步骤;(3)如果它的所有父节点中有一个没有处理过,则不处理这个节点;否则,继续下面的步骤;(4)根据节点n的所有父节点的概率以及条件概率或联合条件概率计算节点n的概率分布,并把节点n标记为已处理;(5)重复步骤(2)-(4)共m次。此时,节点t的概率分布就是它的发生/不发生的概率。算法结束。2009-10-31数据仓库与数据挖掘167.4.3贝叶斯网络的诊断算法输入:给定贝叶斯网络B(包括网络结构m个节点以及某些节点间的连线、原因节点到中间节点的条件概率或联合条件概率),给定若干个结果节点发生与否的事实向量F(或者称为证据向量);给定待诊断的某个节点t。输出:节点t发生的概率。(1)把证据向量输入到贝叶斯网络B中;(2)对于B中的每一个没处理过的节点n,如果它具有发生的事实(证据),则标记它为已经处理过;否则继续下面的步骤;(3)如果它的所有子节点中有一个没有处理过,则不处理这个节点;否则,继续下面的步骤;(4)根据节点n所有子节点的概率以及条件概率或联合条件概率,根据条件概率公式,计算节点n的概率分布,并把节点n标记为已处理;(5)重复步骤(2)-(4)共m次。此时,原因节点t的概率分布就是它的发生/不发生的概率。算法结束。2009-10-31数据仓库与数据挖掘177.4.4贝叶斯网络预测和诊断的综合算法利用贝叶斯网络进行单纯的预测或进行单纯的诊断的情况时比较少的,一般情况下,需要综合使用预测和诊断的功能综合使用预测和诊断的功能时,预测和诊断的使用没有先后顺序把已知发生/不发生事件作为证据,向整个网络扩散通过证据,可以把网络的规模逐渐减小,以获得需要节点的概率信息2009-10-31数据仓库与数据挖掘187.4.5贝叶斯网络的建立和训练算法首先要把实际问题的事件抽象为节点建立两个或多个节点之间的连线。有明确的因果关系或相关关系的节点之间可以建立连线,否则尽量不建立连线总的数据条数出现的数据条数mmPPP发生的次数共同发生的次数和PSQSPSPSQSP|共同发生的次数和共同发生的次数QSPSRSQSPSQSPSRSP,,),|(事件的概率:事件条件概率:事件的联合条件概率:2009-10-31数据仓库与数据挖掘197.5工具包应用第1步,在SQLServer2005中创建一个新的数据库第2步,在数据库BayesDatabase中创建一个具有4个列的新数据表Table_2第3步,打开数据表Table_2,向数据表中输入数据第4步,创建新的商业智能项目BayesProject第5步,建立BayesA中的数据连接,连接到数据库BayesDatabase第6步,建立BayesA中的数据源视图,在建立视图的过程中选择数据库中的表格Table_2第7步,创建挖掘结构第8步,预测和诊断2009-10-31数据仓库与数据挖掘20第1步,创建新的数据库第1步,在SQLServer2005中创建一个新的数据库(创建的过程全部取默认值),把新建的数据库命名为BayesDatabase。2009-10-31数据仓库与数据挖掘21第2步,创建新数据表第2步,在数据库BayesDatabase中创建一个具有4个列的新数据表Table_2。2009-10-31数据仓库与数据挖掘22第3步,向数据表中输入数据第3步,打开数据表Table_2,向数据表中输入数据。2009-10-31数据仓库与数据挖掘23第4步,创建新的商业智能项目第4步,创建新的商业智能项目BayesProject2009-10-31数据仓库与数据挖掘24第5步,建立数据连接第5步,建立BayesA中的数据连接,连接到数据库BayesDatabase。2009-10-31数据仓库与数据挖掘25第6步,建立数据源视图第6步,建立BayesA中的数据源视图,在建立视图的过程中选择数据库中的表格Table_2。2009-10-31数据仓库与数据挖掘26第7步,创建挖掘结构第7步,创建挖掘结构。首先选择“MicrosoftNaïveBayes”挖掘模型。选择默认操作,我们便得到了一个贝叶斯网络2009-10-31数据仓库与数据挖掘27第8步,预测和诊断第8步,预测和诊断。首先点击“挖掘模型预测”选项卡,进入预测的界面。然后选择Table_2为事例表。
本文标题:贝叶斯网络
链接地址:https://www.777doc.com/doc-7304058 .html