(十)统计学习方法 | 条件随机场


1. 概率无向图模型

1.1 简介与定义

概率无向图模型又称马尔可夫随机场,是一个可以由无向图表示的联合概率分布。图是由结点及连接结点的边组成的集合。结点和边分别记作 v v v e e e,结点和边的集合分别记作 V V V E E E,图记作 G = ( V , E ) G=(V,E) G=(V,E)

概率图模型是由图表示的概率分布。设有联合概率分布 P ( Y ) P(Y) P(Y) Y ∈ Y Y\in \mathcal Y YY是一组随机变量。由无向图 G = ( V , E ) G=(V,E) G=(V,E)表示概率分布 P ( Y ) P(Y) P(Y),即在图 G G G中,结点 v ∈ V v\in V vV表示一个随机变量 Y c Y_c Yc Y = ( Y v ) v ∈ V Y=(Y_v)_{v\in V} Y=(Yv)vV;边 e ∈ E e\in E eE表示随机变量之间的概率依赖关系。

给定一个联合概率分布 P ( Y ) P(Y) P(Y)和表示它的无向图 G G G。首先定义无向图表示的随机变量之间存在的成对马尔可夫性局部马尔可夫性全局马尔可夫性

成对马尔可夫性 u u u v v v是无向图 G G G中任意两个没有边连接的点,结点 u u u v v v分别对应随机变量 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 ) (1) P(Y_u,Y_v|Y_O)=P(Y_u|Y_O)P(Y_v|Y_O)\tag{1} P(Yu,YvYO)=P(YuYO)P(YvYO)(1)

局部马尔可夫性 v ∈ V v\in V vV是无向图 G G G中的任意一个结点, W W W是与 v v v有边连接的所有结点, O O O v v v W W W以外的其他所有结点。 v v v表示的随机变量是 Y v Y_v Yv W W W表示的随机变量是 Y W Y_W YW O O O表示的随机变量是 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 ) (2) P(Y_v,Y_O|Y_W)=P(Y_v|Y_W)P(Y_O|Y_W)\tag{2} P(Yv,YOYW)=P(YvYW)P(YOYW)(2)

全局马尔可夫性 设结点集合 A , B A,B A,B是在无向图 G G G中被结点集合 C C C分开的任意结点集合,结点集合 A , B A,B A,B C C C对应的随机变量组分别为 Y A , Y B Y_A,Y_B YA,YB Y C Y_C 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 W ) (3) P(Y_A,Y_B|Y_C)=P(Y_A|Y_C)P(Y_B|Y_W)\tag{3} P(YA,YBYC)=P(YAYC)P(YBYW)(3)

概率无向图模型 设有联合概率分布 P ( Y ) P(Y) P(Y),由无向图 G = ( V , E ) G=(V,E) G=(V,E)表示 ,在图 G G G中,结点表示随机变量,边表示随机变量之间的依赖关系。如何联合概率分布 P ( Y ) P(Y) P(Y)满足成对、局部全局马尔可夫性,则称此联合概率分布为概率无向图模型,或马尔可夫随机场。

1.2 概率无向图模型的因子分解

团与最大团 无向图 G G G任何两个结点均有边连接的结点子集称为团。如 C C C是无向图 G G G中的一个团,并且不能再加进任何一个 G G G的结点使其成为一个更大的团,则称此 C C C为最大团。

将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,成为概率无向图模型的因子分解。

给定概率无向图模型,设其无向图为 G G G C C C G G G上的最大团, Y C Y_C YC表示 C C C对应的随机变量。那么概率无向图模型的联合概率分布 P ( Y ) P(Y) P(Y)可写作图中所有最大团 C C C上的函数 Ψ C ( Y C ) \Psi_C(Y_C) ΨC(YC)的乘积形式,即: P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) (4) P(Y)=\frac{1}{Z}\prod_C\Psi_C(Y_C)\tag{4} P(Y)=Z1CΨC(YC)(4)

其中, Z Z Z是规范化因子,即: Z = ∑ Y ∏ C Ψ C ( Y C ) (5) Z=\sum_Y\prod_C\Psi_C(Y_C)\tag{5} Z=YCΨC(YC)(5)

规范化因子保证 P ( Y ) P(Y) P(Y)构成一个概率分布。函数 Ψ C ( Y C ) \Psi_C(Y_C) ΨC(YC)成为势函数,其是严格正的,通常定义为指数函数: Ψ C ( Y C ) = exp ⁡ { − E ( Y C ) } (6) \Psi_C(Y_C)=\exp\{-E(Y_C)\}\tag{6} ΨC(YC)=exp{E(YC)}(6)

概率无向图模型的因子分解由下述定理来保证。

Hammersley-Clifford定理 概率无向图模型的联合概率分布 P ( Y ) P(Y) P(Y)可以表示为如下形式: P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) P(Y)=\frac{1}{Z}\prod_C\Psi_C(Y_C) P(Y)=Z1CΨC(YC)

Z = ∑ Y ∏ C Ψ C ( Y C ) Z=\sum_Y\prod_C\Psi_C(Y_C) Z=YCΨC(YC)

其中, C C C是无向图的最大团, Y C Y_C YC C C C的结点对应的随机变量, Ψ C ( Y C ) \Psi_C(Y_C) ΨC(YC) C C C上定义的严格正函数,乘积是在无向图所有的最大团上进行的


