引言
这是统计学习方法第十一章条件随机场的阅读笔记,包含所有公式的详细推导。
条件随机场(conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。
建议先阅读概率图简介,了解一些概率图的知识。
- 《统计学习方法》——条件随机场(上)
- 《统计学习方法》——条件随机场(中)
- 《统计学习方法》——条件随机场(下)
- 《统计学习方法》——条件随机场#习题解答#
条件随机场的定义与形式
条件随机场的定义
条件随机场是给定随机变量 X X X条件下,随机变量 Y Y Y的马尔可夫随机场,这里主要讨论线性链(linear chain)条件随机场。线性链条件随机场用于标记问题时,条件概率模型 P ( Y ∣ X ) P(Y|X) P(Y∣X)中, Y Y Y是输出变量,表示标记序列(状态序列), X X X是输入变量,表示要标注的观测序列。
学习时,利用训练数据集通过极大似然估计得到条件概率模型 P ^ ( Y ∣ X ) \hat P(Y|X) P^(Y∣X);预测时,对于给定的输入序列 x x x,求出条件概率 P ^ ( y ∣ x ) \hat P(y|x) P^(y∣x)最大的输出序列 y ^ \hat y y^。
定义 11.3 (条件随机场) 设
X
X
X与
Y
Y
Y是随机变量,
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)是在给定
X
X
X的条件下
Y
Y
Y的条件概率分布,若随机变量
Y
Y
Y构成一个由无向图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)表示的马尔可夫随机场,即
P
(
Y
v
∣
X
,
Y
w
,
w
≠
v
)
=
P
(
Y
v
∣
X
,
Y
w
,
w
∼
v
)
(11.8)
P(Y_v|X,Y_{w}, w \neq v) = P(Y_v|X,Y_w, w \sim v) \tag{11.8}
P(Yv∣X,Yw,w=v)=P(Yv∣X,Yw,w∼v)(11.8)
对任意结点
v
v
v成立,则称条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)为条件随机场。式中
w
∼
v
w \sim v
w∼v表示在图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)中与结点
v
v
v有边连接的所有结点
w
w
w,
w
≠
v
w \neq v
w=v表示结点
v
v
v以外的所有结点。
定义 11.4 (线性链条件随机场) 设
X
=
(
X
1
,
X
2
,
⋯
,
X
n
)
,
Y
=
(
Y
1
,
Y
2
,
⋯
,
Y
n
)
X=(X_1,X_2,\cdots,X_n),Y=(Y_1,Y_2,\cdots,Y_n)
X=(X1,X2,⋯,Xn),Y=(Y1,Y2,⋯,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列
X
X
X的条件下,随机变量序列
Y
Y
Y的条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)构成条件随机场,即满足马尔可夫性
P
(
Y
i
∣
X
,
Y
1
,
⋯
,
Y
i
−
1
,
Y
i
+
1
,
⋯
,
Y
n
)
=
P
(
Y
i
∣
X
,
Y
i
−
1
,
Y
i
+
1
)
i
=
1
,
2
,
⋯
,
n
(11.9)
P(Y_i|X,Y_1,\cdots,Y_{i-1},Y_{i+1},\cdots,Y_n) = P(Y_i|X,Y_{i-1},Y_{i+1}) \quad i=1,2,\cdots,n \tag{11.9}
P(Yi∣X,Y1,⋯,Yi−1,Yi+1,⋯,Yn)=P(Yi∣X,Yi−1,Yi+1)i=1,2,⋯,n(11.9)
则称
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)为线性链条件随机场。
如上图,在线性链条件随机场中, Y i Y_i Yi只与它相邻的结点 Y i − 1 Y_{i-1} Yi−1和 Y i + 1 Y_{i+1} Yi+1以及输入变量 X X X有关。
在序列标注问题中, X X X表示输入观测序列, Y Y Y表示对应的输出标记序列或状态序列。
条件随机场的参数化形式
根据Hammersley-Clifford定理,可以给出线性链条件随机场 P ( Y ∣ X ) P(Y|X) P(Y∣X)的因子分解式,各因子是定义在相邻两个结点(这里也是最大团)上的势函数。
定理 11.2 (线性链条件随机场的参数化形式) 设
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)为线性链条件随机场,则在随机变量
X
X
X取值为
x
x
x的条件下,随机变量
Y
Y
Y取值为
y
y
y的条件概率具有如下形式:
KaTeX parse error: Undefined control sequence: \label at position 132: …t) \tag{11.10} \̲l̲a̲b̲e̲l̲{eq:11.10}
其中,
Z
(
x
)
=
∑
y
exp
(
∑
i
,
k
λ
k
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
+
∑
i
,
l
μ
l
s
l
(
y
i
,
x
,
i
)
)
(11.11)
Z(x) = \sum_y \exp \left( \sum_{i,k} \lambda_k t_k (y_{i-1},y_i,x,i) + \sum_{i,l} \mu_ls_l(y_i,x,i) \right) \tag{11.11}
Z(x)=y∑exp
i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)
(11.11)
式中,
t
k
t_k
tk和
s
l
s_l
sl是特征函数,而
λ
k
\lambda_k
λk和
μ
l
\mu_l
μl是对应的权值,
∑
i
,
k
\sum_{i,k}
∑i,k表示两个求和写在一起。
Z ( x ) Z(x) Z(x)是规范化因子,使得满足概率定义,求和是在所有可能的输出序列上进行的。
t k t_k tk是关于边 y i − 1 y_{i-1} yi−1到 y i y_i yi的特征函数(最大团),称为转移特征,依赖于当前和前一个位置; s l s_l sl是定义在结点上的特征函数,称为状态特征,依赖于当前位置。注意,在每个位置上,有 k k k个转移特征和 l l l个状态特征。
t k t_k tk和 s l s_l sl都依赖于位置 i i i,是局部特征函数。通常特征函数 t k t_k tk和 s l s_l sl的取值为 1 1 1或 0 0 0。当特征条件被满足时取值为 1 1 1,否则为 0 0 0。
可以看出,条件随机场完全由特征函数 t k , s l t_k,s_l tk,sl和对应的权值 λ k , μ l \lambda_k,\mu_l λk,μl确定。
线性链条随机场也是对数线性模型(log linear model)。
对数线性模型有这样的形式,它的对数等于模型参数的线性组合,它的通用形式为:
exp
(
c
+
∑
i
w
i
f
i
(
X
)
)
\exp \left( c + \sum_i w_if_i(X) \right)
exp(c+i∑wifi(X))
下面看一下书中的例题1来理解一下,题目就不抄了。
例 11.1
序列长度为3,标记序列取值为1或2。有5个转移特征和4个状态特征。求标记序列 y = ( y 1 , y 2 , y 3 ) = ( 1 , 2 , 2 ) y=(y_1,y_2,y_3) = (1,2,2) y=(y1,y2,y3)=(1,2,2)的没有除以规范化因子的条件概率。
由公式KaTeX parse error: Undefined control sequence: \eqref at position 1: \̲e̲q̲r̲e̲f̲{eq:11.10},线性链条件随机场模型为
P
(
y
∣
x
)
∝
exp
[
∑
k
=
1
5
λ
k
∑
i
=
2
3
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
+
∑
k
=
1
4
μ
k
∑
i
=
1
3
s
k
(
y
i
,
x
,
i
)
]
P(y|x) \propto \exp \left[\sum_{k=1}^5 \lambda_k\sum_{i=2}^3 t_k (y_{i-1},y_i,x,i) + \sum_{k=1}^4 \mu_k\sum_{i=1}^3 s_k(y_i,x,i) \right]
P(y∣x)∝exp[k=1∑5λki=2∑3tk(yi−1,yi,x,i)+k=1∑4μki=1∑3sk(yi,x,i)]
这里把公式中的两个求和拆分出来了,同时可以看到,序列长度为3,对应两条边,
∑
i
=
2
t
k
\sum_{i=2} t_k
∑i=2tk中的
i
i
i从
2
2
2开始,这是符合直觉的。
∝ \propto ∝表示正比于的关系,因为这里没有考虑规范化因子。
对于给定的观测序列
x
x
x,标记序列
y
=
(
1
,
2
,
2
)
y=(1,2,2)
y=(1,2,2)的非规范化条件概率为(只写出取值为1的情况):
P
(
y
1
=
1
,
y
2
=
2
,
y
3
=
2
∣
x
)
∝
exp
[
λ
1
t
1
(
1
,
2
)
+
λ
5
t
5
(
2
,
2
)
+
μ
1
s
1
(
1
)
+
μ
2
s
2
(
2
)
+
+
μ
4
s
4
(
3
)
]
=
exp
[
1
+
0.2
+
1
+
0.5
+
0.5
]
=
exp
(
3.2
)
\begin{aligned} P(y_1=1,y_2=2,y_3=2|x) &\propto \exp\left[ \lambda_1 t_1(1,2) + \lambda_5 t_5(2,2) + \mu_1 s_1(1) + \mu_2 s_2(2) + + \mu_4 s_4(3) \right] \\ &= \exp [1+0.2+1+0.5+0.5] \\ &= \exp(3.2) \end{aligned}
P(y1=1,y2=2,y3=2∣x)∝exp[λ1t1(1,2)+λ5t5(2,2)+μ1s1(1)+μ2s2(2)++μ4s4(3)]=exp[1+0.2+1+0.5+0.5]=exp(3.2)
这里
t
1
(
1
,
2
)
t_1(1,2)
t1(1,2)表示
y
1
=
1
,
y
2
=
2
y_1=1,y_2=2
y1=1,y2=2的情况,且
t
1
t_1
t1支持位置
2
,
3
2,3
2,3。而
s
4
s_4
s4只支持,或者说只应用在位置
3
3
3上,且对应位置上的取值为
2
2
2才生效。
这个例子说明了特征函数是和位置密切相关的。
条件随机场的简化形式
注意到KaTeX parse error: Undefined control sequence: \eqref at position 1: \̲e̲q̲r̲e̲f̲{eq:11.10}中同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样可以写成权值向量和特征向量的内积形式,也就是简化形式。
首先将转移特征和状态特征及其权值用统一的符号表示,设有
K
1
K_1
K1个转移特征,
K
2
K_2
K2个状态特征,
K
=
K
1
+
K
2
K=K_1+K_2
K=K1+K2,记
f
k
(
y
i
−
1
,
y
i
,
x
i
)
=
{
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
k
=
1
,
2
,
⋯
,
K
1
s
l
(
y
i
,
x
,
i
)
k
=
K
1
+
l
;
l
=
1
,
2
,
⋯
,
K
2
(11.12)
f_k(y_{i-1},y_i,x_i) = \begin{cases} t_k(y_{i-1},y_i,x,i) & k=1,2,\cdots,K_1 \\ s_l(y_i,x,i) & k=K_1 + l;\quad l=1,2,\cdots,K_2 \end{cases} \tag{11.12}
fk(yi−1,yi,xi)={tk(yi−1,yi,x,i)sl(yi,x,i)k=1,2,⋯,K1k=K1+l;l=1,2,⋯,K2(11.12)
然后,对转移与状态特征在各个位置
i
i
i求和,记作
f
k
(
y
,
x
)
=
∑
i
=
1
n
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
,
k
=
1
,
2
,
⋯
,
K
(11.13)
f_k(y,x) = \sum_{i=1}^n f_k(y_{i-1},y_i,x,i),\quad k=1,2,\cdots,K \tag{11.13}
fk(y,x)=i=1∑nfk(yi−1,yi,x,i),k=1,2,⋯,K(11.13)
若把
f
k
(
y
,
x
)
f_k(y,x)
fk(y,x)展开,为
f
k
(
y
,
x
)
=
∑
i
=
1
n
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
=
f
k
(
y
0
,
y
1
,
x
,
1
)
+
f
k
(
y
1
,
y
2
,
x
,
2
)
+
⋯
+
f
k
(
y
n
−
1
,
y
n
,
x
,
n
)
\begin{aligned} f_k(y,x) &= \sum_{i=1}^n f_k(y_{i-1},y_i,x,i) \\ &= f_k(y_0,y_1,x,1) + f_k(y_1,y_2,x,2) + \cdots + f_k(y_{n-1},y_n,x,n) \end{aligned}
fk(y,x)=i=1∑nfk(yi−1,yi,x,i)=fk(y0,y1,x,1)+fk(y1,y2,x,2)+⋯+fk(yn−1,yn,x,n)
共有
K
K
K个。
用
w
k
w_k
wk表示特征
f
k
(
y
,
x
)
f_k(y,x)
fk(y,x)的权值,即
w
k
=
{
λ
k
k
=
1
,
2
,
⋯
,
K
1
μ
l
k
=
K
1
+
l
;
l
=
1
,
2
,
⋯
,
K
2
(11.14)
w_k = \begin{cases} \lambda_k & k=1,2,\cdots,K_1 \\ \mu_l & k=K_1 + l;\quad l=1,2,\cdots,K_2 \end{cases} \tag{11.14}
wk={λkμlk=1,2,⋯,K1k=K1+l;l=1,2,⋯,K2(11.14)
w
k
w_k
wk也有
K
K
K个。
于是,条件随机场 ( 11.10 ) ∼ ( 11.11 ) (11.10)\sim (11.11) (11.10)∼(11.11)可以表示为
P ( y ∣ x ) = 1 Z ( x ) exp ∑ k = 1 K w k f k ( y , x ) (11.15) P(y|x) = \frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y,x) \tag{11.15} P(y∣x)=Z(x)1expk=1∑Kwkfk(y,x)(11.15)
Z ( x ) = ∑ y exp ∑ k = 1 K w k f k ( y , x ) (11.16) Z(x)= \sum_y \exp \sum_{k=1}^K w_k f_k(y,x) \tag{11.16} Z(x)=y∑expk=1∑Kwkfk(y,x)(11.16)
其中 P ( y ∣ x ) P(y|x) P(y∣x)
P ( y ∣ x ) = 1 Z ( x ) exp ( λ 1 f 1 ( y , x ) + λ 2 f 2 ( y , x ) + ⋯ + λ K 1 f K 1 ( y , x ) + μ 1 f K 1 + 1 ( y , x ) + μ 2 f K 1 + 2 ( y , x ) + ⋯ + μ K 2 f K 1 + K 2 ( y , x ) ) = 1 Z ( x ) exp ( w 1 f 1 ( y , x ) + w 2 f 2 ( y , x ) + ⋯ + w K f K ( y , x ) ) \begin{aligned} P(y|x) &= \frac{1}{Z(x)} \exp ( \lambda_1 f_1(y,x) + \lambda_2 f_2(y,x) + \cdots + \lambda_{K_1} f_{K_1}(y,x) + \mu_1 f_{K_1+1}(y,x) + \mu_2 f_{K_1+2}(y,x) + \cdots + \mu_{K_2} f_{K_1+K_2}(y,x) ) \\ &= \frac{1}{Z(x)} \exp (w_1 f_1(y,x) +w_2 f_2(y,x) + \cdots + w_K f_{K}(y,x)) \end{aligned} P(y∣x)=Z(x)1exp(λ1f1(y,x)+λ2f2(y,x)+⋯+λK1fK1(y,x)+μ1fK1+1(y,x)+μ2fK1+2(y,x)+⋯+μK2fK1+K2(y,x))=Z(x)1exp(w1f1(y,x)+w2f2(y,x)+⋯+wKfK(y,x))
若以
w
w
w表示权值向量,即
w
=
(
w
1
,
w
2
,
⋯
,
w
K
)
T
(11.17)
w = (w_1,w_2,\cdots,w_K)^T \tag{11.17}
w=(w1,w2,⋯,wK)T(11.17)
以
F
(
y
,
x
)
F(y,x)
F(y,x)表示全局特征向量,即
F
(
y
,
x
)
=
(
f
1
(
y
,
x
)
,
f
2
(
y
,
x
)
,
⋯
,
f
K
(
y
,
x
)
)
T
(11.18)
F(y,x) = (f_1(y,x),f_2(y,x),\cdots,f_K(y,x))^T \tag{11.18}
F(y,x)=(f1(y,x),f2(y,x),⋯,fK(y,x))T(11.18)
那么条件随机场可以写成向量
w
w
w与
F
(
y
,
x
)
F(y,x)
F(y,x)的内积的形式:
P
w
(
y
∣
x
)
=
exp
(
w
⋅
F
(
y
,
x
)
)
Z
w
(
x
)
(11.19)
P_w(y|x) = \frac{\exp(w \cdot F(y,x))}{Z_w(x)} \tag{11.19}
Pw(y∣x)=Zw(x)exp(w⋅F(y,x))(11.19)
其中,
Z
w
(
x
)
=
∑
y
exp
(
w
⋅
F
(
y
,
x
)
)
(11.20)
Z_w(x) = \sum_y \exp(w \cdot F(y,x)) \tag{11.20}
Zw(x)=y∑exp(w⋅F(y,x))(11.20)
条件随机场的矩阵形式
CRF还可以由矩阵表示。假设 P w ( y ∣ x ) P_w(y|x) Pw(y∣x)是由式 ( 11.15 ) ∼ ( 11.16 ) (11.15)\sim(11.16) (11.15)∼(11.16)给出的线性链条件随机场。对每个标记序列引进特殊的起点和终点状态标记 y 0 = start y_0=\text{start} y0=start和 y n + 1 = stop y_{n+1}=\text{stop} yn+1=stop,这时标注序列的概率 P w ( y ∣ x ) P_w(y|x) Pw(y∣x)可以通过矩阵形式表示并有效计算。
对观测序列
x
x
x的每一个位置
i
=
1
,
2
,
⋯
,
n
+
1
i=1,2,\cdots,n+1
i=1,2,⋯,n+1,由于
y
i
−
1
y_{i-1}
yi−1和
y
i
y_i
yi在
m
m
m个标记中取值,所以
y
i
−
1
y_{i-1}
yi−1有
m
m
m种可能,
y
i
y_i
yi也有
m
m
m种可能,
y
i
−
1
y_{i-1}
yi−1到
y
i
y_i
yi可以定义一个
m
m
m阶矩阵(
m
×
m
m \times m
m×m)随机变量
M
i
(
x
)
=
[
M
i
(
y
i
−
1
,
y
i
∣
x
)
]
(11.21)
M_i(x) = [M_i(y_{i-1},y_i|x)] \tag{11.21}
Mi(x)=[Mi(yi−1,yi∣x)](11.21)
矩阵随机变量的元素为
M
i
(
y
i
−
1
,
y
i
∣
x
)
=
exp
(
W
i
(
y
i
−
1
,
y
i
∣
x
)
)
(11.22)
M_i(y_{i-1},y_i|x) = \exp(W_i(y_{i-1},y_i|x)) \tag{11.22}
Mi(yi−1,yi∣x)=exp(Wi(yi−1,yi∣x))(11.22)
而
W
i
(
y
i
−
1
,
y
i
∣
x
)
=
∑
k
=
1
K
w
k
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
(11.23)
W_i(y_{i-1},y_i|x) = \sum_{k=1}^K w_kf_k(y_{i-1},y_i,x,i) \tag{11.23}
Wi(yi−1,yi∣x)=k=1∑Kwkfk(yi−1,yi,x,i)(11.23)
这里
w
k
w_k
wk和
f
k
f_k
fk利用了前面
(
11.14
)
(11.14)
(11.14)和
(
11.12
)
(11.12)
(11.12)中的定义;
y
i
−
1
y_{i-1}
yi−1和
y
i
y_i
yi是标记随机变量
Y
i
−
1
Y_{i-1}
Yi−1和
Y
i
Y_i
Yi的取值。
注意,式 ( 11.23 ) (11.23) (11.23)是对 k k k求和,即在每个位置上应用所有的转移特征和状态特征。
这里,引入 y 0 = start y_0 =\text{start} y0=start和 y n + 1 = stop y_{n+1}=\text{stop} yn+1=stop来表示开始状态和终止状态。那么 i i i的取值就可以从 0 0 0到 n + 1 n+1 n+1。
由公式
(
11.15
)
(11.15)
(11.15)和式
(
11.13
)
(11.13)
(11.13),有:
P
(
y
∣
x
)
=
1
Z
(
x
)
exp
∑
k
=
1
K
w
k
f
k
(
y
,
x
)
根据公式
(
11.15
)
=
1
Z
(
x
)
exp
(
∑
k
=
1
K
w
k
∑
i
=
1
n
+
1
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
)
根据公式
(
11.13
)
=
1
Z
(
x
)
exp
(
∑
i
=
1
n
+
1
∑
k
=
1
K
w
k
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
)
先对
k
求和再对
i
求和
=
1
Z
(
x
)
∏
i
=
1
n
+
1
exp
(
∑
k
=
1
K
w
k
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
)
=
1
Z
(
x
)
∏
i
=
1
n
+
1
exp
(
W
i
(
y
i
−
1
,
y
i
∣
x
)
)
根据公式
(
11.23
)
=
1
Z
(
x
)
∏
i
=
1
n
+
1
M
i
(
y
i
−
1
,
y
i
∣
x
)
根据公式
(
11.22
)
\begin{aligned} P(y|x) &= \frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y,x) & 根据公式(11.15)\\ &= \frac{1}{Z(x)} \exp \left(\sum_{k=1}^K w_k \sum_{i=1}^{n+1} f_k(y_{i-1},y_i,x,i) \right) & 根据公式(11.13)\\ &= \frac{1}{Z(x)} \exp \left(\sum_{i=1}^{n+1} \sum_{k=1}^K w_k f_k(y_{i-1},y_i,x,i) \right) & 先对k求和再对i求和\\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} \exp \left(\sum_{k=1}^K w_k f_k(y_{i-1},y_i,x,i) \right) \\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} \exp \left( W_i(y_{i-1},y_i|x) \right) & 根据公式(11.23) \\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) & 根据公式(11.22) \\ \end{aligned}
P(y∣x)=Z(x)1expk=1∑Kwkfk(y,x)=Z(x)1exp(k=1∑Kwki=1∑n+1fk(yi−1,yi,x,i))=Z(x)1exp(i=1∑n+1k=1∑Kwkfk(yi−1,yi,x,i))=Z(x)1i=1∏n+1exp(k=1∑Kwkfk(yi−1,yi,x,i))=Z(x)1i=1∏n+1exp(Wi(yi−1,yi∣x))=Z(x)1i=1∏n+1Mi(yi−1,yi∣x)根据公式(11.15)根据公式(11.13)先对k求和再对i求和根据公式(11.23)根据公式(11.22)
这样条件概率
P
w
(
y
∣
x
)
P_w(y|x)
Pw(y∣x)是
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
∏
i
=
1
n
+
1
M
i
(
y
i
−
1
,
y
i
∣
x
)
(11.24)
P_w(y|x) = \frac{1}{Z_w(x)} \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) \tag{11.24}
Pw(y∣x)=Zw(x)1i=1∏n+1Mi(yi−1,yi∣x)(11.24)
其中
Z
w
(
x
)
Z_w(x)
Zw(x)是规范化因子
Z
w
(
x
)
=
∑
y
∏
i
=
1
n
+
1
M
i
(
y
i
−
1
,
y
i
∣
x
)
Z_w(x) = \sum_y \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x)
Zw(x)=y∑i=1∏n+1Mi(yi−1,yi∣x)
把上式整理一下:
Z
w
(
x
)
=
[
M
1
(
x
)
M
2
(
x
)
⋯
M
n
+
1
(
x
)
]
start,stop
(11.25)
Z_w(x) = [M_1(x)M_2(x)\cdots M_{n+1}(x)]_{\text{start,stop}} \tag{11.25}
Zw(x)=[M1(x)M2(x)⋯Mn+1(x)]start,stop(11.25)
是以start为起点stop为终点通过状态的所有路径
y
1
y
2
⋯
y
n
y_1y_2\cdots y_n
y1y2⋯yn的非规范化概率之
∏
i
=
1
n
+
1
M
i
(
y
i
−
1
,
y
i
∣
x
)
\prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x)
∏i=1n+1Mi(yi−1,yi∣x)之和。
设 y i ( i = 0 , 1 , 2 , ⋯ n + 1 ) y_i(i=0,1,2,\cdots n+1) yi(i=0,1,2,⋯n+1)共有 m m m种取值。
我们先来看下 M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] M_i(x) = [M_i(y_{i-1},y_i|x)] Mi(x)=[Mi(yi−1,yi∣x)]这个矩阵的内容:
|
M
i
(
y
i
−
1
,
y
i
∣
x
i
)
M_i(y_{i-1}, y_i|x_i)
Mi(yi−1,yi∣xi) |
y
i
=
1
y_i=1
yi=1 |
y
i
=
2
y_i=2
yi=2 |
y
i
=
3
y_i=3
yi=3 |
⋯
\cdots
⋯ |
y
i
=
m
y_i=m
yi=m |
| ----------------------- | ------------------------ | ------------------------ | ------------------------ | -------- | ------------------------ |
|
y
i
−
1
=
1
y_{i-1}=1
yi−1=1 |
M
i
(
y
i
−
1
=
1
,
y
i
=
1
∣
x
)
M_i(y_{i-1}=1,y_i=1|x)
Mi(yi−1=1,yi=1∣x) |
M
i
(
y
i
−
1
=
1
,
y
i
=
2
∣
x
)
M_i(y_{i-1}=1,y_i=2|x)
Mi(yi−1=1,yi=2∣x) |
M
i
(
y
i
−
1
=
1
,
y
i
=
3
∣
x
)
M_i(y_{i-1}=1,y_i=3|x)
Mi(yi−1=1,yi=3∣x) |
⋯
\cdots
⋯ |
M
i
(
y
i
−
1
=
1
,
y
i
=
m
∣
x
)
M_i(y_{i-1}=1,y_i=m|x)
Mi(yi−1=1,yi=m∣x) |
|
y
i
−
1
=
2
y_{i-1}=2
yi−1=2 |
M
i
(
y
i
−
1
=
2
,
y
i
=
1
∣
x
)
M_i(y_{i-1}=2,y_i=1|x)
Mi(yi−1=2,yi=1∣x) |
M
i
(
y
i
−
1
=
2
,
y
i
=
2
∣
x
)
M_i(y_{i-1}=2,y_i=2|x)
Mi(yi−1=2,yi=2∣x) |
M
i
(
y
i
−
1
=
2
,
y
i
=
3
∣
x
)
M_i(y_{i-1}=2,y_i=3|x)
Mi(yi−1=2,yi=3∣x) |
⋯
\cdots
⋯ |
M
i
(
y
i
−
1
=
2
,
y
i
=
m
∣
x
)
M_i(y_{i-1}=2,y_i=m|x)
Mi(yi−1=2,yi=m∣x) |
|
y
i
−
1
=
3
y_{i-1}=3
yi−1=3 |
M
i
(
y
i
−
1
=
3
,
y
i
=
1
∣
x
)
M_i(y_{i-1}=3,y_i=1|x)
Mi(yi−1=3,yi=1∣x) |
M
i
(
y
i
−
1
=
3
,
y
i
=
2
∣
x
)
M_i(y_{i-1}=3,y_i=2|x)
Mi(yi−1=3,yi=2∣x) |
M
i
(
y
i
−
1
=
3
,
y
i
=
3
∣
x
)
M_i(y_{i-1}=3,y_i=3|x)
Mi(yi−1=3,yi=3∣x) | |
M
i
(
y
i
−
1
=
3
,
y
i
=
m
∣
x
)
M_i(y_{i-1}=3,y_i=m|x)
Mi(yi−1=3,yi=m∣x) |
|
⋮
\vdots
⋮ |
⋮
\vdots
⋮ |
⋮
\vdots
⋮ |
⋱
\ddots
⋱ |
⋱
\ddots
⋱ |
⋱
\ddots
⋱ |
|
y
i
−
1
=
m
y_{i-1}=m
yi−1=m |
M
i
(
y
i
−
1
=
m
,
y
i
=
1
∣
x
)
M_i(y_{i-1}=m,y_i=1|x)
Mi(yi−1=m,yi=1∣x) |
M
i
(
y
i
−
1
=
m
,
y
i
=
2
∣
x
)
M_i(y_{i-1}=m,y_i=2|x)
Mi(yi−1=m,yi=2∣x) |
M
i
(
y
i
−
1
=
m
,
y
i
=
3
∣
x
)
M_i(y_{i-1}=m,y_i=3|x)
Mi(yi−1=m,yi=3∣x) | |
M
i
(
y
i
−
1
=
m
,
y
i
=
m
∣
x
)
M_i(y_{i-1}=m,y_i=m|x)
Mi(yi−1=m,yi=m∣x) |
Z w ( x ) Z_w(x) Zw(x)是 n + 1 n+1 n+1个矩阵的乘积的(start,stop)元素,这个如何理解,需要结合书上的例11.2。
例 11.2 给定一个线性链条件随机场,观测序列 x x x,状态序列 y y y, i = 1 , 2 , 3 i=1,2,3 i=1,2,3, n = 3 n=3 n=3,标记 y i ∈ { 1 , 2 } y_i \in \{1,2\} yi∈{1,2},假设 y 0 = start = 1 y_0 =\text{start}=1 y0=start=1, y 4 = stop = 1 y_4=\text{stop}=1 y4=stop=1,各个位置的随机矩阵 M 1 ( x ) , M 2 ( x ) , M 3 ( x ) , M 4 ( x ) M_1(x),M_2(x),M_3(x),M_4(x) M1(x),M2(x),M3(x),M4(x)分别是
试求状态序列 y y y以 start \text{start} start为起点 stop \text{stop} stop为终点所有路径的非规范化概率及规范化因子。
解 这个问题中 m = 2 m=2 m=2,所有 M i ( x ) M_i(x) Mi(x)是 2 × 2 2 \times 2 2×2的矩阵,且上面都给出了这几个矩阵。该例题对应的状态路径如上图所示,把随机矩阵内的元素标记上去就能更好的理解:
注意这个是状态路径,不是概率图。
然后尝试按照公式
(
11.25
)
(11.25)
(11.25)求规范化因子。通过计算这几个矩阵的乘积:
M
1
(
x
)
M
2
(
x
)
M
3
(
x
)
M
4
(
x
)
=
[
a
01
a
02
0
0
]
[
b
11
b
12
b
21
b
22
]
M
3
(
x
)
M
4
(
x
)
=
[
a
01
b
11
+
a
02
b
21
a
01
b
12
+
a
02
b
22
0
0
]
M
3
(
x
)
M
4
(
x
)
=
[
a
01
b
11
+
a
02
b
21
a
01
b
12
+
a
02
b
22
0
0
]
[
c
11
c
12
c
21
c
22
]
M
4
(
x
)
=
[
(
a
01
b
11
+
a
02
b
21
)
c
11
+
(
a
01
b
12
+
a
02
b
22
)
c
21
(
a
01
b
11
+
a
02
b
21
)
c
12
+
(
a
01
b
12
+
a
02
b
22
)
c
22
0
0
]
[
1
0
1
0
]
=
[
(
a
01
b
11
+
a
02
b
21
)
c
11
+
(
a
01
b
12
+
a
02
b
22
)
c
21
+
(
a
01
b
11
+
a
02
b
21
)
c
12
+
(
a
01
b
12
+
a
02
b
22
)
c
22
0
0
0
]
\begin{aligned} M_1(x)M_2(x)M_3(x)M_4(x) &= \begin{bmatrix} a_{01} & a_{02}\\ 0 & 0 \end{bmatrix} \begin{bmatrix} b_{11} & b_{12}\\ b_{21} & b_{22} \end{bmatrix}M_3(x)M_4(x) \\ &= \begin{bmatrix} a_{01}b_{11}+a_{02}b_{21} & a_{01}b_{12}+a_{02}b_{22}\\ 0 & 0 \end{bmatrix}M_3(x)M_4(x) \\ &= \begin{bmatrix} a_{01}b_{11}+a_{02}b_{21} & a_{01}b_{12}+a_{02}b_{22}\\ 0 & 0 \end{bmatrix}\begin{bmatrix} c_{11} & c_{12}\\ c_{21} & c_{22} \end{bmatrix}M_4(x) \\ &= \begin{bmatrix} (a_{01}b_{11}+a_{02}b_{21})c_{11} +(a_{01}b_{12}+a_{02}b_{22})c_{21} & (a_{01}b_{11}+a_{02}b_{21})c_{12} +(a_{01}b_{12}+a_{02}b_{22})c_{22}\\ 0 & 0 \end{bmatrix} \begin{bmatrix} 1& 0\\ 1 & 0 \end{bmatrix} \\ &= \begin{bmatrix} (a_{01}b_{11}+a_{02}b_{21})c_{11} +(a_{01}b_{12}+a_{02}b_{22})c_{21} + (a_{01}b_{11}+a_{02}b_{21})c_{12} +(a_{01}b_{12}+a_{02}b_{22})c_{22} & 0\\ 0 & 0 \end{bmatrix} \end{aligned}
M1(x)M2(x)M3(x)M4(x)=[a010a020][b11b21b12b22]M3(x)M4(x)=[a01b11+a02b210a01b12+a02b220]M3(x)M4(x)=[a01b11+a02b210a01b12+a02b220][c11c21c12c22]M4(x)=[(a01b11+a02b21)c11+(a01b12+a02b22)c210(a01b11+a02b21)c12+(a01b12+a02b22)c220][1100]=[(a01b11+a02b21)c11+(a01b12+a02b22)c21+(a01b11+a02b21)c12+(a01b12+a02b22)c22000]
可以看到,最后得到的仍然是一个
2
×
2
2\times 2
2×2的矩阵,且只有第1行第1列元素不为零,其他位置元素都为零。
并且第1行第1列元素恰好等于从 start 到stop 的所有路径的非规范化概率之和,即规范化因子 Z ( x ) Z(x) Z(x)。
因此式 ( 11.25 ) (11.25) (11.25)指的是这几个矩阵相乘后,取第1行第1列的结果,因为这里start和stop都是。