CRF
《统计学习方法》李航-CRF
马尔可夫随机场
-
概率图模型是由图表示的概率分布。设由联合分布 P ( Y ) P(Y) P(Y),Y是一组随机变量。由无向图 G = ( V , E ) G=(V,E) G=(V,E)表示概率分布 P ( Y ) P(Y) P(Y),即图G中,结点 v ∈ V v\in V v∈V表示一个随机变量 Y v Y_v Yv, Y = ( Y v ) v ∈ V Y=(Y_v)_{v\in V} Y=(Yv)v∈V;边 e ∈ E e\in E e∈E表示随机变量之间的概率依赖关系。
-
如果想求联合分布 P ( Y ) P(Y) P(Y),需要给图添加约束,更容易求得。
-
成对马尔可夫性/局部马尔可夫性/全局马尔可夫性 本质是等价的,从不同视角看待
-
局部马尔可夫性
P ( Y v , Y O ∣ Y W ) = P ( Y v ∣ Y W ) P ( Y O ∣ Y W ) (1-1) P(Y_v,Y_O|Y_W)=P(Y_v|Y_W)P(Y_O|Y_W)\tag{1-1} P(Yv,YO∣YW)=P(Yv∣YW)P(YO∣YW)(1-1)
其中,设 v ∈ V v\in 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 O , Y W ) P ( Y O ∣ Y W ) (1-2) P(Y_v,Y_O|Y_W)=P(Y_v|Y_O,Y_W)P(Y_O|Y_W)\tag{1-2} P(Yv,YO∣YW)=P(Yv∣YO,YW)P(YO∣YW)(1-2)
由(1-1)与(1-2)得:
P ( Y v ∣ Y O , Y W ) = P ( Y v ∣ Y W ) (1-3) P(Y_v|Y_O,Y_W)=P(Y_v|Y_W)\tag{1-3} P(Yv∣YO,YW)=P(Yv∣YW)(1-3)
即 Y O Y_O YO不影响 Y v Y_v Yv,只有 Y W Y_W YW影响 Y v Y_v Yv -
满足马尔可夫性(三个之一)的随机场 G G G就是马尔可夫随机场
马尔可夫随机场的因子分解
-
团:无向图 G G G中任意两个结点均有边连接的结点子集。
最大团:无向图 G G G中的一个团,并且不能再添加进任何一个结点使其成为一个更大的团。
-
(Hammersley-Clifford定理)概率无向图模型的联合概率分布:
P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) P(Y)=\frac{1}{Z}\prod_C\Psi_C(Y_C) P(Y)=Z1C∏ΨC(YC)
其中 C C C是无向图的最大团, Y C Y_C YC是 C C C的结点对应的随机变量;势函数 Ψ C ( Y C ) \Psi_C(Y_C) ΨC(YC)是严格正的
Ψ C ( Y C ) = exp ( − E ( Y C ) ) = exp ( ∑ k λ k f k ( C , y ∣ C , x ) ) \Psi_C(Y_C)=\exp(-E(Y_C))=\exp(\sum_k\lambda_kf_k{(C,y|C,x)}) ΨC(YC)=exp(−E(YC))=exp(k∑λkfk(C,y∣C,x))
Z是规范化因子,保证 P ( Y ) P(Y) P(Y)构成一个概率分布
Z = ∑ Y ∏ C Ψ C ( Y C ) Z=\sum_Y\prod_C\Psi_C(Y_C) Z=Y∑C∏ΨC(YC)
乘积是在无向图所有的最大团上进行的。含义:对一个无向图进行因子分解(即分解成多个最大团,最大团就是因子),然后无向图的联合概率分布就等于最大团的势函数的累乘除以规范因子。
条件随机场及线性链条件随机场
满足马尔可夫性的 G G G是马尔可夫随机场,可以表征联合分布 P ( Y ) P(Y) P(Y) 而 P ( Y ∣ X ) P(Y|X) P(Y∣X)就是条件随机场
-
设 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\neq v)=P(Y_v|X,Y_w,w\sim 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\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以外的所有结点, Y v Y_v Yv与 Y w Y_w Yw为结点 v v v与 w w w对应的随机变量。与之前推导的: P ( Y v ∣ Y O , Y W ) = P ( Y v ∣ Y W ) P(Y_v|Y_O,Y_W)=P(Y_v|Y_W) P(Yv∣YO,YW)=P(Yv∣YW)本质一样
-
线性链条件随机场
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- Y Y Y中的 Y 1 , Y 2 . . . Y n Y_1,Y_2...Y_n 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 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_n)=P(Y_i|X,Y_{i-1},Y_{i+1})\\ i=1,2,...,n(在i=1和n时只考虑单边) P(Yi∣X,Y1,...,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表示输入观测序列,Y表示对应的输出标记序列或状态序列。
-
如果再假设 X X X与 Y Y Y具有相同的图结构,同时 Y 1 , Y 2 . . . Y n Y_1,Y_2...Y_n Y1,Y2...Yn分别是已知 X 1 , X 2 . . . X n X_1,X_2...X_n X1,X2...Xn条件下得到
Y 1 − − Y 2 − − Y 3 − − . . . − − Y n ∣ ∣ ∣ . . . ∣ X 1 X 2 X 3 . . . X n Y_1--Y_2--Y_3--...--Y_n\\ |\:\:\:\:\:\:\:\:\:\:\:\:|\:\:\:\:\:\:\:\:\:\:\:\:|\:\:\:\:\:\:\:\:\:\:...\:\:\:\:\:\:\:\:\:\:|\\ X_1\:\:\:\:\:\:\:\:X_2\:\:\:\:\:\:\:\:X_3\:\:\:\:\:\:\:\:...\:\:\:\:\:\:\:\:\:X_n Y1−−Y2−−Y3−−...−−Yn∣∣∣...∣X1X2X3...Xn
条件随机场的参数化形式
-
设 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 ) ) P(y|x)=\frac{1}{Z(x)}\exp{(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i))} 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 λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) Z(x)=\sum_y\exp{(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,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是特征函数, λ k \lambda_k λk和 μ l \mu_l μl是对应的权值, Z ( x ) Z(x) Z(x)是规范化因子,求和是在所有可能的输出序列上进行的。这是线性链条件随机场模型的基本形式,表示给定输入序列x,对输出序列y预测的条件概率。
t k t_k tk是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置。 s l s_l sl是定义在结点上的特征函数,称为状态特征,依赖于当前位置。 t k t_k tk和 s l s_l sl都依赖于位置,是局部特征函数。通常,特征函数 t k t_k tk和 s l s_l sl取值为1或0;当满足特征条件时取值为1,否则为0。条件随机场完全由特征函数 t k t_k tk, s l s_l sl和对应的权值 λ k \lambda_k λk和 μ l \mu_l μl确定。
由因子分解得到的 P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) P(Y)=\frac{1}{Z}\prod_C\Psi_C(Y_C) P(Y)=Z1∏CΨC(YC)推导得到参数化形式
条件随机场的简化形式
-
简化过程:
-
将转移特征和状态特征及其权值用统一符号表示:设有 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 , 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,x,i)= \begin{cases} t_k(y_{i-1},y_i,x,i),\quad k=1,2,...,K_1\\ s_l(y_i,x,i),\quad k=K_1+l;l=1,2,...,K_2 \end{cases} fk(yi−1,y,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 , x , i ) , k = 1 , 2 , . . . , K f_k(y,x)=\sum_{i=1}^{n}f_k(y_{i-1},y,x,i),\quad k=1,2,...,K fk(y,x)=i=1∑nfk(yi−1,y,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= \begin{cases} \lambda_k,\quad k=1,2,...,K_1\\ \mu_l,\quad k=K_1+l;l=1,2,...,K_2 \end{cases} 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 1 , w 2 , . . . , w k ) T w=(w_1,w_2,...,w_k)^T w=(w1,w2,...,wk)T和全局特征向量 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来简化函数
-
最终得到条件随机场简化形式:
P w ( y ∣ x ) = e x p ( 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))
-
条件随机场的矩阵形式
-
为了转换为矩阵形式,我们引入特殊的状态标记 y 0 = s t a r t , y n + 1 = s t o p y_0=start, y_{n+1}=stop y0=start,yn+1=stop
-
对观测序列x的每一个位置 i = 1 , 2 , … , n + 1 i=1,2,…,n+1 i=1,2,…,n+1,定义一个m阶矩阵(m是标记 y i y_i yi可以取值的个数)
M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] 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_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)]Mi(yi−1,yi∣x)=exp(Wi(yi−1,yi∣x))Wi(yi−1,yi∣x)=i=1∑Kwkfk(yi−1,yi,x,i)
这样,给定观测序列x,标记序列y的非规范化概率可以通过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个矩阵的乘积的(start,stop)元素:
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 = s t o p y_n = stop yn=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)之和。
d_{i=1}^{n+1}M_i(y_{i-1},y_i|x)
KaTeX parse error: Can't use function '$' in math mode at position 7: 其中,$̲Z_w(x)$为规范化因子,是…
Z_w(x)=(M_1(x)M_2(x)…M_{n+1}(x))_{start,stop}
$$
注意,
y
0
=
s
t
a
r
t
y_0= start
y0=start与
y
n
=
s
t
o
p
y_n = stop
yn=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)之和。