【ML】条件随机场 —— 形式化定义与参数

本文深入探讨概率图模型,包括无向图模型及其马尔可夫性质,介绍了因子分解定理。接着,重点讲解条件随机场,特别是线性链条件随机场在标注问题中的应用,阐述其参数化形式、向量化表示和矩阵形式。通过对实例的计算,展示了条件随机场如何计算概率和进行预测。
摘要由CSDN通过智能技术生成
  • 第一部分给出概率图模型的定义与性质,以及对它意义重大的因子分解定理;第二部分给出条件随机场本质是概率图模型这一定义,而后针对使用最多的线性链条件随机场给出概率计算以及参数学习算法。

概率无向图.

  • 概率图模型 Probabilistic Graphical Model 是借助图表示的概率分布,现假设有联合概率分布 P ( Y ) , Y ∈ Y P(Y),Y\in\mathcal Y P(Y),YY一组随机变量,我们以无向图 G = ( V , E ) G=(V,E) G=(V,E) 来表示这一概率分布,其中顶点 v ∈ V v\in V vV 表示一个随机变量 Y v Y_v Yv,边 e ∈ E e\in E eE 表示随机变量之间的概率依赖关系。
  • 概率图模型需要满足马尔可夫性,并且在图表示中,马尔可夫性的表现形式可以是如下三种,不难验证它们本质上是等价的。
  • 成对马尔可夫性 Pairwise】对于无向图 G G G任意两个没有边连接的顶点 u , v u,v u,v,它们对应的随机变量分别为 Y u , Y v Y_u,Y_v Yu,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)\cdot P(Y_v|Y_O) P(Yu,YvYO)=P(YuYO)P(YvYO)
  • 局部马尔可夫性 Local】设 v v v 是无向图 G G G 中的任意一个顶点, W W W 为所有与 v v v 有边相连的顶点集合, O O O 是除 v , W v,W v,W 以外的所有顶点集合,它们对应的随机变量、随机变量组分别为 Y v , Y W , Y O Y_v,Y_W,Y_O Yv,YW,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)\cdot P(Y_O|Y_W) P(Yv,YOYW)=P(YvYW)P(YOYW)并且根据贝叶斯公式,当 P ( Y O ∣ Y W ) > 0 P(Y_O|Y_W)>0 P(YOYW)>0 时我们有: P ( Y v ∣ Y W ) = P ( Y v , Y O ∣ Y W ) P ( Y O ∣ Y W ) = P ( Y v ∣ Y W , Y O ) P(Y_v|Y_W)=\frac{P(Y_v,Y_O|Y_W)}{P(Y_O|Y_W)}=P(Y_v|Y_W,Y_O) P(YvYW)=P(YOYW)P(Yv,YOYW)=P(YvYW,YO)直观上来看,给定条件 Y W Y_W YW Y v Y_v Yv 的概率分布和给定条件为 Y W ∧ Y O Y_W\wedge Y_O YWYO Y v Y_v Yv 的概率分布相同,我们可以简单地认为 Y O Y_O YO 并不会影响 Y v Y_v Yv 的概率分布,但严格上还需要注意这里是条件独立,与二者独立还是有区别的: P ( Y v , Y O ) = P ( Y v ) ⋅ P ( Y O ) P(Y_v,Y_O)=P(Y_v)\cdot P(Y_O) P(Yv,YO)=P(Yv)P(YO)
    在这里插入图片描述
    上图中蓝色点为 v v v,红色点集合为 W W W,其余所有灰色节点为 O . O. O.
  • 全局马尔可夫性 Global】设顶点集合 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)\cdot P(Y_B|Y_C) P(YA,YBYC)=P(YAYC)P(YBYC)
    在这里插入图片描述
    上图中 X A , X C X_A,X_C XA,XC 在给定条件 X B X_B XB 下是条件独立的。
  • Defn】对于联合概率分布 P ( Y ) P(Y) P(Y),由无向图 G = ( V , E ) G=(V,E) G=(V,E) 表示,其中顶点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布 P ( Y ) P(Y) P(Y) 满足上述三种马尔可夫性的一种,那么就称此联合概率分布为 概率无向图模型PGM马尔可夫随机场MRF.
  • 对于给定的概率无向图模型,我们更关心的是如何求出其表示的联合概率分布,因子分解定理的意义就是 —— 整体的联合概率分布可以表示为若干个子联合概率分布的乘积。

  • 在给出因子分解定理之前,我们回忆一下图论中极大团的定义,无向图 G G G 中任意两个顶点之间均有边相连的顶点集合称为,显然团与其确定的边构成完全图;而图 G G G 的极大团则意味着该团中不能再加入任何一个 G G G 中顶点使其成为一个更大的团,称之为极大团maximal clique.
    在这里插入图片描述
  • 对于上图而言,下面的顶点集都是它的团:
    在这里插入图片描述- 但显然 { 0 , 5 } \{0,5\} {0,5} 中可以加入顶点 4 4 4 使之成为更大的团,因此 { 0 , 5 } \{0,5\} {0,5} 不是极大团,但显然上述图中并不存在完全图 K 4 K_4 K4,因此我们可以断言 { 0 , 4 , 5 } , { 1 , 2 , 4 } \{0,4,5\},\{1,2,4\} {0,4,5},{1,2,4} 均为极大团。上图的全部极大团如下:
    在这里插入图片描述
    注意到 { 3 , 4 } \{3,4\} {3,4} 是顶点数为 2 2 2 的极大团,向其中加入任何一个顶点都会使其不再是团,另外还有最大团的概念,即基数最大的极大团,也就是上图中的前三个极大团,它们基数相同,均为 3. 3. 3.

  • 将概率无向图的联合概率分布表示为其极大团上的随机变量组的函数乘积形式,称为概率无向图的因子分解Factorization. 给定概率无向图 G = ( V , E ) G=(V,E) G=(V,E) C C C 表示图 G G G 的极大团, Y C Y_C YC 表示对应的随机变量组,那么联合概率分布 P ( Y ) P(Y) P(Y) 可以表示如下: P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) (1) P(Y)=\frac1Z\prod_C\Psi_C(Y_C)\tag{1} P(Y)=Z1CΨC(YC)(1)其中 Ψ C \Psi_C ΨC 被称为势函数,要求是严格正的,常见形式为指数函数: Ψ C ( Y C ) = exp ⁡ ( − E [ Y C ] ) \Psi_C(Y_C)=\exp\Big(-E[Y_C]\Big) ΨC(YC)=exp(E[YC]) Z Z Z 是规范化因子,保证 P ( Y ) P(Y) P(Y) 构成概率分布,由下式给出: Z = ∑ Y ∏ C Ψ C ( Y C ) Z=\sum_Y\prod_C\Psi_C(Y_C) Z=YCΨC(YC) 这里对 Y Y Y 求和的意义并不直观,个人理解是对所有可能的随机变量取值求和,这样可以和后续条件随机场中的物理意义相一致。
  • 上述定理即为因子分解定理,也由于提出者的名字被称为 Hammersley-Clifford 定理,它的意义就是概率无向图所表示的联合概率分布可以被写作其所有极大团对应随机变量组势函数的乘积形式,注意乘积的对象是所有极大团。

