贝叶斯网络

来源:互联网 发布:java isdirectory 编辑:程序博客网 时间:2024/06/15 06:38

一、贝叶斯网络概述


        贝叶斯网络是一种概率网络,它是基于概率推理的图形化网络,而贝叶斯公式则是这个概率网络的基础。一个贝叶斯网络是一个有向无环图(Directed Acyclic Graph,DAG),由代表变量节点及连接这些节点有向边构成。节点代表随机变量,节点间的有向边代表了节点间的互相关系(由父节点指向其子节点),用条件概率进行表达关系强度,没有父节点的用先验概率进行信息表达。

一个简单的贝叶斯网络如下:

它所代表的含义如下:

再来看一个更复杂的贝叶斯网络:

上图是一个警报网络。左上是盗窃,右上是地震,中间的是警报,左下代表John回应警报,右下是Mary回应警报,旁边分别是他们发生的概率。

全部随机变量发生的概率为:

贝叶斯网络中的形式化定义:

BN(G,theta)

G:有向无环图

G的节点:随机变量

G的边:节点间的有向依赖

theta:所有条件概率分布的参数集合

节点X的条件概率:


二、通过贝叶斯网络判定条件独立


第一种情形,tail-to-tail:

在上图的贝叶斯网络中

移项:

根据条件概率公式有:

所以:

所以根据上式可知,在上图这种贝叶斯网络中,在给定c的情况下将a、b阻断,a、b独立。

第二种情形,head-to-tail:



所以这种情形也是在c给定的情况下阻断a、b,a、b独立

第三种情形,head-to-head:

在这种情形下,在c未知的条件下阻断a、b,a、b独立。

D-separation:有向分离

对于任意的节点集A,B,C,考察所有通过A中任意节点到B中任意节点的路径,若要求A,B独立,则要求所有路径都被阻断。


三、构建贝叶斯网络


依次计算每个变量的D-separation的局部测试结果,综合每个节点得到贝叶斯网络

算法过程:

1.选择变量的一个合理顺序:X1,X2,……Xn

2.对于i=1到n

   2.1 在网络中添加Xi节点

   2.2 在X1,X2,X3……Xi-1中选择Xi的父母,使得:

         

贝叶斯网络构建举例:

先选定一个顺序,根据给出的数据判断P(J|M)和P(J)是否相等,如果不相等则说明它们不独立,可以引出一条线,否则它们之间没有联系。

然后增加一点,继续判断,直到结束。

这样一个贝叶斯网络就构建完成了。


原创粉丝点击