1 贝叶斯网络理论基础
贝叶斯网络是概率图模型中的有向无环图模型,我们对现实问题建模的过程中,该问题中的多维随机变量就已经有了条件独立性这一性质。贝叶斯网络只不过可视化其条件独立性而已。(注意条件独立性已经不是假设了,而是一个条件),而可以通过拓扑排序来建立贝叶斯网络。[1]
上图中就是贝叶斯网络的理论基础。第一个式子是一直恒定的,表示的是联合概率计算。而第二个式子在贝叶斯网络建成之后就有的性质,注意A,B,C三个是贝叶斯网络中节点集合。那么第三个式子就说明我们可以针对该贝叶斯网络对联合概率的求解过程进行因子分解,进行因子分解的目的是为了精简计算。
2 贝叶斯网络中节点条件独立的类型
主要有三种类型,这三种类型各自的条件独立性质是贝叶斯网络给定情况下就已经有的。所有的贝叶斯网络都可以由这3种类型的局部结构概括。
2.1 tail -tail
如果a被观测,则b,c条件独立的意思。
2.2 head-tail
如果b被观测,则a,c条件独立。
2.3 head-head
如果c被观测,则a,b有关系,不独立了。
通过一个例子理解2.3
如图给定该贝叶斯网络,想判断
上式如果等于的话,那么a,b是独立的。如果不等于的话,a,b不是独立的。
当然这里明显是不等于的,所以a,b不是独立的。也就是观测到c,a,b不是独立的。
为什么它比较麻烦,因为在后面的推断章节中,比如P(z|x),给定x,求z的概率分布。那么这种类型的条件独立
不容易因子分解,给求P(z|x)带来困难。
2.4 思考
了解贝叶斯网络中的三种节点排列的条件独立性有什么用呢?能帮助我们求解联合概率是吗?
3 D-分离
那么如何体现在贝叶斯网络中整体的条件独立性呢?D-分离就出现了,D-分离的规则可以帮助我们依据第2节的三种局部结构把整个贝叶斯网络节点分在几个不同的集合中。
上图中,左边有第2节的3种局部结构。右边是D-分离是如何把贝叶斯网络节点放在不同集合的。
如果我们想要求P(xi|x-i) 其中-i表示网络中其它节点,我们会发现xi跟全局节点的关系等价于xi跟它的马尔科夫blanket的关系,跟除了马尔科夫blanket之外的节点条件独立。
4 贝叶斯网络的表示、推断、学习(总结贝叶斯网络可以做什么)
5 贝叶斯网络解决问题的例子
5.1 一个例子[2]
例如,如果一篇文章是关于南海岛屿的新闻(将这一事件记作“News”),文章可能包含介绍南海岛屿历史的内容(这一事件记作“History”),但一般不会有太多介绍旅游风光 的内容(将事件“有介绍旅游风光的内容”记作“Sightseeing”)。我们可以构造一个简单的贝叶斯网络,如图所示。
三个事件的联合概率函数为:
这个模型可以回答如下类似的问题:如果一篇文章中含有南海岛屿历史相关的内容,该文章是关于南海新闻的可能性有多大?
该问题中,我们首先依据问题建模成贝叶斯网络,每个节点都会有相应的概率表,但该节点概率表只跟自己的父节点有关。而后我们在确定一个节点状态的情况下求解另一个节点在某状态概率,也就是条件概率。但我们似乎并没有发现需要用到条件独立或者D-分离的知识,这在图很大的时候才会用到。
6 参考
[1]https://www.bilibili.com/video/BV1BW41117xo?p=5
[2] https://zhuanlan.zhihu.com/p/80928050