2. 条件随机场

2.1 简介与定义

条件随机场是在给定随机变量 X X X的条件下,随机变量 Y Y Y的马尔可夫随机场。在条件概率 P ( Y ∣ X ) P(Y|X) P(YX)中, Y Y Y是输出变量,表示标记序列; X X X是输入变量,表示需要标注的观测序列。学习时,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型 P ^ ( Y ∣ X ) \hat P(Y|X) P^(YX)预测时,对于给定的输入序列 x x x,求出条件概率 P ^ ( y ∣ x ) \hat P(y|x) P^(yx)最大的输出序列 y ^ \hat y y^

条件随机场 X X X Y Y Y是随机变量, P ( Y ∣ X ) P(Y|X) P(YX)是在给定 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 ) (7) P(Y_v|X,Y_w,w\not =v)=P(Y_v|X,Y_w,w\sim v)\tag{7} P(YvX,Yw,w=v)=P(YvX,Yw,wv)(7)

对任意结点成立,则称条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)为条件随机场。式中 w ∼ v w\sim v wv表示在图 G = ( V , E ) G=(V,E) G=(V,E)中与结点 v v v有边连接的所有结点 w w w w ≠ v w\not =v w=v表示结点 v v v以外的所有结点, Y v , Y u Y_v,Y_u Yv,Yu Y w Y_w Yw为结点 v , u v,u v,u w w w对应的随机变量。

线性链条件随机场 X = ( X 1 , X 2 , . . . , X n ) , Y = ( Y 1 , Y 2 , . . . , Y n ) X=(X_1,X_2,...,X_n),Y=(Y_1,Y_2,...,Y_n) X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列 X X X的条件下,随机变量序列 Y Y Y的条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)构成条件随机场,即满足马尔可夫性: 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 (8) 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\tag{8} P(YiX,Y1,..,Yi1,Yi+1,...,Yn)=P(YiX,Yi1,Yi+1)i=1,2,...,n(8)

则称 P ( Y ∣ X ) P(Y|X) P(YX)为线性链条件随机场。

2.2 条件随机场的参数化形式

线性链条件随机场的参数化形式 P ( Y ∣ X ) P(Y|X) P(YX)为线性链条件随机场,则在随机变量 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 ) ) (9) P(y|x)=\frac{1}{Z(x)}\exp\left(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i)\right)\tag{9} P(yx)=Z(x)1expi,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)(9)

其中: 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 ) ) (10) Z(x)=\sum_y\exp\left(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i)\right)\tag{10} Z(x)=yexpi,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)(10)

式中, t k t_k tk s l s_l sl是特征函数, λ k \lambda_k λk μ l \mu_l μl是对应的权值。 Z ( x ) Z(x) Z(x)是规范化因子,求和是在所有可能的输出序列上进行的。其中, t k t_k tk是定义在边上的特征函数,称为转移特征,依赖于当前和前一位置; s l s_l sl是定义在结点上的特征函数,称为状态特征,依赖于当前位置。通常,特征函数 t k t_k tk s l s_l sl的取值遵循满足特征条件为 1 1 1否则为 0 0 0的规则。

设有一标注问题:输入观测序列为 X = ( X 1 , X 2 , X 3 ) X=(X_1,X_2,X_3) X=(X1,X2,X3),输出标记序列为 Y = ( Y 1 , Y 2 , Y 3 ) Y=(Y_1,Y_2,Y_3) Y=(Y1,Y2,Y3) Y 1 , Y 2 , Y 3 Y_1,Y_2,Y_3 Y1,Y2,Y3的取值于 Y = { 1 , 2 } \mathcal Y=\{1,2\} Y={1,2}。假设特征 t k , s l t_k,s_l tk,sl和对应的权值 λ k , μ l \lambda_k,\mu_l λk,μl如下: t 1 = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) ,     i = 2 , 3 ,     λ 1 = 1 t_1=t_1(y_{i-1}=1,y_i=2,x,i),\ \ \ i=2,3,\ \ \ \lambda_1=1 t1=t1(yi1=1,yi=2,x,i),   i=2,3,   λ1=1

t 2 = t 2 ( y 1 = 1 , y 2 = 1 , x , 2 ) λ 2 = 0.6 t 3 = t 3 ( y 2 = 2 , y 3 = 1 , x , 3 ) λ 3 = 1 t 4 = t 4 ( y 1 = 2 , y 2 = 1 , x , 2 ) , λ 4 = 1 t 5 = t 5 ( y 2 = 2 , y 3 = 2 , x , 3 ) , λ 5 = 0.2 s 1 = s 1 ( y 1 = 1 , x , 1 ) , μ 1 = 1 s 2 = s 2 ( y i = 2 , x , i ) , i = 1 , 2 μ 2 = 0.5 s 3 = s 3 ( y i = 1 , x , i ) , i = 2 , 3 μ 3 = 0.8 s 4 = s 4 ( y 3 = 2 , x , 3 ) , μ 4 = 0.5 \begin{aligned} & t_2=t_2(y_1=1,y_2=1,x,2) && \lambda_2=0.6 \\ & t_3=t_3(y_2=2,y_3=1,x,3) & & \lambda_3=1\\ & t_4=t_4(y_1=2,y_2=1,x,2),& & \lambda_4=1\\ & t_5=t_5(y_2=2,y_3=2,x,3),& & \lambda_5=0.2 \\ & s_1=s_1(y_1=1,x,1),& & \mu_1=1 \\ & s_2=s_2(y_i=2,x,i),i=1,2& & \mu_2=0.5 \\ & s_3=s_3(y_i=1,x,i),i=2,3& & \mu_3=0.8 \\ & s_4=s_4(y_3=2,x,3),& & \mu_4=0.5 \end{aligned} t2=t2(y1=1,y2=1,x,2)t3=t3(y2=2,y3=1,x,3)t4=t4(y1=2,y2=1,x,2),t5=t5(y2=2,y3=2,x,3),s1=s1(y1=1,x,1),s2=s2(yi=2,x,i),i=1,2s3=s3(yi=1,x,i),i=2,3s4=s4(y3=2,x,3),λ2=0.6λ3=1λ4=1λ5=0.2μ1=1μ2=0.5μ3=0.8μ4=0.5

