条件随机场(CRF)
条件随机场 (conditional random field, CRF) 是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。
1 概率无向图模型
概率无向图模型 (probabilistic undirected graphical model) ,又称为马尔可夫随机场 (Markov random field) ,是一个可以由无向图表示的联合概率分布。
图是由结点及连接结点的编组成的集合。 结点记作 v v v,结点集合记作 V V V;边记作 e e e,边的集合记作 E E E;图记作 G = ( V , E ) G = (V, E) G=(V,E)。
概率图模型是由图表示的概率分布。设由联合分布 P ( Y ) P(Y) P(Y), Y ∈ y Y ∈ y Y∈y 是⼀组随机变量。 由⽆向图 G = ( V , E ) G = (V, E) G=(V,E)表示概率分布 P ( Y ) P(Y) P(Y),即在图 G G G中,结点 v ∈ V v ∈ V v∈V表示⼀个随机变量 Y v Y_v Yv, Y = ( Y v ) v ∈ V Y = (Y_v)_{v ∈ V} Y=(Yv)v∈V;边 e ∈ E e ∈ E e∈E表示随机变量之间的概率依赖关系。
给定一个联合概率分布 P ( Y ) P(Y) P(Y) 和表示它的无向图 G G G。首先定义无向图表示的随机变量之间存在的成对马尔可夫性 (pairwise Markov property) 、局部马尔可夫性(local Markov property) 和全局马尔可夫性 (global Markov property) 。
成对⻢尔可夫性:其中,设
u
u
u和
v
v
v是⽆向图
G
G
G中任意两个没有边连接的结点,分别对应随机变量
Y
u
Y_u
Yu和
Y
v
Y_v
Yv;其它所有结点为
O
O
O,对应的随机变量组是
Y
O
Y_O
YO。 给定随机变量组
Y
O
Y_O
YO的条件下随机变量
Y
u
Y_u
Yu和
Y
v
Y_v
Yv是条件独⽴的,即:
P
(
Y
u
,
Y
v
∣
Y
O
)
=
P
(
Y
u
∣
Y
O
)
P
(
Y
v
∣
Y
O
)
P(Y_u, Y_v | Y_O) = P(Y_u | Y_O) P(Y_v|Y_O)
P(Yu,Yv∣YO)=P(Yu∣YO)P(Yv∣YO)
局部⻢尔可夫性:设
v
∈
V
v ∈ V
v∈V是⽆向图
G
G
G中任意⼀个结点,对应的随机变量是
Y
v
Y_v
Yv。
W
W
W是与
v
v
v有边连接的所有的结点,对应的随机变量组是
Y
W
Y_W
YW。
O
O
O是
v
,
W
v, W
v,W以外的其它所有结点,对应的随机变量组是
Y
O
Y_O
YO。给定随机变量组
Y
W
Y_W
YW的条件下随机变量
Y
v
Y_v
Yv和
Y
O
Y_O
YO是独⽴的, 即:
P
(
Y
v
,
Y
O
∣
Y
W
)
=
P
(
Y
v
∣
Y
W
)
P
(
Y
O
∣
Y
W
)
P(Y_v, Y_O | Y_W) = P(Y_v | Y_W) P(Y_O|Y_W)
P(Yv,YO∣YW)=P(Yv∣YW)P(YO∣YW)
全局⻢尔可夫性:设结点集合
A
,
B
A, B
A,B是在⽆向图
G
G
G中被结点集合
C
C
C分开的任意结点集合,对应的随机变量组是
Y
A
,
Y
B
,
Y
C
Y_A, Y_B, Y_C
YA,YB,YC。 即,给定随机变量组
Y
C
Y_C
YC的条件下随机变量
Y
A
Y_A
YA和
Y
B
Y_B
YB是条件独⽴的。
P
(
Y
A
,
Y
B
∣
Y
C
)
=
P
(
Y
A
∣
Y
C
)
P
(
Y
B
∣
Y
C
)
P(Y_A,Y_B|Y_C) = P(Y_A|Y_C) P(Y_B|Y_C)
P(YA,YB∣YC)=P(YA∣YC)P(YB∣YC)
概率⽆向图模型(⻢尔可夫随机场):设有联合概率分布 P ( Y ) P(Y) P(Y),由⽆向图 G = ( V , E ) G = (V, E) G=(V,E)表示,在图 G G G中,结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布 P ( Y ) P(Y) P(Y)满⾜成对、局部或全局⻢尔可夫性,就称此联合概率分布为概率⽆向图模型,或⻢尔可夫随机场。
团:⽆向图 G G G中任意两个结点均有边连接的结点⼦集。
最⼤团:⽆向图 G G G中的⼀个团,并且不能再加进任何⼀个结点使其成为⼀个更⼤的团。
概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解。
概率⽆向图模型的联合概率分布
P
(
Y
)
P(Y)
P(Y)表示为如下形式:
P
(
Y
)
=
1
Z
∏
C
Ψ
C
(
Y
C
)
Z
=
∑
Y
∏
C
Ψ
C
(
Y
C
)
Ψ
C
(
Y
C
)
=
exp
{
−
E
(
Y
C
)
}
P(Y) =\frac{1}{Z} \prod_C \Psi _C (Y_C)\\ Z = \sum_Y \prod_C \Psi _C (Y_C)\\ \Psi _C (Y_C) = \exp \{- E(Y_C)\}\\
P(Y)=Z1C∏ΨC(YC)Z=Y∑C∏ΨC(YC)ΨC(YC)=exp{−E(YC)}
其中,
C
C
C是⽆向图的最⼤团,
Y
C
Y_C
YC是
C
C
C的结点对应的随机变量;势函数
Ψ
C
(
Y
C
)
\Psi _C (Y_C)
ΨC(YC) 是严格正的,通常定义为指数函数;
Z
Z
Z是规范化因⼦,保证
P
(
Y
)
P(Y)
P(Y)构成⼀个概率分布。乘积是在⽆向图所有的最⼤团上进⾏的。
2 条件随机场的定义与形式
2.1 条件随机场的定义
条件随机场:设 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 ) P(Y_v | X, Y_w, w ≠ v) = P (Y_v | X, Y_w, w ∼ v) P(Yv∣X,Yw,w=v)=P(Yv∣X,Yw,w∼v) 对任意结点 v v v成⽴,则称条件概率分布 P ( Y ∣ X ) P(Y | X) P(Y∣X)为条件随机场。其中, w ∼ v w ∼ v w∼v表示在图 G = ( V , E ) G = (V, E) G=(V,E)中与结点 v v v有边连接的所有结点 w w w, w ≠ v w ≠ v w=v表示结点 v v v以外的所有结点, Y v Y_v Yv与 Y w Y_w Yw为结点 v v v与 w w w对应的随机变量。
在定义中并没有要求 X X X 和 Y Y Y 具有相同的结构。现实中, 一般假设 X X X 和 Y Y Y 有相同的图结构。本文主要考虑无向图为如下图所示的线性链的情况,即 G = ( V = { 1 , 2 , . . . , n } , E = { i , i + 1 } ) , i = 1 , 2 , . . . , n − 1 G = (V=\{1,2,...,n\}, E=\{i,i+1\}),i=1,2,...,n-1 G=(V={1,2,...,n},E={i,i+1}),i=1,2,...,n−1。在此情况下 , X = ( X 1 , X 2 , … , X n ) X = (X_1 ,X_2,…,X_n) X=(X1,X2,…,Xn) , Y = ( Y 1 , Y 2 , … , Y n ) Y=(Y_1,Y_2,…,Y_n) Y=(Y1,Y2,…,Yn) ,最大团是相邻两个结点的集合。
线性链条件随机场:设 X = ( X 1 , X 2 , … , X n ) X = (X_1 ,X_2,…,X_n) X=(X1,X2,…,Xn) , Y = ( Y 1 , Y 2 , … , Y n ) Y=(Y_1,Y_2,…,Y_n) 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 ( i = 1 和 n 时只考虑单边 ) 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(i=1和n时只考虑单边) P(Yi∣X,Y1,⋯,Yi−1,Yi+1,⋯,Yn)=P(Yi∣X,Yi−1,Yi+1,i=1,2,...,n(i=1和n时只考虑单边) 称条件概率分布 P ( Y ∣ X ) P(Y | X) P(Y∣X)为线性链条件随机场。在标注问题中, X X X 表示输入观测序列, Y Y Y 表示对应的输出标记序列或状态序列。
2.2 条件随机场的参数化形式
线性链条件随机场的参数化形式:设
P
(
Y
∣
X
)
P(Y | X)
P(Y∣X)为线性链条件随机场,则在随机变量
X
X
X取值为
x
x
x的条件下,随机变量
Y
Y
Y取值为
y
y
y的条件概率具有如下形式:
P
(
y
∣
x
)
=
1
Z
(
x
)
exp
(
∑
i
,
k
λ
k
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
+
∑
i
,
l
μ
l
s
l
(
y
i
,
x
,
i
)
)
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
)
)
P(y | x) = \frac{1}{Z(x)}\exp \left(\sum_{i , k} λ_kt_k (y_{i - 1}, y_i, x, i) + \sum_{i , l} μ_ls_l (y_i, x, i)\right) \\ Z(x) = \sum_ y \exp \left(\sum_{i , k} λ_kt_k (y_{i - 1}, y_i, x, i) + \sum_{i , l} μ_ls_l (y_i, x, i)\right)
P(y∣x)=Z(x)1exp
i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)
Z(x)=y∑exp
i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)
式中,
t
k
t_k
tk是定义在边上特征函数,称为转移特征,依赖于当前和前⼀个位置;
s
l
s_l
sl是定义在结点上的特征函数,称为状态特征, 依赖于当前位置。特征函数
t
k
t_k
tk和
s
l
s_l
sl取值为1或0。
λ
k
λ_k
λk和
μ
l
μ_l
μl是对应的权值,
Z
(
x
)
Z(x)
Z(x)是规范化因⼦,求和是在所有可能的输出序列上进⾏的。
2.3 条件随机场的简化化形式
条件随机场还可以由简化形式表示 。 注意到条件随机场参数化形式中同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。
设有
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
f_k(y_{i - 1}, y_i, x, i) =\left\{\begin{aligned} &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 \end{aligned}\right.
fk(yi−1,yi,x,i)={tk(yi−1,yi,x,i),k=1,2,⋯,K1sl(yi,x,i),k=K1+l;l=1,2,⋯,K2
然后,转移与状态特征在各个位置
i
i
i求和,记作
f
k
(
y
,
x
)
=
∑
i
=
1
n
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
,
k
=
1
,
2
,
⋯
,
K
f_k(y, x) = \sum_{i=1}^n f_k(y_{i - 1}, y_i, x, i), k = 1, 2, ⋯, K
fk(y,x)=i=1∑nfk(yi−1,yi,x,i),k=1,2,⋯,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
w_k = \left\{ \begin{aligned} & λ_k, k = 1, 2, ⋯, K_1 \\ &μ_l, k = K_1 + l; l = 1, 2, ⋯, K_2 \end{aligned}\right.
wk={λk,k=1,2,⋯,K1μl,k=K1+l;l=1,2,⋯,K2
则条件随机场可表示为
P
(
y
∣
x
)
=
1
Z
(
x
)
exp
∑
k
=
1
K
w
k
f
k
(
y
,
x
)
Z
(
x
)
=
∑
y
exp
∑
k
=
1
K
w
k
f
k
(
y
,
x
)
P(y | x) = \frac{1}{Z(x)}\exp \sum_{k=1}^K w_kf_k(y, x)\\ Z(x) = \sum_y \exp \sum_{k=1}^K w_kf_k(y, x)
P(y∣x)=Z(x)1expk=1∑Kwkfk(y,x)Z(x)=y∑expk=1∑Kwkfk(y,x)
若以
w
w
w表示权值向量,即
w
=
(
w
1
,
w
2
,
⋯
,
w
K
)
T
w = (w_1, w_2, ⋯, w_K)^T
w=(w1,w2,⋯,wK)T ,以
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
F(y, x) = (f_1(y, x), f_2(y, x), ⋯, f_K(y, x))T
F(y,x)=(f1(y,x),f2(y,x),⋯,fK(y,x))T 则条件随机场可写成向量
w
w
w与
F
(
y
,
x
)
F(y, x)
F(y,x)的内积的形式:
P
w
(
y
∣
x
)
=
exp
(
w
⋅
F
(
y
,
x
)
)
Z
w
(
x
)
Z
w
(
x
)
=
∑
y
exp
(
w
⋅
F
(
y
,
x
)
)
P_w(y | x) =\frac{\exp(w ⋅ F(y, x))}{Z_w(x)} \\ Z_w(x) =\sum_ y \exp(w ⋅ F(y, x))
Pw(y∣x)=Zw(x)exp(w⋅F(y,x))Zw(x)=y∑exp(w⋅F(y,x))
2.4 条件随机场的矩阵形式
假设 P w ( y ∣ x ) P_w(y | x) Pw(y∣x)是线性链条件随机场,表示对给定观测序列 x x x,相应的标记序列 y y y的条件概率。对每个标记序列引进特殊的起点标记 y 0 = s t a r t y_0 = start y0=start表示开始状态,特殊的终点标记 y n + 1 = s t o p y_{n+ 1} = stop yn+1=stop 表示终⽌状态。
对观测序列
x
x
x的每⼀个位置
i
=
1
,
2
,
⋯
,
n
+
1
i = 1, 2, ⋯, n + 1
i=1,2,⋯,n+1,由于
y
i
−
1
y_{i-1}
yi−1和
y
i
y_i
yi在
m
m
m 个标记中取值,定义⼀个
m
m
m阶矩阵:
M
i
(
x
)
=
[
M
i
(
y
i
−
1
,
y
i
∣
x
)
]
m
×
m
M
i
(
y
i
−
1
,
y
i
∣
x
)
=
exp
(
W
i
(
y
i
−
1
,
y
i
,
∣
x
)
)
W
i
(
y
i
−
1
,
y
i
,
∣
x
)
=
∑
i
=
1
K
w
k
f
k
(
y
i
−
1
,
y
i
,
x
,
i
)
M_i (x) =[M_i (y_{i - 1}, y_i | x)]_{m× m} \\ M_i(y_{i - 1}, y_i | x) = \exp (W_i (y_{i - 1}, y_i, | x)) \\ W_i (y_{i - 1}, y_i, | x) = \sum_{i=1}^K w_kf_k (y_{i - 1}, y_i, x, i)
Mi(x)=[Mi(yi−1,yi∣x)]m×mMi(yi−1,yi∣x)=exp(Wi(yi−1,yi,∣x))Wi(yi−1,yi,∣x)=i=1∑Kwkfk(yi−1,yi,x,i)
这里
w
k
w_k
wk和
f
k
f_k
fk分别在上面给出,
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的取值。这样,给定观测序列
x
x
x , 相应标记序列
y
y
y 的非规范化概率可以通过该序列
n
+
1
n+1
n+1个矩阵的适当元素的乘积
∏
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) 表示。于是,条件概率
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
)
P_w(y | x) = \frac{1}{Z_w(x)}\prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x)
Pw(y∣x)=Zw(x)1i=1∏n+1Mi(yi−1,yi∣x)
其中,
Z
w
(
x
)
Z_w(x)
Zw(x)为规范化因⼦,是
n
+
1
n + 1
n+1个矩阵的乘积的元素即
Z
w
(
x
)
=
[
M
1
(
x
)
[
M
2
(
x
)
.
.
.
[
M
n
+
1
(
x
)
]
s
t
a
r
t
,
s
t
o
p
]
Z_w(x)=[M_1(x)[M_2(x)...[M_{n+1}(x)]_{start,stop]}
Zw(x)=[M1(x)[M2(x)...[Mn+1(x)]start,stop]
注意,
y
0
=
s
t
a
r
t
y_0 = start
y0=start 与
y
n
+
1
=
s
t
o
p
y_{n+1} = stop
yn+1=stop 表示开始状态与终止状态,规范化因⼦
Z
w
(
x
)
Z_w(x)
Zw(x)是以start为起点stop为终点通过状态的所有路径
y
1
y
2
⋯
y
n
y_1y_2⋯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) 之和。