条件随机场.

  • 条件随机场 Conditional Random Field是给定随机变量 X X X 条件下随机变量 Y Y Y 的马尔可夫随机场(概率无向图),本篇主要讲述的是定义在线性链上的特殊条件随机场,称为线性链条件随机场,多用于标注问题。条件随机场的模型形式为 P ( Y ∣ X ) P(Y|X) P(YX),其中 Y Y Y 是输出变量,可以视作标注序列; X X X 是输入变量,是待标注的观测序列。
  • 类比隐马尔科夫模型中观测序列和状态序列的概念,我们也将 Y Y Y 称作状态序列,在学习时我们利用训练数据集,进行极大似然估计(正则化极大似然估计)来得到条件概率模型 P ^ ( Y ∣ X ) \hat P(Y|X) P^(YX);预测时对于给定的观测序列 x x x,输出 arg max ⁡ y P ^ ( y ∣ x ) \argmax_y\hat P(y|x) yargmaxP^(yx) 即可。
  • 条件随机场的形式化定义如下:设 X , Y X,Y X,Y 是随机变量, P ( Y ∣ X ) P(Y|X) P(YX) 是在给定 X X X 条件下 Y Y Y 的条件概率分布,如果 Y Y Y 构成一个马尔可夫随机场(由无向图 G G G 表示),并且下式: P ( Y v ∣ X , Y u , u ≠ v ) = P ( Y v ∣ X , Y u , u ∼ v ) P(Y_v|X,Y_u,u\neq v)=P(Y_v|X,Y_u,u\sim v) P(YvX,Yu,u=v)=P(YvX,Yu,uv)对于任意的 v v v 都成立,则称条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 为条件随机场。
  • 其中 u ≠ v u\neq v u=v 表示除顶点 v v v 以外的所有顶点, u ∼ v u\sim v uv 表示和 v v v 有边连接的所有顶点, Y v , Y u Y_v,Y_u Yv,Yu 表示与之对应的随机变量,上式直观来看说明了只有那些 v v v 直接相连的顶点才存在随机变量之间的依赖关系。

  • 线性链条件随机场】设 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 i ∣ X , Y 1 , Y 2 , ⋯   , Y i − 1 , Y i + 1 , ⋯   , Y n ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) P(Y_i|X,Y_1,Y_2,\cdots,Y_{i-1},Y_{i+1},\cdots,Y_n)=P(Y_i|X,Y_{i-1},Y_{i+1}) P(YiX,Y1,Y2,,Yi1,Yi+1,,Yn)=P(YiX,Yi1,Yi+1)那么条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 就成为线性链条件随机场,注意上式在 i = 1 , i = n i=1,i=n i=1,i=n 时需要特殊考虑。