求给定的观测序列 x x x,求标记序列为 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)的非规范化条件概率。

由式(9),线性链条件随机场模型为: 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}^3t_k(y_{i=1},y_i,x,i)+\sum_{k=1}^4\mu_k\sum_{i=1}^3s_k(y_i,x,i)\right] p(yx)exp[k=15λki=23tk(yi=1,yi,x,i)+k=14μki=13sk(yi,x,i)]

对给定的观测序列 x x x,标记序列 y = ( ( 1 , 2 , 2 ) y=((1,2,2) y=((1,2,2)的非规范化条件概率为: P ( y 1 = 1 , y 2 = 2 , y 3 = 2 ) ∝ exp ⁡ ( 3.2 ) P(y_1=1,y_2=2,y_3=2)\propto \exp(3.2) P(y1=1,y2=2,y3=2)exp(3.2)

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 (11) 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\tag{11} \end{aligned} \right. fk(yi1,yi,x,i)={tk(yi1,yi,x,i)sl(yi,x,i)k=1,2,...,K1k=K1+l; l=1,2,...,K2(11)

然后,对转移与状态特征在各个位置 i i i求和,记作: f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) ,      k = 1 , 2 , . . . , K (12) f_k(y,x)=\sum_{i=1}^nf_k(y_{i-1},y_i,x,i),\ \ \ \ k=1,2,...,K\tag{12} fk(y,x)=i=1nfk(yi1,yi,x,i),    k=1,2,...,K(12)

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 (13) w_k=\left\{ \begin{aligned} & \lambda_k, & & k=1,2,...,K_1 \\ & \mu_l, & & k=K_1+l;\ l=1,2,...,K_2\tag{13} \end{aligned} \right. wk={λk,μl,k=1,2,...,K1k=K1+l; l=1,2,...,K2(13)

于是,条件随机场可以表示为: P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ k = 1 K w k f k ( y , x ) (14) P(y|x)=\frac{1}{Z(x)}\exp\sum_{k=1}^Kw_kf_k(y,x)\tag{14} P(yx)=Z(x)1expk=1Kwkfk(y,x)(14)

Z ( x ) = ∑ y exp ⁡ ∑ k = 1 K w k f k ( y , x ) (15) Z(x)=\sum_y\exp\sum_{k=1}^Kw_kf_k(y,x)\tag{15} Z(x)=yexpk=1Kwkfk(y,x)(15)

2.4 条件随机场的矩阵形式

假设 P w ( y ∣ x ) P_w(y|x) Pw(yx)是由式(14)和(15)给出的线性链条件随机场,表示对给定观测序列 x x x,相应的标记序列 y y y的条件概率。对每个标记序列引起特殊的起点和终点状态标记 y 0 = s t a r t y_0={\rm start} y0=start y n + 1 = s t o p y_{n+1}={\rm stop} yn+1=stop,这是标注序列的概率 P w ( y ∣ x ) P_w(y|x) Pw(yx)可以通过矩阵形式表示并有效计算。

对观测序列 x x x的每一个位置 i = 1 , 2 , . . . , n + 1 i=1,2,...,n+1 i=1,2,...,n+1,由于 y i − 1 y_{i-1} yi1 y i y_i yi m m m个标记中取值,可以定义一个 m m m阶矩阵随机变量: M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] (16) M_i(x)=[M_i(y_{i-1},y_i|x)]\tag{16} Mi(x)=[Mi(yi1,yix)](16)

矩阵随机变量的元素为: M i ( y i − 1 , y i ∣ x ) = exp ⁡ ( W i ( y i − 1 , y i ∣ x ) ) (17) M_i(y_{i-1},y_i|x)=\exp(W_i(y_{i-1},y_i|x))\tag{17} Mi(yi1,yix)=exp(Wi(yi1,yix))(17)

W i ( y i − 1 , y i ∣ x ) = ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) (18) W_i(y_{i-1},y_i|x)=\sum_{k=1}^Kw_kf_k(y_{i-1},y_i,x,i)\tag{18} Wi(yi1,yix)=k=1Kwkfk(yi1,yi,x,i)(18)

各变量含义前面已经给出。这样,给定观测序列 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 \limits_{i=1}^{n+1}M_i(y_{i-1},y_i|x) i=1n+1Mi(yi1,yix)表示。于是,条件概率 P w ( y ∣ x ) P_w(y|x) Pw(yx)是: P w ( y ∣ x ) = 1 Z w ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) (19) P_w(y|x)=\frac{1}{Z_w(x)}\prod_{i=1}^{n+1}M_i(y_{i-1},y_i|x)\tag{19} Pw(yx)=Zw(x)1i=1n+1Mi(yi1,yix)(19)

其中, 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 (20) Z_w(x)=[M_1(x)M_2(x)...M_{n+1}(x)]_{\rm start,stop}\tag{20} Zw(x)=[M1(x)M2(x)...Mn+1(x)]start,stop(20)

给定一个由下图所示的线性链条件随机场,观测序列 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 = s t a r t = 1 y_0=\rm start=1 y0=start=1 y 4 = s t o p = 1 y_4=\rm 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)分别是: M 1 ( x ) = [ a 01 a 02 0 0 ] ,     M 2 ( x ) = [ b 11 b 12 b 21 b 22 ] M 3 ( x ) = [ c 11 c 12 c 21 c 22 ] ,     M 4 ( x ) = [ 1 0 1 0 ] \begin{gathered} M_1(x)=\begin{bmatrix} a_{01} & a_{02}\\ 0 & 0\\ \end{bmatrix},\ \ \ M_2(x)=\begin{bmatrix} b_{11} & b_{12}\\ b_{21} & b_{22}\\ \end{bmatrix}\\ M_3(x)=\begin{bmatrix} c_{11} & c_{12}\\ c_{21} & c_{22}\\ \end{bmatrix}, \ \ \ M_4(x)=\begin{bmatrix} 1 & 0\\ 1 & 0\\ \end{bmatrix} \end{gathered} M1(x)=[a010a020],   M2(x)=[b11b21b12b22]M3(x)=[c11c21c12c22],   M4(x)=[1100]

求状态序列 y y y s t a r t \rm start start为起点 s t o p \rm stop stop为终点所有路径的非规范化概率及规范化因子。

在这里插入图片描述
首先计算从 s t a r t \rm start start s t o p \rm stop stop对应于 y 1 = ( 1 , 1 , 1 ) , y = ( 1 , 1 , 2 ) , . . . , y = ( 2 , 2 , 2 ) y_1=(1,1,1),y=(1,1,2),...,y=(2,2,2) y1=(1,1,1),y=(1,1,2),...,y=(2,2,2)各路径的非规范化概率分别是 a 01 b 11 c 11 ,     a 01 b 11 c 12 ,     , a 01 b 12 c 21 ,     a 01 b 12 c 22 a_{01}b_{11}c_{11},\ \ \ a_{01}b_{11}c_{12}, \ \ \ , a_{01}b_{12}c_{21},\ \ \ a_{01}b_{12}c_{22} a01b11c11,   a01b11c12,   ,a01b12c21,   a01b12c22

a 02 b 21 c 11 ,     a 02 b 21 c 12 ,     , a 02 b 22 c 21 ,     a 01 b 22 c 22 a_{02}b_{21}c_{11},\ \ \ a_{02}b_{21}c_{12}, \ \ \ , a_{02}b_{22}c_{21},\ \ \ a_{01}b_{22}c_{22} a02b21c11,   a02b21c12,   ,a02b22c21,   a01b22c22

然后根据式(20)求规范化因子。通过计算矩阵乘积 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)可知,其第 1 1 1行第 1 1 1列元素为: a 01 b 11 c 11 + a 02 b 21 c 11 + a 01 b 11 c 12 + a 02 b 21 c 12 + a 02 b 22 c 21 + a 01 b 12 c 21 + a 01 b 12 c 22 + a 01 b 22 c 22 a_{01}b_{11}c_{11}+a_{02}b_{21}c_{11}+a_{01}b_{11}c_{12}+a_{02}b_{21}c_{12}+a_{02}b_{22}c_{21}+a_{01}b_{12}c_{21}+a_{01}b_{12}c_{22}+a_{01}b_{22}c_{22} a01b11c11+a02b21c11+a01b11c12+a02b21c12+a02b22c21+a01b12c21+a01b12c22+a01b22c22

