动机
对于一个全联合的概率分布,如果随机变量为$n$个二值变量,那么其计算的复杂度就为$ O(2^{n}-1)$ ,很显然如果维数稍稍增大的话,计算量便会非常恐怖。因此为了减少概率的计算数量,我们可以利用条件独立关系减少相关的概率。贝叶斯网络便是通过一个有向图的结构,表示变量间的条件独立关系。
Bayesian Network的定义是:
- 每个节点就是一个随机变量,可以是连续也可以为离散
- DAG,即有向无环图。如果$X\rightarrow Y$ ,则称$X$为$Y$的父节点
- 每个节点$X_i$都有一个条件概率分布$P(X_i\vert Parents(X_i))$
分解因式
对于一个联合概率分布,我们有:
$P(x_1,x_2,…,x_n)=\prod_{k=1}^nP(x_k\vert x_{1:k-1})$
利用BN分解因式得到:
$P(x_1,x_2,…,x_n)=\prod_{i=1}^pP(x_i\vert x_{parent(i)})$
三种分解后的模式
head2head
Union Distribution:
$P(a,b,c)=P(a)P(b\vert a)P(c\vert a,b)$
Bayesian Rule:
$P(a,b,c)=P(a)P(b\vert a)P(c\vert a)$
联立得到:
$P(c\vert a,b)=P(c\vert a)$,故在给定$P(a)$时,$b \perp c \vert a$ 即$b$和$c$在给定$a$的概率时(观测到$a$的概率)条件独立。
head2tail
形如链式。
给定中间的$b$的概率之后:
根据Union Distribution , $P(a,b,c)=P(a)P(b\vert a)P(c\vert a,b)$
根据贝叶斯公式:$P(a,b,c)=P(a)P(b\vert a)P(c\vert b)$
得到$c \perp a \vert b$
tail2tail
如果$c$未被观测,那么
根据联合概率:
$P(a,b,c)=P(a)P(b\vert a)P(c\vert a,b)$
根据贝叶斯:
$P(a,b,c)=P(a)P(b)P(c\vert a,b)$
那么:$P(b\vert a)=P(b)$ 也就是$a$和$b$无条件独立
应用
D-Separation
If we have 3 sets $X_A,X_B,X_C$, all of which are consists of randomized varieties and the intersections between each are empty sets.
Assume that there is a path between nodes of $X_A$to those of $X_C$,all of nodes on that path should be in $X_B$.
If there is $X_B\rightarrow X_A$ and $X_B\rightarrow X_C$ ,with $X_B$ be observed, we will have the conclusion $X_A\perp X_C \vert X_B $
Markov Blanket
可以证明,在一个贝叶斯网络中,有三部分与给定的某个随机变量$x_i$有关:
- $x_i$的父节点
- $x_i$的子节点
- $x_i$所有子节点的所有除了$x_i$的父节点
换言之,如果观测了一个随机变量的$Markov\quad Blanket$之后,该贝叶斯网络的其他随机变量与$x_i$条件独立。可以看出,$x_i$的父节点阻隔了更高阶的父节点与$x_i$的关联,即阻隔head2tail模式,同理$x_i$的子节点也阻隔了$x_i$与其高阶子节点的关系(和head2tail的链式结构与head2head的结构兼有)。最后,由于$x_i$的子节点均已被观测,那么此时$x_i$的子节点的父节点均与$x_i$和它自己的公共子节点构成tail2tail结构,此时二者失去独立性,故这些子节点的其余父节点也要纳入Markov Blanket中。
即:
计算$x_i$在$x_1…x_{i-1}x_{i+1}…x{n}$下的概率$P(x_i\vert x_1…x_{i-1}x_{i+1}…x{n})=P(X)/P(x_{-i})$
继续展开求边缘概率:
$=P(X)/ \int_{x_i} P(x) dx_i $
再用贝叶斯:
然后自然$x_i$的MB部分在公式中成为常量提出,上下约分 。
很显然,对于$P(x_j\vert x_{pa(j)})$,若$j=i$,那么$x_i$的父节点需要被积分,然后对于那些$pa(j)=i$的节点,也要被积分。最后,那些和$i$一起出现在$pa(j)$中的节点自然也要一起被积分,因为在同一个概率项中。所以最后除了这三种节点,其余节点都不会出现在含有$x_i$的项中,故上下式中的其余项构成的连续乘积可看作常量约分,最后得到:
贝叶斯网络分类
单一模型
Naive Bayes, 基于朴素贝叶斯假设:$P(x\vert y)=\prod_{i=1}^nP(x_i\vert y=1)$
即:当$y$被观测到为确定时,所有的随机变量$x$都互相独立,用于分类问题,维数等于分类数。
混合模型
Gaussian Mixed Model,可用于Clustering。
引入一个离散值$Z=1,2,…,k$ , 记$X\vert Z\sim N(\mu,\Sigma)$ ,$X$与$Z$满足参数为$(\mu,\Sigma)$的参数分布。
基于时间的模型
Markov Chain
HMM , 隐马尔科夫模型。
Gaussian Process 高斯过程,无限维的Gaussian Distribution
LDS 线性动态系统 如:Kalman Filter
Particle Filter 非连续非线性系统
连续模型
Gaussian Bayesian Network