条件随机场参数化.

  • 以下所有的讨论都是针对线性链条件随机场而言的,简记为条件随机场。其直观形式如下图所示:
    在这里插入图片描述
    我们进行形式化推导时一般以第一种 —— 将 X X X 表示为单个顶点为辅助理解图。
  • 对上述线性链条件随机场应用因子分解定理,即条件概率分布 P ( Y ∣ X ) , Y = { Y 1 , Y 2 , ⋯   , Y n } P(Y|X),Y=\{Y_1,Y_2,\cdots,Y_n\} P(YX),Y={Y1,Y2,,Yn} 可以被表示为因子乘积的形式 ,其中每个因子是定义在极大团上的势函数,并且借助上图我们可以发现,对于以 { Y 1 , Y 2 , ⋯   , Y n } \{Y_1,Y_2,\cdots,Y_n\} {Y1,Y2,,Yn} 为顶点的概率图模型而言,其极大团就是相邻的两个顶点,我们定义如下形式的势函数: ln ⁡ Ψ C ( Y C ) = ln ⁡ Ψ C ( y i − 1 , y i ) = ∑ k λ k ⋅ t k ( y i − 1 , y i , x , i ) + ∑ l μ l ⋅ s l ( y i , x , i ) \ln\Psi_C(Y_C)=\ln\Psi_C(y_{i-1},y_i)=\sum_k\lambda_k\cdot t_k(y_{i-1},y_i,x,i)+\sum_{l}\mu_l\cdot s_l(y_i,x,i) lnΨC(YC)=lnΨC(yi1,yi)=kλktk(yi1,yi,x,i)+lμlsl(yi,x,i)因此对于 ( 1 ) (1) (1) 式而言,我们有: P ( Y ∣ X ) = 1 Z ( x ) ∏ C Ψ C ( Y C ) = 1 Z ( x ) exp ⁡ ( ∑ i ln ⁡ Ψ C ( y i − 1 , y i ) ) P(Y|X)=\frac1{Z(x)}\prod_C\Psi_C(Y_C)=\frac1{Z(x)}\exp\Big(\sum_i\ln\Psi_C(y_{i-1},y_i)\Big) P(YX)=Z(x)1CΨC(YC)=Z(x)1exp(ilnΨC(yi1,yi))因此我们得到线性链条件随机场的参数化形式: 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 ) ) (2) P(Y|X)=\frac1{Z(x)}\exp\Big(\sum_i\sum_k\lambda_k\cdot t_k(y_{i-1},y_i,x,i)+\sum_i\sum_l\mu_l\cdot s_l(y_i,x,i)\Big)\tag{2} P(YX)=Z(x)1exp(ikλktk(yi1,yi,x,i)+ilμlsl(yi,x,i))(2)
  • 其中 t k , s l t_k,s_l tk,sl 被称为特征函数 λ k , μ l \lambda_k,\mu_l λk,μl 是对应的权值,而规范化因子 Z ( x ) Z(x) Z(x) 的计算方法如下: Z ( x ) = ∑ y exp ⁡ ( ∑ i ln ⁡ Ψ C ( y i − 1 , y i ) ) Z(x)=\sum_y\exp\Big(\sum_i\ln\Psi_C(y_{i-1},y_i)\Big) Z(x)=yexp(ilnΨC(yi1,yi))其求和的对象是所有可能的输出序列。
  • t k ( ⋅ ) t_k(\cdot) tk() 是定义在概率图中边上的特征函数,称为转移特征,依赖于当前位置和前一位置,同一条边上可以有不同的边特征函数 t k 1 ( ⋅ ) , t k 2 ( ⋅ ) t_{k1}(\cdot),t_{k2}(\cdot) tk1(),tk2();对应的, s l ( ⋅ ) s_l(\cdot) sl() 是定义在概率图中顶点上的特征函数,称为状态特征,依赖于当前位置。可以归纳发现,特征函数 t k , s l t_k,s_l tk,sl 都依赖于局部位置,是局部特征函数,通常定义为 { 0 , 1 } \{0,1\} {0,1} 二值函数,满足特征条件时取 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 i ∈ { 0 , 1 } . Y=\{Y_1,Y_2,Y_3\},Y_i\in\{0,1\}. Y={Y1,Y2,Y3},Yi{0,1}.
  • 对于转移特征函数,我们定义如下: t 1 = t 1 ( y 1 = 1 , y 2 = 2 , x , 2 ) ,   λ 1 = 1 t_1=t_1(y_1=1,y_2=2,x,2),~\lambda_1=1 t1=t1(y1=1,y2=2,x,2), λ1=1 t 2 = t 2 ( y 2 = 1 , y 3 = 2 , x , 3 ) ,   λ 2 = 1 t_2=t_2(y_2=1,y_3=2,x,3),~\lambda_2=1 t2=t2(y2=1,y3=2,x,3), λ2=1 t 3 = t 3 ( y 1 = 1 , y 2 = 1 , x , 2 ) ,   λ 3 = 0.6 t_3=t_3(y_1=1,y_2=1,x,2),~\lambda_3=0.6 t3=t3(y1=1,y2=1,x,2), λ3=0.6 t 4 = t 4 ( y 2 = 2 , y 3 = 1 , x , 3 ) ,   λ 4 = 1 t_4=t_4(y_2=2,y_3=1,x,3),~\lambda_4=1 t4=t4(y2=2,y3=1,x,3), λ4=1 t 5 = t 5 ( y 1 = 2 , y 2 = 1 , x , 2 ) ,   λ 5 = 1 t_5=t_5(y_1=2,y_2=1,x,2),~\lambda_5=1 t5=t5(y1=2,y2=1,x,2), λ5=1 t 6 = t 6 ( y 2 = 2 , y 3 = 2 , x , 3 ) ,   λ 6 = 0.2 t_6=t_6(y_2=2,y_3=2,x,3),~\lambda_6=0.2 t6=t6(y2=2,y3=2,x,3), λ6=0.2可以发现在同一条边上存在不同的转移特征函数,它们对应的权值由 λ i \lambda_i λi 表示。
  • 对于状态特征函数,定义如下: s 1 = s 1 ( y 1 = 1 , x , 1 ) ,   μ 1 = 1 s_1=s_1(y_1=1,x,1),~\mu_1=1 s1=s1(y1=1,x,1), μ1=1 s 2 = s 2 ( y 1 = 2 , x , 1 ) ,   μ 2 = 0.5 s_2=s_2(y_1=2,x,1),~\mu_2=0.5 s2=s2(y1=2,x,1), μ2=0.5 s 3 = s 3 ( y 2 = 2 , x , 2 ) ,   μ 3 = 0.5 s_3=s_3(y_2=2,x,2),~\mu_3=0.5 s3=s3(y2=2,x,2), μ3=0.5 s 4 = s 4 ( y 2 = 1 , x , 2 ) ,   μ 4 = 0.8 s_4=s_4(y_2=1,x,2),~\mu_4=0.8 s4=s4(y2=1,x,2), μ4=0.8 s 5 = s 5 ( y 3 = 1 , x , 3 ) ,   μ 5 = 0.8 s_5=s_5(y_3=1,x,3),~\mu_5=0.8 s5=s5(y3=1,x,3), μ5=0.8 s 6 = s 6 ( y 3 = 2 , x , 3 ) ,   μ 6 = 0.5 s_6=s_6(y_3=2,x,3),~\mu_6=0.5 s6=s6(y3=2,x,3), μ6=0.5可以发现对于相同的顶点,也存在不同的状态特征函数,其权值由 μ i \mu_i μi 表示。
  • 对于给定的观测序列 x x x,如果我们要求输出状态序列为 y = ( 1 , 2 , 2 ) y=(1,2,2) y=(1,2,2) 的非规范化概率,即没有除以 Z ( x ) Z(x) Z(x) 的值,计算方法为: P ( y = ( 1 , 2 , 2 ) ∣ x ) ∝ exp ⁡ [ ∑ k = 1 6 λ k ∑ i = 2 3 t k ( y i − 1 , y i , x , i ) + ∑ l = 1 6 μ l ∑ i = 1 3 s l ( y i , x , i ) ] P\Big(y=(1,2,2)|x\Big)\propto\exp\Big[\sum_{k=1}^6\lambda_k\sum_{i=2}^3t_k(y_{i-1},y_i,x,i)+\sum_{l=1}^6\mu_l\sum_{i=1}^3s_l(y_i,x,i)\Big] P(y=(1,2,2)x)exp[k=16λki=23tk(yi1,yi,x,i)+l=16μli=13sl(yi,x,i)]代入实际数值计算后得到指数部分为: λ 1 ⋅ t 1 ( 1 , 2 , x , 2 ) + λ 6 ⋅ t 6 ( 2 , 2 , x , 3 ) + μ 1 ⋅ s 1 ( 1 , x , 1 ) + μ 3 ⋅ s 3 ( 2 , x , 2 ) + μ 6 ⋅ s 6 ( 2 , x , 3 ) = 3.2 \lambda_1\cdot t_1(1,2,x,2)+\lambda_6\cdot t_6(2,2,x,3)+\mu_1\cdot s_1(1,x,1)+\mu_3\cdot s_3(2,x,2)+\mu_6\cdot s_6(2,x,3)=3.2 λ1t1(1,2,x,2)+λ6t6(2,2,x,3)+μ1s1(1,x,1)+μ3s3(2,x,2)+μ6s6(2,x,3)=3.2因此: P ( y = ( 1 , 2 , 2 ) ∣ x ) ∝ exp ⁡ ( 3.2 ) P\Big(y=(1,2,2)|x\Big)\propto\exp(3.2) P(y=(1,2,2)x)exp(3.2)