恰好等于从 s t a r t \rm start start s t o p \rm stop stop的所有路径的非规范化概率之和。


3. 条件随机场的概率计算问题

条件随机场的概率计算问题是给定条件随机场 P ( Y ∣ X ) P(Y|X) P(YX),输入序列 x x x和输出序列 y y y,计算条件概率 P ( Y i = y i ∣ x ) P(Y_i=y_i|x) P(Yi=yix) P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) P(Y_{i-1}=y_{i-1},Y_i=y_i|x) P(Yi1=yi1,Yi=yix)以及相应的数学期望的问题。

3.1 前向-后向算法

对每个指标 i = 0 , 1 , . . . , n + 1 i=0,1,...,n+1 i=0,1,...,n+1,定义前向向量 α i ( y ∣ x ) \alpha_i(y|x) αi(yx) α 0 ( x ) = { 1 , y = s t a r t 0 , o t h e r w i s e (21) \alpha_0(x)=\left\{ \begin{aligned} &1, & & y=\rm start \\ & 0, & & otherwise\tag{21} \end{aligned} \right. α0(x)={1,0,y=startotherwise(21)

递推公式为: α i T ( y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) [ M i ( y i − 1 , y i ∣ x ) ] ,     i = 1 , 2 , . . . , n + 1 (22) \alpha_i^{\rm T}(y_i|x)=\alpha_{i-1}^{\rm T}(y_{i-1}|x)[M_i(y_{i-1},y_i|x)],\ \ \ i=1,2,...,n+1\tag{22} αiT(yix)=αi1T(yi1x)[Mi(yi1,yix)],   i=1,2,...,n+1(22)

α i ( y i ∣ x ) \alpha_i(y_i|x) αi(yix)表示在位置 i i i的标记是 y i y_i yi并且从 1 1 1 i i i的前部分标记序列的非规范化概率, y i y_i yi可取的值有 m m m个,所以 α i ( x ) \alpha_i(x) αi(x) m m m维列向量。同样,对每个指标 i = 0 , 1 , . . . , n + 1 i=0,1,...,n+1 i=0,1,...,n+1,定义后向向量 β i ( x ) \beta_i(x) βi(x) β n + 1 ( y n + 1 ∣ x ) = { 1 , y = s t a r t 0 , o t h e r w i s e (23) \beta_{n+1}(y_{n+1}|x)=\left\{ \begin{aligned} &1, & & y=\rm start \\ & 0, & & otherwise\tag{23} \end{aligned} \right. βn+1(yn+1x)={1,0,y=startotherwise(23)

递推公式为: β i ( y i ∣ x ) = [ M i + 1 ( y i , y i + 1 ∣ x ) ] β i + 1 ( y i + 1 ∣ x ) (24) \beta_i(y_i|x)=[M_{i+1}(y_i,y_{i+1}|x)]\beta_{i+1}(y_{i+1}|x)\tag{24} βi(yix)=[Mi+1(yi,yi+1x)]βi+1(yi+1x)(24)

β i ( y i ∣ x ) \beta_i(y_i|x) βi(yix)表示位置 i i i的标记为 y i y_i yi并且哦那个 i + 1 i+1 i+1 n n n的后部分标记序列的非规范化概率。

3.2 概率计算

按照前向-后向向量的定义,很容易计算标记序列在位置 i i i是标记 y i y_i yi的条件概率和在位置 i − 1 i-1 i1 i i i是标记 y i − 1 y_{i-1} yi1 y i y_i yi的条件概率: P ( Y i = y i ∣ x ) = α i T ( y i ∣ x ) β i ( y i ∣ x ) Z ( x ) (25) P(Y_i=y_i|x)=\frac{\alpha_i^{\rm T}(y_i|x)\beta_i(y_i|x)}{Z(x)}\tag{25} P(Yi=yix)=Z(x)αiT(yix)βi(yix)(25)

P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) Z ( x ) (26) P(Y_{i-1}=y_{i-1},Y_i=y_i|x)=\frac{\alpha_{i-1}^{\rm T}(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{Z(x)}\tag{26} P(Yi1=yi1,Yi=yix)=Z(x)αi1T(yi1x)Mi(yi1,yix)βi(yix)(26)

其中: Z ( x ) = α n T ( x ) 1 = 1 β 1 ( x ) (27) Z(x)=\alpha_n^{\rm T}(x)\bold 1=\bold1\beta_1(x)\tag{27} Z(x)=αnT(x)1=1β1(x)(27)

1 \bold 1 1是元素均为 1 1 1 m m m维列向量。

3.3 期望值计算

利用前向-后向计算,可以计算特征函数关于联合分布 P ( X , Y ) P(X,Y) P(X,Y)和条件分布 P ( Y ∣ X ) P(Y|X) P(YX)的数学期望。特征函数 f k f_k fk关于条件分布的数学期望是: E P ( Y ∣ X ) [ f k ] = ∑ y P ( y ∣ x ) f k ( y ∣ x ) = ∑ i = 1 n + 1 ∑ y i − 1 y i f k ( y i − 1 , y i , x , i ) α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) Z ( x ) k = 1 , 2 , , , . K (28) \begin{aligned} E_{P(Y|X)}[f_k]&=\sum_y P(y|x)f_k(y|x)\\&=\sum_{i=1}^{n+1}\sum_{y_{i-1}y_i}f_k(y_{i-1},y_i,x,i)\frac{\alpha_{i-1}^{\rm T}(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{Z(x)}\\&k=1,2,,,.K\end{aligned}\tag{28} EP(YX)[fk]=yP(yx)fk(yx)=i=1n+1yi1yifk(yi1,yi,x,i)Z(x)αi1T(yi1x)Mi(yi1,yix)βi(yix)k=1,2,,,.K(28)

其中: Z ( x ) = α n T ( x ) 1 Z(x)=\alpha_n^{\rm T}(x)\bold 1 Z(x)=αnT(x)1

假设经验分布为 P ~ ( X ) \tilde P(X) P~(X),特征函数 f k f_k fk关于联合分布 P ( X , Y ) P(X,Y) P(X,Y)的数学期望是: E P ( X , Y ) [ f k ] = ∑ x , y P ( x , y ) ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) = ∑ x P ~ ( x ) ∑ y P ( y ∣ x ) ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) = ∑ x P ~ ( x ) ∑ i = 1 n + 1 ∑ y i − 1 y i f k ( y i − 1 , y i , x , i ) α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) Z ( x ) k = 1 , 2 , , , . K (29) \begin{aligned} E_{P(X,Y)}[f_k]&=\sum_{x,y}P(x,y)\sum_{i=1}^{n+1}f_k(y_{i-1},y_i,x,i)\\&=\sum_x\tilde P(x)\sum_yP(y|x)\sum_{i=1}^{n+1}f_k(y_{i-1},y_i,x,i)\\&=\sum_x\tilde P(x)\sum_{i=1}^{n+1}\sum_{y_{i-1}y_i}f_k(y_{i-1},y_i,x,i)\frac{\alpha_{i-1}^{\rm T}(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{Z(x)}\\&k=1,2,,,.K\end{aligned}\tag{29} EP(X,Y)[fk]=x,yP(x,y)i=1n+1fk(yi1,yi,x,i)=xP~(x)yP(yx)i=1n+1fk(yi1,yi,x,i)=xP~(x)i=1n+1yi1yifk(yi1,yi,x,i)Z(x)αi1T(yi1x)Mi(yi1,yix)βi(yix)k=1,2,,,.K(29)

其中: Z ( x ) = α n T ( x ) 1 Z(x)=\alpha_n^{\rm T}(x)\bold 1 Z(x)=αnT(x)1


4. 条件随机场的学习算法

4.1 改进的迭代尺度法

条件随机场模型学习的改进的迭代尺度法

输入 特征函数 t 1 , t 2 , . . . , t K 1 , s 1 , s 2 , . . . , s K 2 t_1,t_2,...,t_{K_1},s_1,s_2,...,s_{K_2} t1,t2,...,tK1,s1,s2,...,sK2;经验分布 P ( x , y ) P(x,y) P(x,y)

输出 参数估计值 w ^ \hat w w^;模型 P w ^ P_{\hat w} Pw^

(1)对所有 k ∈ { 1 , 2 , . . . , K } k\in\{1,2,...,K\} k{1,2,...,K},取初值 w k = 0 w_k=0 wk=0

(2)对每一 k ∈ { 1 , 2 , . . . , K } k\in\{1,2,...,K\} k{1,2,...,K}

(2-1)当 k = 1 , 2 , . . . , K 1 k=1,2,...,K_1 k=1,2,...,K1时,令 δ k \delta_k δk是方程 ∑ x , y P ~ ( x ) P ( y ∣ x ) ∑ i = 1 n + 1 t k ( y i − 1 , y i , x , i ) exp ⁡ ( δ k T ( x , y ) ) = E P ~ [ t k ] \sum_{x,y}\tilde P(x)P(y|x)\sum_{i=1}^{n+1}t_k(y_{i-1},y_i,x,i)\exp(\delta_kT(x,y))=E_{\tilde P}[t_k] x,yP~(x)P(yx)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y))=EP~[tk]

的解;当 k = K 1 + l ,   l = 1 , 2 , . . . , K 2 k=K_1+l,\ l=1,2,...,K_2 k=K1+l, l=1,2,...,K2时,令 δ k + 1 \delta_{k+1} δk+1是方程 ∑ x , y P ~ ( x ) P ( y ∣ x ) ∑ i = 1 n s l ( y i , x , i ) exp ⁡ ( δ K 1 + l T ( x , y ) ) = E P ~ [ s l ] \sum_{x,y}\tilde P(x)P(y|x)\sum_{i=1}^ns_l(y_i,x,i)\exp(\delta_{K_1+l}T(x,y))=E_{\tilde P}[s_l] x,yP~(x)P(yx)i=1nsl(yi,x,i)exp(δK1+lT(x,y))=EP~[sl]的解;

式中 T ( x , y ) T(x,y) T(x,y)为: T ( x , y ) = ∑ k f k ( y , x ) = ∑ k = 1 K ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) T(x,y)=\sum_kf_k(y,x)=\sum_{k=1}^K\sum_{i=1}^{n+1}f_k(y_{i-1},y_i,x,i) T(x,y)=kfk(y,x)=k=1Ki=1n+1fk(yi1,yi,x,i)

(2-2)更新 w k w_k wk值: w k ← w k + δ k w_k\leftarrow w_k+\delta_k wkwk+δk

(3)如果不是所有的 w k w_k wk都收敛,重复步骤(2)。

4.2 拟牛顿法

条件随机场模型学习的BFGS算法

输入 特征函数 t 1 , t 2 , . . . , t K 1 , s 1 , s 2 , . . . , s K 2 t_1,t_2,...,t_{K_1},s_1,s_2,...,s_{K_2} t1,t2,...,tK1,s1,s2,...,sK2;经验分布 P ~ ( x , y ) \tilde P(x,y) P~(x,y)

输出 参数估计值 w ^ \hat w w^;模型 P w ^ ( y ∣ x ) P_{\hat w}(y|x) Pw^(yx)

(1)设定初始点 w ( 0 ) w^{(0)} w(0),取 B 0 \bold B_0 B0为正定对称正定矩阵,置 k = 0 k=0 k=0

(2)计算 g k = g ( w ( k ) ) g_k=g(w^{(k)}) gk=g(w(k))。若 g k = 0 g_k=0 gk=0,则停止计算;否则转(3);

(3)由 B k p k = − g k B_kp_k=-g_k Bkpk=gk求出 p k p_k pk

(4)一维搜索:求 λ k \lambda_k λk使得 f ( w ( k ) + λ k p k ) = min ⁡ λ ≥ 0 f ( w ( k ) + λ p k ) f(w^{(k)}+\lambda_kp_k)=\min_{\lambda\geq0}f(w^{(k)}+\lambda p_k) f(w(k)+λkpk)=λ0minf(w(k)+λpk)

(5)置 w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)}=w^{(k)}+\lambda_kp_k w(k+1)=w(k)+λkpk

(6)计算 g k = g ( w ( k + 1 ) ) g_k=g(w^{(k+1)}) gk=g(w(k+1)),若 g k + 1 = 0 g_{k+1}=0 gk+1=0,则停止计算;否则,按下式求出 B k + 1 B_{k+1} Bk+1 B k + 1 = B k y k y k T y k T δ k − B k δ k δ k T B k δ k T B k δ k B_{k+1}=B_k\frac{y_ky_k^{\rm T}}{y_k^{\rm T}\delta_k}-\frac{B_k\delta_k\delta_k^{\rm T}B_k}{\delta_k^{\rm T}B_k\delta_k} Bk+1=BkykTδkykykTδkTBkδkBkδkδkTBk

其中: y k = g k + 1 − g k ,     δ k = w ( k + 1 ) − w ( k ) y_k=g_{k+1}-g_k,\ \ \ \delta_k=w^{(k+1)}-w^{(k)} yk=gk+1gk,   δk=w(k+1)w(k)

(7)置 k = k + 1 k=k+1 k=k+1,转(3)。


5. 条件随机场的预测算法

条件随机场预测的维特比算法

输入 模型特征向量 F ( x , y ) F(x,y) F(x,y)和权值向量 w w w,观测序列 x = ( x 1 , x 2 , . . . , n ) x=(x_1,x_2,...,_n) x=(x1,x2,...,n)

输出 最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ ) y^*=(y_1^*,y_2^*,...,y_n^*) y=(y1,y2,...,yn)

(1)初始化: δ 1 ( j ) = w ⋅ F 1 ( y 0 = s t a r t , y 1 = j , x ) ,     j = 1 , 2 , . . . , m \delta_1(j)=w\cdot F_1(y_0={\rm start},y_1=j,x),\ \ \ j=1,2,...,m δ1(j)=wF1(y0=start,y1=j,x),   j=1,2,...,m

(2)递推。对 i = 2 , 3 , . . . , n i=2,3,...,n i=2,3,...,n δ i ( l ) = max ⁡ 1 ≤ j ≤ m { δ i − 1 ( j ) + w ⋅ F ( y i − 1 = j , y i = l , x ) } ,     l = 1 , 2 , . . . , m \delta_i(l)=\max_{1\leq j\leq m}\{\delta_{i-1}(j)+w\cdot F(y_{i-1}=j,y_i=l,x)\},\ \ \ l=1,2,...,m δi(l)=1jmmax{δi1(j)+wF(yi1=j,yi=l,x)},   l=1,2,...,m

Ψ i ( l ) = arg ⁡ max ⁡ 1 ≤ j ≤ m 1 ≤ j ≤ m { δ i − 1 ( j ) + w ⋅ F ( y i − 1 = j , y i = l , x ) } ,     l = 1 , 2 , . . . , m \Psi_i(l)=\arg\max_{1\leq j\leq m}{1\leq j\leq m}\{\delta_{i-1}(j)+w\cdot F(y_{i-1}=j,y_i=l,x)\},\ \ \ l=1,2,...,m Ψi(l)=arg1jmmax1jm{δi1(j)+wF(yi1=j,yi=l,x)},   l=1,2,...,m

(3)终止: max ⁡ y ( w ⋅ F ( y , x ) ) = max ⁡ 1 ≤ j ≤ m δ n ( j ) \max_y(w\cdot F(y,x))=\max_{1\leq j\leq m}\delta_n(j) ymax(wF(y,x))=1jmmaxδn(j)

y n ∗ = arg ⁡ max ⁡ 1 ≤ j ≤ m δ n ( j ) y_n^*=\arg\max_{1\leq j\leq m}\delta_n(j) yn=arg1jmmaxδn(j)

(4)返回路径: y i ∗ = Ψ i + 1 ( y i + 1 ∗ ) ,     i = n − 1 , n − 2 , . . . , 1 y_i^*=\Psi_{i+1}(y_{i+1}^*),\ \ \ i=n-1,n-2,...,1 yi=Ψi+1(yi+1),   i=n1,n2,...,1

求得最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ ) y^*=(y_1^*,y_2^*,...,y_n^*) y=(y1,y2,...,yn)

