贝叶斯网络

Posted by ZhengYang on 2016-07-07

概率图模型可以分为有向图和无向图。

有向图:贝叶斯网络,HMM。

无向图:MRF,CRF。

贝叶斯网络的表示

贝叶斯网络的联合概率分布定义:有向图不用归一化。

例子如下图,

对应的概率分布:

条件独立,在贝叶斯网络中主要体现了三种情况:

  1. tail-to-tail

联合概率分布:

如果a,b,c变量未知,那么不能用贝叶斯公式,只能对c求边际概率分布。

不能得到a,b关于c条件独立。

如果c已知,那么便不能对c求边际概率分布,只能用贝叶斯公式。

可以得到,a,b关于c条件独立。

2 . head-to-tail

联合概率分布:

如果a,b,c未知,不能用贝叶斯公式,只能对c求边际概率分布。

不能得到,a,b关于c条件独立。

如果c已知,不能对c求边际概率分布,只能用贝叶斯公式。

可以看出,a,b关于c条件独立。

3 . head-to-head

联合概率分布:

如果a,b,c未知,不能用贝叶斯公式,只能对c求边际概率分布。

这次可以得到,a,b独立。 当然a,b也是关于c条件独立的。

如果c已知,不能对c求边际概率分布,只能用贝叶斯公式。

但是这次,并不能导出a,b关于c条件独立。

d-separation

d-separation是有向图的一个属性,表示如下,
A,B,C三组节点,A中的任意节点到B的任意结点的所有路径,只要在任意一条路径上,存在以下结点,就说A和B被C阻断(blocked):

举例说明,例一,紫色表示该节点已知,白色表示未知,

A:结点a
B:结点b
结点f是tail-to-tail结构,且未知,则结点f并不能阻断a和b;
结点e是head-to-head结构,且未知,说明如果无后继结点,可以阻断a和b的;但是它存在一个后继结点c,而且c是已知的,因此,结点e不能阻断a和b。

例二,紫色表示该节点已知,白色表示未知,

A:结点a
B:结点b
结点f是tail-to-tail结构,已知,因此结点f可以阻断a和b;
结点e是head-to-head结构,未知,说明如果无后继结点,可以阻断a和b;结点e存在后继结点c,而且c是未知的,也可以阻断a和b,因此,结点e可以阻断a和b。

贝叶斯网络推断 得到的后验概率分布

根据贝叶斯网络的联合概率分布,通过对隐藏变量求积分或求和,得出观测变量的边缘概率分布,然后再用联合概率分布除以边际概率分布,得到隐藏变量的后验概率分布。

可见变量边缘概率分布易求

如果可见变量(visible variables)的边缘概率分布很容易求,即隐藏变量(hidden variables)很容易积分或求和,那么可以直接求出隐藏变量的后验概率分布。

有时,隐藏变量可以更进一步分解为query variable和nuisance variable,那么可以继续对nuisance variable求积分或求和,得到query variable的条件概率分布。

可见变量边缘概率分布难求

当观测隐藏变量为多个变量,且取值很多时,求可见变量的边缘概率分布就是个NP。
因此,需要进行近似推断,常采用Gibbs sampling来进行推断。

具体算法如下:
查询向量等同于查询上式中的隐藏变量,证据向量等同于上式中的可见变量。
查询向量为Q={Q1,Q2…Qn},取值为q;证据向量为E={E1,E2,E3…Em},取值为e

  1. 遍历查询向量Q,取Qi
  2. 新向量Z等于Q和E的交集,出去变量Qi
  3. 计算条件概率分布p(Qi | Z)
  4. 根据条件概率分布p(Qi | Z),得到变量Qi的采样值qit
  5. 用qit替换qi(t-1),组成新的查询向量值qt
  6. 如果qt为目标查询向量的值,则计数nq累加1
  7. 循环T次,使马尔科夫链达到平稳
  8. 计算p(Q=q|E=e)近似等于nq/T

算法中最终的一步,是求得一元隐藏变量的后验概率分布。
根据联合概率分布,对变量Qi进行积分或求和,得到向量Z的边缘概率分布;然后将联合概率分布除以Z的边缘概率分布,得到变量qi的后验概率分布,即p(Qi | Z).

首先在隐藏变量中,分别对一元变量的进行积分或求和,得到其余变量的边缘概率分布,然后用联合概率分布除以其余变量的边缘概率分布,得到该隐藏一元变量的后验概率分布,接下来根据该条件概率分布进行采样。