【参考资料】
1.B站:机器学习-白板推导系列(九)-概率图模型基础
2.知乎:概率图模型简要笔记
简写
BN: bayesian network
CPD: conditional probability distribution
DAG: directed acyclic graph,即有向非循环图
RV: random variable
1 概览
概率图的两要素
:
{
研究的问题:高维随机变量
解决办法:条件独立性假设
\text{概率图的两要素}:\begin{cases} \text{研究的问题:高维随机变量} \\[3pt] \text{解决办法:条件独立性假设} \end{cases}
概率图的两要素:{研究的问题:高维随机变量解决办法:条件独立性假设
1.1 核心问题
整个概率图模型的核心问题:高维随机变量
1.2 计算法则
{ Sum Rule : P ( x 1 ) = ∫ P ( x 1 , x 2 ) d x 2 Product Rule : P ( x 1 , x 2 ) = P ( x 1 ) P ( x 2 ∣ x 1 ) = P ( x 2 ) P ( x 1 ∣ x 2 ) Chain Rule : P ( x 1 , . . . , x p ) = ∏ i = 1 p P ( x i ∣ x 1 , . . . , x i − 1 ) Bayesian Rule : P ( x 2 ∣ x 1 ) = P ( x 1 , x 2 ) P ( x 1 ) = P ( x 1 , x 2 ) ∫ P ( x 1 , x 2 ) d x 2 = P ( x 2 ) P ( x 1 ∣ x 2 ) ∫ P ( x 2 ) P ( x 1 ∣ x 2 ) d x 2 \begin{cases} \text{Sum Rule}: P(x_1)=\int P(x_1,x_2)dx_2 \\[3pt] \text{Product Rule}: P(x_1,x_2)=P(x_1)P(x_2|x_1)=P(x_2)P(x_1|x_2) \\[3pt] \text{Chain Rule}: P(x_1,...,x_p)=\prod^p_{i=1}P(x_i|x_1,...,x_{i-1}) \\[3pt] \text{Bayesian Rule}: P(x_2|x_1)=\frac{P(x_1,x_2)}{P(x_1)}=\frac{P(x_1,x_2)}{\int P(x_1,x_2)dx_2}=\frac{P(x_2)P(x_1|x_2)}{\int P(x_2)P(x_1|x_2)dx_2} \end{cases} ⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧Sum Rule:P(x1)=∫P(x1,x2)dx2Product Rule:P(x1,x2)=P(x1)P(x2∣x1)=P(x2)P(x1∣x2)Chain Rule:P(x1,...,xp)=∏i=1pP(xi∣x1,...,xi−1)Bayesian Rule:P(x2∣x1)=P(x1)P(x1,x2)=∫P(x1,x2)dx2P(x1,x2)=∫P(x2)P(x1∣x2)dx2P(x2)P(x1∣x2)
1.3 困境以及解决办法
高维随机变量
P
(
x
1
,
.
.
.
,
x
p
)
P(x_1,...,x_p)
P(x1,...,xp) 的计算量过大
为了简化计算,可以使用一系列的方法
- 朴素贝叶斯 Naive Bayesian
假设各维度之间相互独立
P ( x 1 , . . . , x p ) = ∏ i = 1 p P ( x i ) (1) \tag{1}P(x_1,...,x_p)=\prod^p_{i=1}P(x_i) P(x1,...,xp)=i=1∏pP(xi)(1) - 马尔科夫假设
朴素贝叶斯的假设有点太强了
因此不妨退一步,使得状态 i + 1 i+1 i+1 只与状态 i i i 有关,和其他相互独立,就得到了马尔科夫假设
x j ⊥ x i + 1 ∣ x i , j < i x_j\perp x_{i+1}|x_i,j<i xj⊥xi+1∣xi,j<i - 条件独立性假设
对于现实问题,马尔科夫假设依旧很强
此时再退一步,集合 A , B , C A,B,C A,B,C 是互不相交的随机变量的集合,在给定集合 C C C 的条件下,集合 A A A 与集合 B B B 独立,这样就得到了条件独立性假设
x A ⊥ x B ∣ x C x_A\perp x_B|x_C xA⊥xB∣xC
2 贝叶斯网络
A Bayesian network
B
\mathcal{B}
B is a tuple
(
G
,
{
P
X
1
,
.
.
.
,
P
X
N
}
)
(\mathcal{G},\{P_{X_1},...,P_{X_N}\})
(G,{PX1,...,PXN})
where,
- G = ( X , E ) \mathcal{G}=(\bm{X},\bm{E}) G=(X,E) is a DAG (directed acyclic graph),即有向非循环图
- each node X i X_i Xi corresponds to an RV
- P X i P_{X_i} PXi are CPDs with the form P X i ( X i ∣ X p a ( i ) ) P_{X_i}(X_i|X_{pa(i)}) PXi(Xi∣Xpa(i)), X p a ( i ) X_{pa(i)} Xpa(i) 表示 X i X_i Xi 的所有父节点的集合
The BN
B
\mathcal{B}
B defines the joint probability distribution
P
B
(
X
1
,
.
.
.
,
X
N
)
=
∏
i
=
1
N
P
X
i
(
X
i
∣
X
p
a
(
i
)
)
(2)
\tag{2}P_{\mathcal{B}}(X_1,...,X_N)=\prod_{i=1}^N P_{X_i}(X_i|X_{pa(i)})
PB(X1,...,XN)=i=1∏NPXi(Xi∣Xpa(i))(2)
2.1 三种基本的拓扑结构
概率图就是将图赋予了概率定义,可以直观的根据图结构寻找到概率之间的独立性,从而将复杂的计算简化。以下是概率图所涉及的概念:
- 链式法则
P ( x 1 , . . . , x p ) = ∏ i = 1 p P ( x i ∣ x 1 , . . . , x i − 1 ) (4) \tag{4}P(x_1,...,x_p)=\prod^p_{i=1}P(x_i|x_1,...,x_{i-1}) P(x1,...,xp)=i=1∏pP(xi∣x1,...,xi−1)(4) - 条件独立性
x A ⊥ x B ∣ x C x_A\perp x_B|x_C xA⊥xB∣xC - 因子分解
P ( x 1 , . . . , x p ) = ∏ i = 1 p P ( x i ∣ x p a ( i ) ) (5) \tag{5}P(x_1,...,x_p)=\prod^p_{i=1}P(x_i|x_{pa(i)}) P(x1,...,xp)=i=1∏pP(xi∣xpa(i))(5)
where, x p a ( i ) x_{pa(i)} xpa(i) 指的是 x i x_i xi 的父节点的集合
其中,链式法则无论如何都成立;而因子分解则源于 BN 的定义,根据概率图模型可以很直观地写出其对应的因子分解
2.1.1 结构一 diverging connection
![](https://i-blog.csdnimg.cn/blog_migrate/3faf1719ab1081534acc48bc3dffddc2.png#pic_center)
因子分解
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
a
)
p(a,b,c)=p(a)p(b|a)p(c|a)
p(a,b,c)=p(a)p(b∣a)p(c∣a)
链式法则
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
a
,
b
)
p(a,b,c)=p(a)p(b|a)p(c|a,b)
p(a,b,c)=p(a)p(b∣a)p(c∣a,b)
由
p
(
c
∣
a
)
=
p
(
c
∣
a
,
b
)
p(c|a)=p(c|a,b)
p(c∣a)=p(c∣a,b) 可得,若
a
a
a 被观察,则
b
b
b 与
c
c
c 独立
也直接得到了条件独立的定义
p
(
b
,
c
∣
a
)
=
p
(
b
∣
a
)
p
(
c
∣
a
)
p(b,c|a)=p(b|a)p(c|a)
p(b,c∣a)=p(b∣a)p(c∣a)
规律:在 diverging connection 中,
b
⊥
c
∣
a
b \perp c|a
b⊥c∣a(可以理解如果父亲不在,那么两兄弟的联系最强;如果父亲在,即被观测,那么就是父子之间的联系最强)
注:括号中的内容只是为了方便记忆
2.1.2 结构二 serial connection
![](https://i-blog.csdnimg.cn/blog_migrate/b31c58871ad902244337ad5d11ed5fcb.png#pic_center)
因子分解
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
b
)
p(a,b,c)=p(a)p(b|a)p(c|b)
p(a,b,c)=p(a)p(b∣a)p(c∣b)
链式法则
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
a
,
b
)
p(a,b,c)=p(a)p(b|a)p(c|a,b)
p(a,b,c)=p(a)p(b∣a)p(c∣a,b)
由
p
(
c
∣
b
)
=
p
(
c
∣
a
,
b
)
p(c|b)=p(c|a,b)
p(c∣b)=p(c∣a,b) 可得,若
b
b
b 被观察,则
a
a
a 与
c
c
c 独立
规律:在 serial connection 中, a ⊥ c ∣ b a \perp c|b a⊥c∣b(同 2.1.1,如果父亲不在,爷孙之间的联系最强;如果父亲在,即被观测,那么就是两队父子之间的联系最强)
2.1.3 结构三 converging connection
![](https://i-blog.csdnimg.cn/blog_migrate/f1f9c2c0ef8de2c1c83ee84449257703.png#pic_center)
因子分解
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
)
p
(
c
∣
a
,
b
)
p(a,b,c)=p(a)p(b)p(c|a,b)
p(a,b,c)=p(a)p(b)p(c∣a,b)
链式法则
p
(
a
,
b
,
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
a
,
b
)
p(a,b,c)=p(a)p(b|a)p(c|a,b)
p(a,b,c)=p(a)p(b∣a)p(c∣a,b)
由
p
(
b
)
=
p
(
b
∣
a
)
p(b)=p(b|a)
p(b)=p(b∣a) 可得,若
c
c
c 不被观察,则
a
a
a 与
b
b
b 独立
规律:在 converging connection 中, a ⊥ b a \perp b a⊥b,即 a, b 本身就相互独立。但是,一旦 c 或其后继节点被观察了,那么两者的独立性就会被立刻打破(类似于 2.1.1,可以理解为如果两人有了后代,那么就产生了亲情)
2.2 D-Seperation
D-Seperation 是对三种基本拓扑节点关系的推广,将节点关系推广到集合关系
定义:假定集合
A
,
B
,
C
A,B,C
A,B,C 之间互不相交,且
B
B
B 是
A
,
C
A,C
A,C 之间的路径 ,如果
B
B
B 中的每个节点都满足以下两个条件之一,则认为
A
A
A 和
C
C
C 是
B
B
B 条件独立的(
X
A
⊥
X
C
∣
X
B
X_A\perp X_C|X_B
XA⊥XC∣XB)
- b 的结构为 diverging or serial connetion,并且 b 被观测
- b 的结构为 converging connection,并且 b 及其后继节点均未被观测
D-Seperation 的意义在于帮我们找到了条件独立性
2.3 Markov Blanket
基于所有节点,点
x
i
x_i
xi 的条件概率为
p
(
x
i
∣
x
−
i
)
=
p
(
x
i
,
x
−
i
)
p
(
x
−
i
)
=
p
(
x
)
∫
p
(
x
)
d
x
i
=
∏
j
=
1
p
p
(
x
j
∣
x
p
a
(
j
)
)
∫
∏
j
=
1
p
p
(
x
j
∣
x
p
a
(
j
)
)
d
x
i
(6)
\tag{6}p(x_i|x_{-i})=\frac{p(x_i,x_{-i})}{p(x_{-i})}=\frac{p(x)}{\int p(x)dx_i}=\frac{\prod_{j=1}^p p(x_j|x_{pa(j)})}{\int \prod_{j=1}^p p(x_j|x_{pa(j)})dx_i}
p(xi∣x−i)=p(x−i)p(xi,x−i)=∫p(x)dxip(x)=∫∏j=1pp(xj∣xpa(j))dxi∏j=1pp(xj∣xpa(j))(6)
where,
- x − i x_{-i} x−i 指除 x i x_i xi 以外所有节点的集合
- 第三个表达式的分母中的积分符号为条件概率的计算公式
把第四个表达式的 ∏ . . . \prod... ∏... 分成与 x i x_i xi 相关以及不相关的两部分,与 x i x_i xi 不相关的部分可以直接从分母的积分中提取出来,因而与分子约掉。由此可得, p ( x i ∣ x − i ) p(x_i|x_{-i}) p(xi∣x−i) 只与和 x i x_i xi 相关联的节点有关,如下
- 父节点 p ( x i ∣ x p a ( i ) ) p(x_i|x_{pa(i)}) p(xi∣xpa(i))
- 子节点及其另外的父节点 p ( x c h i l d ( i ) ∣ x i , x p a ( c h i l d ( i ) ) ) p(x_{child(i)}|x_i,x_{pa(child(i))}) p(xchild(i)∣xi,xpa(child(i)))
这张图直观地表达了这种关系,被称之为马尔科夫毯
2.4 典型的模型
贝叶斯网络总的来说就是两句话:
- 从单一到混合
- 从有限到无限
单一到混合比较好理解,如上图
有限到无限,指的是随机变量由空间和时间上的离散变为连续
3 马尔科夫随机场
Markov Network (以下称 MN),是一种无向图模型
直观上来说它比有向图简单,而且它应该也和有向图具有相似的性质,尤其是条件独立性和因子分解应该是相互等价的
3.1 条件独立性
马尔可夫随机场的条件独立性一共有三个,分别是:
- 全局独立性
- 局部独立性
- 马尔科夫性
三个性质是相互等价的,即可以相互推导。
3.1.1 全局马尔科夫性 Global Markov
相较于有向图 (如 BN) 的条件独立性,MN 的全局马尔科夫性非常简单
假定集合
A
,
B
,
C
A,B,C
A,B,C 之间互不相交,若集合
A
A
A 到
C
C
C 的所有路径中都至少有一个节点位于集合
B
B
B,且
B
B
B 被观测,则认为
A
A
A 和
C
C
C 是
B
B
B 条件独立的
X
A
⊥
X
C
∣
X
B
X_A\perp X_C|X_B
XA⊥XC∣XB
3.1.2 局部马尔科夫性 Local Markov
给定相邻节点
{
b
,
c
,
d
}
\{b,c,d\}
{b,c,d},节点
a
a
a 与集合中的其他节点独立
{
e
,
f
}
\{e,f\}
{e,f}
a
⊥
(
全
集
−
a
−
neighbor
(
a
)
)
∣
neighbor
(
a
)
a\perp (全集-a-\text{neighbor}(a))|\text{neighbor}(a)
a⊥(全集−a−neighbor(a))∣neighbor(a)
3.1.3 成对马尔科夫性
节点 a , b a,b a,b 是两个不相邻的节点,在除了 a , b a,b a,b 以外的节点都被观测到的情况下, a , b a,b a,b 相互独立
3.2 因子分解
因子分解应该要能够体现条件独立性,或者说这两者应该是等价的
3.2.1 最大团
在介绍 MN 的因子分解前,首先介绍如下概念
- 团:关于节点的集合(集合中的节点相互连接)
- 最大团:往最大团中添加任意节点都会破坏团的性质
例如对于 Section 3.1.2 中的图片,每对相连的节点都是一个最大团
3.2.2 因子分解(基于最大团)
将马尔科夫随机场分解为多个最大团后,可得整个随机变量的概率
p
(
x
)
=
1
Z
∏
i
=
1
K
ψ
(
x
c
i
)
(7)
\tag{7}p(x)=\frac{1}{Z}\prod_{i=1}^K \psi(x_{c_i})
p(x)=Z1i=1∏Kψ(xci)(7)
where,
- c i c_i ci : 第 i i i 个最大团
- x c i x_{c_i} xci : 第 i i i 个最大团中随机变量的集合
- ψ ( x c i ) \psi(x_{c_i}) ψ(xci) : 势函数,必须为正(不存在负概率)
-
Z
Z
Z 为归一化因子,又称 partition function(配分函数)
Z = ∑ x ∏ i = 1 K ψ ( x c i ) = ∑ x 1 . . . ∑ x p ∏ i = 1 K ψ ( x c i ) Z=\sum_x\prod_{i=1}^K \psi(x_{c_i})=\sum_{x_1}...\sum_{x_p}\prod_{i=1}^K \psi(x_{c_i}) Z=∑x∏i=1Kψ(xci)=∑x1...∑xp∏i=1Kψ(xci)
3.2.3 条件独立性 ⟺ \iff ⟺ 因子分解
Hammesley-Clifford 定理证明了 MN 的条件独立性(全局马尔科夫 + 局部马尔科夫 + 成对马尔科夫)与基于其最大团的因子分解是等价的
3.2.4 势函数 ψ ( x c i ) \psi(x_{c_i}) ψ(xci)
定义
ψ
(
x
c
i
)
=
exp
(
−
E
(
x
c
i
)
)
(8)
\tag{8}\psi(x_{c_i})=\exp(-E(x_{c_i}))
ψ(xci)=exp(−E(xci))(8)
where, E ( x c i ) E(x_{c_i}) E(xci): energy function
代入 Eq.7 可得
p
(
x
)
=
1
Z
∏
i
=
1
K
exp
(
−
E
(
x
c
i
)
)
=
1
Z
exp
(
−
∑
i
=
1
K
E
(
x
c
i
)
)
(9)
\tag{9}p(x)=\frac{1}{Z}\prod_{i=1}^K\exp(-E(x_{c_i}))=\frac{1}{Z}\exp(-\sum_{i=1}^KE(x_{c_i}))
p(x)=Z1i=1∏Kexp(−E(xci))=Z1exp(−i=1∑KE(xci))(9)
此时 p ( x ) p(x) p(x) 满足吉布斯分布(玻尔兹曼分布)
4 Inference
Inference,推断,就是求概率
边缘概率