解例题 用维特比算法求给定的输入序列 x x x对应的最优输出序列 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ ) y^*=(y_1^*,y_2^*,...,y_n^*) y=(y1,y2,...,yn)

(1)初始化: δ 1 ( j ) = w ⋅ F 1 ( y 0 = s t a r t , y 1 = j , x ) ,     j = 1 , 2 \delta_1(j)=w\cdot F_1(y_0={\rm start},y_1=j,x),\ \ \ j=1,2 δ1(j)=wF1(y0=start,y1=j,x),   j=1,2

i = 1 i=1 i=1 δ 1 ( 1 ) = 1 \delta_1(1)=1 δ1(1)=1 δ 1 ( 2 ) = 0.5 \delta_1(2)=0.5 δ1(2)=0.5

(2)递推: i = 2     δ 2 ( l ) = max ⁡ j { δ 1 ( j ) + w ⋅ F 2 ( j , l , x ) } δ 2 ( 1 ) = max ⁡ { 1 + λ 2 t 2 + μ 3 s 3 , 0.5 + λ 4 t 4 + μ 3 s 3 } = 2.4 ,     Ψ 2 ( 1 ) = 1 δ 2 ( 2 ) = max ⁡ { 1 + λ 1 t 1 + μ 2 s 2 , 0.5 + μ 2 s 2 } = 2.5 ,     Ψ 2 ( 2 ) = 1 \begin{aligned} i=2\ \ \ & \delta_2(l)=\max_j\{\delta_1(j)+w\cdot F_2(j,l,x)\}\\&\delta_2(1)=\max\{1+\lambda_2t_2+\mu_3s_3,0.5+\lambda_4t_4+\mu_3s_3\}=2.4,\ \ \ \Psi_2(1)=1\\&\delta_2(2)=\max\{1+\lambda_1t_1+\mu_2s_2,0.5+\mu_2s_2\}=2.5,\ \ \ \Psi_2(2)=1 \end{aligned} i=2   δ2(l)=jmax{δ1(j)+wF2(j,l,x)}δ2(1)=max{1+λ2t2+μ3s3,0.5+λ4t4+μ3s3}=2.4,   Ψ2(1)=1δ2(2)=max{1+λ1t1+μ2s2,0.5+μ2s2}=2.5,   Ψ2(2)=1