条件随机场向量化.

  • 在上一部分参数化的基础上,对条件随机场进行向量化。声明:这一步骤不涉及本质问题,仅仅是数学形式上的等价推导。
  • 考察 ( 2 ) (2) (2) 式我们发现,每个特征函数 t k , s l t_k,s_l tk,sl 都对于位置参数 i i i 进行了求和操作,我们尝试先进行局部特征函数对于位置参数的求和,得到全局特征函数,具体操作如下:我们有 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,\cdots,K_1\\ &s_l(y_i,x,i),k=K_1+l,l=1,2,\cdots,K_2 \end{aligned} \right. fk(yi1,yi,x,i)={tk(yi1,yi,x,i),k=1,2,,K1sl(yi,x,i),k=K1+l,l=1,2,,K2相应地权值定义如下: w k = { λ k , k = 1 , 2 , ⋯   , K 1 μ l , k = K 1 + l , l = 1 , 2 , ⋯   , K 2 w_k=\left\{ \begin{aligned} &\lambda_k,k=1,2,\cdots,K_1\\ &\mu_l,k=K_1+l,l=1,2,\cdots,K_2 \end{aligned} \right. wk={λk,k=1,2,,K1μl,k=K1+l,l=1,2,,K2
  • 将函数 f k f_k fk 对位置参数 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}^nf_k(y_{i-1},y_i,x,i),~k=1,2,\cdots,K fk(y,x)=i=1nfk(yi1,yi,x,i), k=1,2,,K于是 ( 2 ) (2) (2) 式可以改写为: P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ( ∑ k = 1 K w k ⋅ f k ( y , x ) ) P(y|x)=\frac1{Z(x)}\exp\Big(\sum_{k=1}^Kw_k\cdot f_k(y,x)\Big) P(yx)=Z(x)1exp(k=1Kwkfk(y,x)) Z ( x ) = ∑ y exp ⁡ ( ∑ k = 1 K w k ⋅ f k ( y , x ) ) Z(x)=\sum_y\exp\Big(\sum_{k=1}^Kw_k\cdot f_k(y,x)\Big) Z(x)=yexp(k=1Kwkfk(y,x))
  • 进一步向量化,令: w = ( w 1 , w 2 , ⋯   , w K ) T w=(w_1,w_2,\cdots,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)=\Big(f_1(y,x),f_2(y,x),\cdots,f_K(y,x)\Big)^T F(y,x)=(f1(y,x),f2(y,x),,fK(y,x))T那么上式可以进一步简化为: P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ( w ⋅ F ( y , x ) ) P(y|x)=\frac1{Z(x)}\exp\Big(w\cdot F(y,x)\Big) P(yx)=Z(x)1exp(wF(y,x)) Z ( x ) = ∑ y exp ⁡ ( w ⋅ F ( y , x ) ) Z(x)=\sum_y\exp\Big(w\cdot F(y,x)\Big) Z(x)=yexp(wF(y,x))

条件随机场矩阵形式.

  • 矩阵形式不同于前面的直接参数化 ( 2 ) (2) (2) 式,基于条件随机场的矩阵形式能够快速计算出给定输入序列 x x x 条件下某个状态序列 y y y 的条件概率 P ( y ∣ x ) . P(y|x). P(yx). 在矩阵形式中我们对于每个状态序列引入一个特殊的起点 y 0 y_0 y0 和特殊的终点 y n + 1 . y_{n+1}. yn+1.
  • 对于从 i = 1 , 2 , ⋯   , n + 1 i=1,2,\cdots,n+1 i=1,2,,n+1 范围内的 y i − 1 , y i y_{i-1},y_i yi1,yi 而言,我们假设它们的取值集合基数为 m m m,那么我们可以定义一个 m m m 阶的矩阵 M i ( x ) M_i(x) Mi(x),其中的元素为: M i ( x ) [ y i − 1 , y i ] = exp ⁡ ( ∑ k = 1 K w k ⋅ f k ( y i − 1 , y i , x , i ) ) M_i(x){[y_{i-1},y_i]}=\exp\Big(\sum_{k=1}^Kw_k\cdot f_k(y_{i-1},y_i,x,i)\Big) Mi(x)[yi1,yi]=exp(k=1Kwkfk(yi1,yi,x,i))
  • 基于这样的定义,给定观测序列 x x x,某个状态序列 y y y 的非规范化概率就可以通过 n + 1 n+1 n+1 个矩阵 M i ( x ) M_i(x) Mi(x) 中对应位置元素的乘积来得到,即: P ( y ∣ x ) ∝ ∏ i = 1 n + 1 M i ( x ) [ y i − 1 , y i ] = M 1 ( x ) [ y 0 , y 1 ] ⋅ M 2 ( x ) [ y 1 , y 2 ] ⋯ M n + 1 ( x ) [ y n , y n + 1 ] P(y|x)\propto\prod_{i=1}^{n+1}M_i(x)[y_{i-1},y_i]=M_1(x)[y_0,y_1]\cdot M_2(x)[y_1,y_2]\cdots M_{n+1}(x)[y_n,y_{n+1}] P(yx)i=1n+1Mi(x)[yi1,yi]=M1(x)[y0,y1]M2(x)[y1,y2]Mn+1(x)[yn,yn+1]对上式进行规范化得到: P ( y ∣ x ) = 1 Z ( x ) ∏ i = 1 n + 1 M i ( x ) [ y i − 1 , y i ] P(y|x)=\frac1{Z(x)}\prod_{i=1}^{n+1}M_i(x)[y_{i-1},y_i] P(yx)=Z(x)1i=1n+1Mi(x)[yi1,yi] Z ( x ) = ( ∏ i = 1 n + 1 M i ( x ) ) [ y 0 , y n + 1 ] Z(x)=\Big(\prod_{i=1}^{n+1}M_i(x)\Big)[y_0,y_{n+1}] Z(x)=(i=1n+1Mi(x))[y0,yn+1]
  • 在我们的假设中, y 0 y_0 y0 y n + 1 y_{n+1} yn+1 分别是起始与终止状态,而 Z ( x ) Z(x) Z(x) 是所有以 y 0 y_0 y0 为起始状态, y n + 1 y_{n+1} yn+1 为终止状态的路径 y 1 y 2 ⋯ y n y_1y_2\cdots y_n y1y2yn 的非规范化概率之和。

  • 出于前后统一,并起到验证作用,我们对条件随机场参数化中给出的例子,采用矩阵形式进行计算,矩阵的计算我们选取三个矩阵作为示例详细计算,一头一尾以及中间的某个矩阵: M 1 ( x ) , M 4 ( x ) , M 2 ( x ) M_1(x),M_4(x),M_2(x) M1(x),M4(x),M2(x),并且本例中我们假设 y 0 = 1 , y 4 = 1. y_0=1,y_4=1. y0=1,y4=1.
  • 对于 M 1 ( x ) M_1(x) M1(x) 而言,其元素的计算式如下: M 1 ( x ) [ y 0 , y 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( y 0 , y 1 , x , 1 ) ) M_1(x)[y_0,y_1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(y_0,y_1,x,1)\Big) M1(x)[y0,y1]=exp(k=112wkfk(y0,y1,x,1))由于前面假定了 y 0 = 1 y_0=1 y0=1,所以我们只需要计算元素 [ 1 , 1 ] , [ 1 , 2 ] [1,1],[1,2] [1,1],[1,2],其计算式分别为: M 1 ( x ) [ 1 , 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 1 , x , 1 ) ) = exp ⁡ ( 1 ) M_1(x)[1,1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,1,x,1)\Big)=\exp(1) M1(x)[1,1]=exp(k=112wkfk(1,1,x,1))=exp(1) M 1 ( x ) [ 1 , 2 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 2 , x , 1 ) ) = exp ⁡ ( 0.5 ) M_1(x)[1,2]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,2,x,1)\Big)=\exp(0.5) M1(x)[1,2]=exp(k=112wkfk(1,2,x,1))=exp(0.5)因此我们不难得到矩阵 M 1 ( x ) M_1(x) M1(x) 的数值: M 1 ( x ) = [ exp ⁡ ( 1 ) exp ⁡ ( 0.5 ) 0 0 ] M_1(x)=\left[ \begin{matrix} \exp(1) & \exp(0.5) \\ 0 & 0 \end{matrix} \right] M1(x)=[exp(1)0exp(0.5)0]
  • 对于 M 2 ( x ) M_2(x) M2(x) 而言,其元素 [ 1 , 1 ] , [ 1 , 2 ] , [ 2 , 1 ] , [ 2 , 2 ] [1,1],[1,2],[2,1],[2,2] [1,1],[1,2],[2,1],[2,2] 都是需要我们计算的,其计算式分别为: M 2 ( x ) [ 1 , 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 1 , x , 2 ) ) = exp ⁡ ( 1.4 ) M_2(x)[1,1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,1,x,2)\Big)=\exp(1.4) M2(x)[1,1]=exp(k=112wkfk(1,1,x,2))=exp(1.4) M 2 ( x ) [ 1 , 2 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 2 , x , 2 ) ) = exp ⁡ ( 1.5 ) M_2(x)[1,2]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,2,x,2)\Big)=\exp(1.5) M2(x)[1,2]=exp(k=112wkfk(1,2,x,2))=exp(1.5) M 2 ( x ) [ 2 , 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 2 , 1 , x , 2 ) ) = exp ⁡ ( 1.8 ) M_2(x)[2,1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(2,1,x,2)\Big)=\exp(1.8) M2(x)[2,1]=exp(k=112wkfk(2,1,x,2))=exp(1.8) M 2 ( x ) [ 2 , 2 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 2 , 2 , x , 2 ) ) = exp ⁡ ( 0.5 ) M_2(x)[2,2]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(2,2,x,2)\Big)=\exp(0.5) M2(x)[2,2]=exp(k=112wkfk(2,2,x,2))=exp(0.5)因此 M 2 ( x ) M_2(x) M2(x) 的数值如下: M 2 ( x ) = [ exp ⁡ ( 1.4 ) exp ⁡ ( 1.5 ) exp ⁡ ( 1.8 ) exp ⁡ ( 0.5 ) ] M_2(x)=\left[ \begin{matrix} \exp(1.4) & \exp(1.5) \\ \exp(1.8) & \exp(0.5) \end{matrix} \right] M2(x)=[exp(1.4)exp(1.8)exp(1.5)exp(0.5)]
  • 对于 M 3 ( x ) M_3(x) M3(x) 而言,其元素 [ 1 , 1 ] , [ 1 , 2 ] , [ 2 , 1 ] , [ 2 , 2 ] [1,1],[1,2],[2,1],[2,2] [1,1],[1,2],[2,1],[2,2] 都是需要我们计算的,其计算式分别为: M 3 ( x ) [ 1 , 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 1 , x , 3 ) ) = exp ⁡ ( 0.8 ) M_3(x)[1,1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,1,x,3)\Big)=\exp(0.8) M3(x)[1,1]=exp(k=112wkfk(1,1,x,3))=exp(0.8) M 3 ( x ) [ 1 , 2 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 1 , 2 , x , 3 ) ) = exp ⁡ ( 1.5 ) M_3(x)[1,2]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(1,2,x,3)\Big)=\exp(1.5) M3(x)[1,2]=exp(k=112wkfk(1,2,x,3))=exp(1.5) M 3 ( x ) [ 2 , 1 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 2 , 1 , x , 3 ) ) = exp ⁡ ( 1.8 ) M_3(x)[2,1]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(2,1,x,3)\Big)=\exp(1.8) M3(x)[2,1]=exp(k=112wkfk(2,1,x,3))=exp(1.8) M 3 ( x ) [ 2 , 2 ] = exp ⁡ ( ∑ k = 1 12 w k ⋅ f k ( 2 , 2 , x , 3 ) ) = exp ⁡ ( 0.7 ) M_3(x)[2,2]=\exp\Big(\sum_{k=1}^{12}w_k\cdot f_k(2,2,x,3)\Big)=\exp(0.7) M3(x)[2,2]=exp(k=112wkfk(2,2,x,3))=exp(0.7)因此 M 3 ( x ) M_3(x) M3(x) 的数值如下: M 3 ( x ) = [ exp ⁡ ( 0.8 ) exp ⁡ ( 1.5 ) exp ⁡ ( 1.8 ) exp ⁡ ( 0.7 ) ] M_3(x)=\left[ \begin{matrix} \exp(0.8) & \exp(1.5) \\ \exp(1.8) & \exp(0.7) \end{matrix} \right] M3(x)=[exp(0.8)exp(1.8)exp(1.5)exp(0.7)]
  • 对于 M 4 ( x ) M_4(x) M4(x) 而言,由于假设了 y 4 = 1 y_4=1 y4=1,因此我们仅需要计算 [ 1 , 1 ] , [ 2 , 1 ] [1,1],[2,1] [1,1],[2,1],其计算式结果均为 exp ⁡ ( 0 ) = 1 \exp(0)=1 exp(0)=1,因为特征函数中并没有 i = 4 i=4 i=4 的存在,所以其数值如下: M 4 ( x ) = [ 1 0 1 0 ] M_4(x)=\left[ \begin{matrix} 1 & 0 \\ 1 & 0 \end{matrix} \right] M4(x)=[1100]
  • 写到这里突然发现,上面每个计算式最终的等号都忘了取自然指数,但不影响计算非规范化概率,我们仍然求状态序列 y = ( 1 , 2 , 2 ) y=(1,2,2) y=(1,2,2) 的条件概率,可以得到: P ( y = ( 1 , 2 , 2 ) ∣ x ) ∝ exp ⁡ ( 1 + 1.5 + 0.7 + 0 ) = exp ⁡ ( 3.2 ) P\Big(y=(1,2,2)|x\Big)\propto\exp(1+1.5+0.7+0)=\exp(3.2) P(y=(1,2,2)x)exp(1+1.5+0.7+0)=exp(3.2)并且归一化因子 Z ( x ) Z(x) Z(x) 的计算式如下: Z ( x ) = ( ∏ i = 1 4 M i ( x ) ) [ 1 , 1 ] Z(x)=\Big(\prod_{i=1}^4M_i(x)\Big)[1,1] Z(x)=(i=14Mi(x))[1,1]表示了所有以 y 0 = 1 , y 4 = 1 y_0=1,y_4=1 y0=1,y4=1 为始、终状态的状态序列 y 1 y 2 y 3 y_1y_2y_3 y1y2y3 的非规范化概率之和。

  • 在下篇中将会介绍线性链条件随机场的概率计算 P ( Y i = y i ∣ x ) , P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) P(Y_i=y_i|x),P(Y_{i-1}=y_{i-1},Y_i=y_i|x) P(Yi=yix),P(Yi1=yi1,Yi=yix),这里用到的算法是和HMM中类似的前向-后向算法;线性链条件随机场的参数学习方法,我们可以看到这里的问题情境是监督学习,因此可以基于极大似然估计(以及带正则化的极大似然估计)来实现参数学习,具体的实现方法有改进迭代尺度法梯度下降法以及拟牛顿法;线性链条件随机场的预测算法,这一问题中又用到了曾经在HMM中介绍过的维特比算法,可以前往隐马尔科夫模型中参考更多细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值