i = 3     δ 2 ( l ) = max ⁡ j { δ 2 ( j ) + w ⋅ F 4 ( j , l , x ) } δ 3 ( 1 ) = max ⁡ { 2.4 + μ 3 s 3 , 2.5 + λ 3 t 3 + μ 3 s 3 } = 4.3 ,     Ψ 2 ( 1 ) = 2 δ 3 ( 2 ) = max ⁡ { 2.4 + λ 1 t 1 + μ 4 s 4 , 2.5 + λ 5 t 5 + μ 4 s 4 } = 3.9 ,     Ψ 3 ( 2 ) = 1 \begin{aligned} i=3\ \ \ & \delta_2(l)=\max_j\{\delta_2(j)+w\cdot F_4(j,l,x)\}\\&\delta_3(1)=\max\{2.4+\mu_3s_3,2.5+\lambda_3t_3+\mu_3s_3\}=4.3,\ \ \ \Psi_2(1)=2\\&\delta_3(2)=\max\{2.4+\lambda_1t_1+\mu_4s_4,2.5+\lambda_5t_5+\mu_4s_4\}=3.9,\ \ \ \Psi_3(2)=1 \end{aligned} i=3   δ2(l)=jmax{δ2(j)+wF4(j,l,x)}δ3(1)=max{2.4+μ3s3,2.5+λ3t3+μ3s3}=4.3,   Ψ2(1)=2δ3(2)=max{2.4+λ1t1+μ4s4,2.5+λ5t5+μ4s4}=3.9,   Ψ3(2)=1

(3)终止: max ⁡ y ( w ⋅ F ( y , x ) ) = max ⁡ δ 3 ( l ) = δ 3 ( l ) = 4.3 \max_y(w\cdot F(y,x))=\max\delta_3(l)=\delta_3(l)=4.3 ymax(wF(y,x))=maxδ3(l)=δ3(l)=4.3

y n ∗ = arg ⁡ max ⁡ l δ 3 ( j ) = 1 y_n^*=\arg\max_l\delta_3(j)=1 yn=arglmaxδ3(j)=1

(4)返回:
y 2 ∗ = Ψ 3 ( y 3 ∗ ) = Ψ 3 ( 1 ) = 2 y_2^*=\Psi_3(y_3^*)=\Psi_3(1)=2 y2=Ψ3(y3)=Ψ3(1)=2

y 1 ∗ = Ψ 2 ( y 2 ∗ ) = Ψ 2 ( 2 ) = 1 y_1^*=\Psi_2(y_2^*)=\Psi_2(2)=1 y1=Ψ2(y2)=Ψ2(2)=1

最优标记序列: y ∗ = ( y 1 ∗ , y 2 ∗ , y 3 ∗ ) = ( 1 , 2 , 1 ) y^*=(y_1^*,y_2^*,y_3^*)=(1,2,1) y=(y1,y2,y3)=(1,2,1)


6. 条件随机场总结

条件随机场是给定输入随机变量 X X X条件下,输出随机变量 Y Y Y的条件概率分布模型,其形式为参数化的对数线性模型。线性链条件随机场是定义在观测序列与标记序列上的条件随机场,其一般表示为给定观测序列条件下的标记序列的条件概率分布。线性链条件随机场的概率计算通常利用前向-后向算法,学习方法通常是极大似然估计方法或正则化的极大似然估计,维特比算法是给定观测序列求条件概率最大的标记序列的方法。


参考

  1. 统计学习方法/李航著。—2版。—北京:清华大学出版社,2019(2019.6重印).


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值