条件随机场原理介绍

1. 引言

    条件随机场(Conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场常用于序列标注问题,比如命名实体识别等。本文主要介绍线性链条件随机场。

2. 条件随机场原理介绍

2.1 概率无向图模型

    由于CRF要求输出随机变量构成马尔可夫随机场,因此,这一节先介绍什么是马尔可夫随机场,马尔可夫随机场也称为概率无向图模型,是一个由无向图表示的联合概率分布。

    图是由结点 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 v Y_{v} Yv Y = ( Y v ) v ∈ V Y=\left(Y_{v}\right)_{v \in V} Y=(Yv)vV,边 e ∈ E e \in E eE表示随机变量之间的概率依赖关系。

    在介绍概率无向图模型之前,还需要介绍三个概念,即成对马尔可夫性、局部马尔可夫性、全局马尔可夫性。

  1. 成对马尔可夫性:设 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 ) P\left(Y_{u}, Y_{v} | Y_{o}\right)=P\left(Y_{u} | Y_{O}\right) P\left(Y_{v} | Y_{O}\right) P(Yu,YvYo)=P(YuYO)P(YvYO)
  2. 局部马尔可夫性:设 v ∈ V v \in V vV是无向图 G G G中任意一个结点, W W W是与 v v v有边连接的所有结点, O O O v , W v, W v,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 ) P\left(Y_{v}, Y_{O} | Y_{W}\right)=P\left(Y_{v} | Y_{W}\right) P\left(Y_{O} | Y_{W}\right) P(Yv,YOYW)=P(YvYW)P(YOYW)
    条件随机场原理介绍_第1张图片
  3. 全局马尔可夫性:设结点集合 A , B A, B A,B是在无向图 G G G中被结点集合 C C C分开的任意结点集合,结点集合 A , B , C A,B,C A,B,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\left(Y_{A}, Y_{B} | Y_{C}\right)=P\left(Y_{A} | Y_{C}\right) P\left(Y_{B} | Y_{C}\right) P(YA,YBYC)=P(YAYC)P(YBYC)
    条件随机场原理介绍_第2张图片
        概率无向图模型的定义为,设有联合概率分布 P ( Y ) P(Y) P(Y),由无向图 G = ( V , E ) G=(V, E) G=(V,E)表示,在图 G G G中,如果联合概率分布 P ( Y ) P(Y) P(Y)满足成对、局部或全局马尔可夫性,则称此联合概率分布为概率无向图模型,或马尔可夫随机场。

    对于概率无向图模型,我们比较关心的是联合概率分布的计算,在实际的计算中,我们一般会将联合概率写成若干子联合概率乘积的形式,也就是将联合概率进行因子分解。

    根据Hammersley-Clifford定理,概率无向图模型的联合概率分布 P ( Y ) P(Y) P(Y)可以表示为如下形式:
P ( Y ) = 1 Z ∏ c Ψ C ( Y C ) Z = ∑ Y ∏ C Ψ C ( Y C ) \begin{array}{c}{P(Y)=\frac{1}{Z} \prod_{c} \Psi_{C}\left(Y_{C}\right)} \\ {Z=\sum_{Y} \prod_{C} \Psi_{C}\left(Y_{C}\right)}\end{array} P(Y)=Z1cΨC(YC)Z=YCΨC(YC)其中, C C C是无向图的最大团,无向图 G G G中任何两个结点均有边连接的结点子集称为团,若 C C C是无向图 G G G的一个团,并且不能再加进任何一个 G G G的结点使其成为一个更大的团,则称此 C C C为最大团。 Y C Y_{C} YC C C C的结点对应的随机变量, Ψ C ( Y C ) \Psi_{C}\left(Y_{C}\right) ΨC(YC) C C C上定义的严格正函数,一般定义为指数函数:
Ψ C ( Y C ) = exp ⁡ { − E ( Y C ) } \Psi_{C}\left(Y_{C}\right)=\exp \left\{-E\left(Y_{C}\right)\right\} ΨC(YC)=exp{E(YC)} Z Z Z是规范化因子,是为了保证 P ( Y ) P(Y) P(Y)构成一个概率分布。

2.2 条件随机场的定义

2.2.1 条件随机场的定义

    条件随机场:设 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 ) P\left(Y_{v} | X, Y_{w}, w \neq v\right)=P\left(Y_{v} | X, Y_{w}, w \sim v\right) P(YvX,Yw,w̸=v)=P(YvX,Yw,wv)对任意结点 v v v成立,则称条件概率分布 P ( Y ∣ X ) P(Y | X) P(YX)为条件随机场,式中 w ∼ v w \sim v wv表示在图 G G G中与结点 v v v有边连接的所有结点 w w w w ≠ v w \neq v w̸=v表示结点 v v v以外的所有结点, Y v , Y u , Y w Y_{v}, Y_{u}, Y_{w} Yv,Yu,Yw为结点 v , u , w v,u,w v,u,w对应的随机变量。

    在现实情况下,我们一般假设 X X X Y Y Y具有相同的图结构,并且考虑线性链的情况,即
G = ( V = { 1 , 2 , ⋯   , n } , E = { ( i , i + 1 ) } ) , i = 1 , 2 , ⋯   , n − 1 G=(V=\{1,2, \cdots, n\}, \quad E=\{(i, i+1)\}), \quad i=1,2, \cdots, n-1 G=(V={1,2,,n},E={(i,i+1)}),i=1,2,,n1此时最大团为相邻两个结点的集合。
条件随机场原理介绍_第3张图片
    线性链条件随机场:设 X = ( X 1 , X 2 , ⋯   , X n ) X=\left(X_{1}, X_{2}, \cdots, X_{n}\right) X=(X1,X2,,Xn) Y = ( Y 1 , Y 2 , ⋯   , Y n ) Y=\left(Y_{1}, Y_{2}, \cdots, Y_{n}\right) Y=(Y1,Y2,,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列 X X X的条件下,随机变量序列 Y Y Y的条件概率分布 P ( Y ∣ X ) P(Y | X) P(YX)构成条件随机场,即;
在这里插入图片描述则称 P ( Y ∣ X ) P(Y | X) P(YX)为线性链条件随机场,在标注问题中, X X X表示输入观测序列, Y Y Y表示对应的输出标记序列或状态序列。

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

    根据Hammersley-Clifford定理,可以将线性链条件随机场表示的联合概率分布表示为相邻结点的函数,设 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 ) ) P(y | x)=\frac{1}{Z(x)} \exp \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right) P(yx)=Z(x)1expi,kλktk(yi1,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 \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right) Z(x)=yexpi,kλktk(yi1,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)是规范化因子。

2.2.3 条件随机场的简化形式

    注意到条件随机场中同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积的形式,即条件随机场的简化形式。

    首先,将转移特征 t k t_{k} tk和状态特征 s l s_{l} sl及其权值用统一的符号表示,设有 K 1 K_1 K1个转移特征,有 K 2 K_2 K2个状态特征, K = K 1 + K 2 K=K_{1}+K_{2} K=K1+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}\left(y_{i-1}, y_{i}, x, i\right), \quad k=1,2, \cdots, K fk(y,x)=i=1nfk(yi1,yi,x,i),k=1,2,,K w k w_{k} wk表示特征 f k ( y , x ) f_{k}(y, x) fk(y,x)的权值,即:
在这里插入图片描述因此,条件随机场可以表示为:
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 ) \begin{aligned} P(y | x) &=\frac{1}{Z(x)} \exp \sum_{k=1}^{K} w_{k} f_{k}(y, x) \\ Z(x) &=\sum_{y} \exp \sum_{k=1}^{K} w_{k} f_{k}(y, x) \end{aligned} P(yx)Z(x)=Z(x)1expk=1Kwkfk(y,x)=yexpk=1Kwkfk(y,x) w w w表示权值向量,即:
w = ( w 1 , w 2 , ⋯   , w K ) T w=\left(w_{1}, w_{2}, \cdots, w_{K}\right)^{\mathrm{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)=\left(f_{1}(y, x), f_{2}(y, x), \cdots, f_{K}(y, x)\right)^{\mathrm{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 ) P_{w}(y | x)=\frac{\exp (w \cdot F(y, x))}{Z_{w}(x)} Pw(yx)=Zw(x)exp(wF(y,x))其中, Z w ( x ) = ∑ y exp ⁡ ( w ⋅ F ( y , x ) ) Z_{w}(x)=\sum_{y} \exp (w \cdot F(y, x)) Zw(x)=yexp(wF(y,x))

2.2.4 条件随机场的矩阵形式

    条件随机场还可以由矩阵表示,引进特殊的起点和终点状态标记 y 0 = y_{0}= 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, \cdots, n+1 i=1,2,,n+1,定义一个 m m m阶矩阵,其中 m 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 ) = ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) \begin{array}{c}{M_{i}(x)=\left[M_{i}\left(y_{i-1}, y_{i} | x\right)\right]} \\ \\{M_{i}\left(y_{i-1}, y_{i} | x\right)=\exp \left(W_{i}\left(y_{i-1}, y_{i} | x\right)\right)} \\ \\{W_{i}\left(y_{i-1}, y_{i} | x\right)=\sum_{k=1}^{K} w_{k} f_{k}\left(y_{i-1}, y_{i}, x, i\right)}\end{array} Mi(x)=[Mi(yi1,yix)]Mi(yi1,yix)=exp(Wi(yi1,yix))Wi(yi1,yix)=k=1Kwkfk(yi1,yi,x,i)因此,给定预测序列 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}\left(y_{i-1}, y_{i} | x\right) 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 ) P_{w}(y | x)=\frac{1}{Z_{w}(x)} \prod_{i=1}^{n+1} M_{i}\left(y_{i-1}, y_{i} | x\right) Pw(yx)=Zw(x)1i=1n+1Mi(yi1,yix)其中, Z w ( x ) = ( M 1 ( x ) M 2 ( x ) ⋯ M n + 1 ( x ) )  start stop  Z_{w}(x)=\left(M_{1}(x) M_{2}(x) \cdots M_{n+1}(x)\right)_{\text { start stop }} Zw(x)=(M1(x)M2(x)Mn+1(x)) start stop 即为所有矩阵乘积的第一个元素。

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

2.3.1 前向-后向算法

    对每个指标 i = 0 , 1 , ⋯   , n + 1 i=0,1, \cdots, n+1 i=0,1,,n+1,定义前向向量 α i ( x ) \alpha_{i}(x) αi(x)
在这里插入图片描述递推公式为:
α 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 \alpha_{i}^{\mathrm{T}}\left(y_{i} | x\right)=\alpha_{i-1}^{\mathrm{T}}\left(y_{i-1} | x\right) M_{i}\left(y_{i-1}, y_{i} | x\right), \quad i=1,2, \cdots, n+1 αiT(yix)=αi1T(yi1x)Mi(yi1,yix),i=1,2,,n+1又可表示为:
α i T ( x ) = α i − 1 T ( x ) M i ( x ) \alpha_{i}^{\mathrm{T}}(x)=\alpha_{i-1}^{\mathrm{T}}(x) M_{i}(x) αiT(x)=αi1T(x)Mi(x)其中, α i ( y i ∣ x ) \alpha_{i}\left(y_{i} | x\right) αi(yix)表示在位置 i i i的标记是 y i y_i yi并且到位置 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, \cdots, n+1 i=0,1,,n+1,定义后向向量 β i ( x ) \beta_{i}(x) βi(x)
条件随机场原理介绍_第4张图片又可表示为:
β i ( x ) = M i + 1 ( x ) β i + 1 ( x ) \beta_{i}(x)=M_{i+1}(x) \beta_{i+1}(x) βi(x)=Mi+1(x)βi+1(x) β i ( y i ∣ x ) \beta_{i}\left(y_{i} | x\right) βi(yix)表示在位置 i i i的标记为 y i y_i yi并且从 i + 1 i+1 i+1 n n n的后部分标记序列的非规范化概率。

    由前向-后向向量定义不难得到:
Z ( x ) = α n T ( x ) ⋅ 1 = 1 T ⋅ β 1 ( x ) Z(x)=\alpha_{n}^{\mathrm{T}}(x) \cdot \mathbf{1}=\mathbf{1}^{\mathrm{T}} \cdot \beta_{1}(x) Z(x)=αnT(x)1=1Tβ1(x)其中, 1 \mathbf{1} 1是元素均为1的 m m m维列向量。

2.3.2 相关概率计算

    按照前向-后向向量的定义不难得到:

  1. 标记序列在位置 i i i是标记 y i y_i yi的概率为: P ( Y i = y i ∣ x ) = α i T ( y i ∣ x ) β i ( y i ∣ x ) Z ( x ) P\left(Y_{i}=y_{i} | x\right)=\frac{\alpha_{i}^{\mathrm{T}}\left(y_{i} | x\right) \beta_{i}\left(y_{i} | x\right)}{Z(x)} P(Yi=yix)=Z(x)αiT(yix)βi(yix)
  2. 标记序列在位置 i − 1 i-1 i1 i i i分别是标记 y i − 1 y_{i-1} yi1 y i y_{i} yi的概率为:
    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 ) P\left(Y_{i-1}=y_{i-1}, Y_{i}=y_{i} | x\right)=\frac{\alpha_{i-1}^{\mathrm{T}}\left(y_{i-1} | x\right) M_{i}\left(y_{i-1}, y_{i} | x\right) \beta_{i}\left(y_{i} | x\right)}{Z(x)} P(Yi1=yi1,Yi=yix)=Z(x)αi1T(yi1x)Mi(yi1,yix)βi(yix)

2.4 条件随机场的学习算法

    条件随机场的学习算法主要是对模型中的权重向量 w w w进行估计,这里只介绍拟牛顿法学习算法。对于条件随机场模型,有:
P w ( y ∣ x ) = exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) P_{w}(y | x)=\frac{\exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)}{\sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)} Pw(yx)=yexp(i=1nwifi(x,y))exp(i=1nwifi(x,y))学习的优化目标函数是:
min ⁡ w ∈ R ∗ f ( w ) = ∑ x P ~ ( x ) log ⁡ ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) − ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) \min _{w \in \mathbb{R}^{*}} f(w)=\sum_{x} \tilde{P}(x) \log \sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)-\sum_{x, y} \tilde{P}(x, y) \sum_{i=1}^{n} w_{i} f_{i}(x, y) wRminf(w)=xP~(x)logyexp(i=1nwifi(x,y))x,yP~(x,y)i=1nwifi(x,y)其梯度函数是:
g ( w ) = ∑ x , y P ~ ( x ) P w ( y ∣ x ) f ( x , y ) − E P ‾ ( f ) g(w)=\sum_{x, y} \tilde{P}(x) P_{w}(y | x) f(x, y)-E_{\overline{P}}(f) g(w)=x,yP~(x)Pw(yx)f(x,y)EP(f)拟牛顿法的BFGS算法如下:

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

  1. 输入:特征函数 f 1 , f 2 , ⋯   , f n f_{1}, f_{2}, \cdots, f_{n} f1,f2,,fn;经验分布 P ~ ( X , Y ) \tilde{P}(X, Y) P~(X,Y)
  2. 输出:最优参数值 w ^ \hat{\boldsymbol{w}} w^,最优模型 P w ~ ( y ∣ x ) P_{\tilde{w}}(y | x) Pw~(yx)
  3. 选定初始点 w ( 0 ) w^{(0)} w(0),取 B 0 B_{0} B0为正定对称矩阵,置 k = 0 k=0 k=0
  4. 计算 g k = g ( w ( k ) ) g_{k}=g\left(w^{(k)}\right) gk=g(w(k)),若 g k = 0 g_{k}=0 gk=0,则停止计算,否则转第5步
  5. B k p k = − g k B_{k} p_{k}=-g_{k} Bkpk=gk求出 p k \boldsymbol{p}_{\boldsymbol{k}} pk
  6. 一维搜索:求 λ k \lambda_{k} λk使得 f ( w ( k ) + λ k p k ) = min ⁡ λ ⩾ 0 f ( w ( k ) + λ p k ) f\left(w^{(k)}+\lambda_{k} p_{k}\right)=\min _{\lambda \geqslant 0} f\left(w^{(k)}+\lambda p_{k}\right) f(w(k)+λkpk)=λ0minf(w(k)+λpk)
  7. w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)}=w^{(k)}+\lambda_{k} p_{k} w(k+1)=w(k)+λkpk
  8. 计算 g k + 1 = g ( w ( k + 1 ) ) g_{k+1}=g\left(w^{(k+1)}\right) gk+1=g(w(k+1)),若 g k = 0 g_{k}=0 gk=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_{k} y_{k}^{\mathrm{T}}}{y_{k}^{\mathrm{T}} \delta_{k}}-\frac{B_{k} \delta_{k} \delta_{k}^{\mathrm{T}} B_{k}}{\delta_{k}^{\mathrm{T}} B_{k} \delta_{k}} Bk+1=Bk+ykTδ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}, \quad \delta_{k}=w^{(k+1)}-w^{(k)} yk=gk+1gk,δk=w(k+1)w(k)
  9. k = k + 1 k=k+1 k=k+1,转第5步

2.5 条件随机场的预测算法

    条件随机场的预测算法是指给定条件随机场 P ( Y ∣ X ) P(Y | X) P(YX)和输入序列 x x x,求条件概率最大的输出序列 y ∗ y^{*} y,即标记序列。在实际计算过程中,条件随机场的预测算法也是使用维特比算法比较多,跟HMM的预测算法非常接近。

    我们知道 y ∗ = arg ⁡ max ⁡ y P w ( y ∣ x ) = arg ⁡ max ⁡ y exp ⁡ ( w ⋅ F ( y , x ) ) Z w ( x ) = arg ⁡ max ⁡ y exp ⁡ ( w ⋅ F ( y , x ) ) = arg ⁡ max ⁡ y ( w ⋅ F ( y , x ) ) \begin{aligned} y^{*} &=\arg \max _{y} P_{w}(y | x) \\ &=\arg \max _{y} \frac{\exp (w \cdot F(y, x))}{Z_{w}(x)} \\ &=\arg \max _{y} \exp (w \cdot F(y, x)) \\ &=\arg \max _{y}(w \cdot F(y, x)) \end{aligned} y=argymaxPw(yx)=argymaxZw(x)exp(wF(y,x))=argymaxexp(wF(y,x))=argymax(wF(y,x))因此,条件随机场的预测问题可以转化为求非规范化概率最大的问题,即: max ⁡ y ∑ i = 1 n w ⋅ F i ( y i − 1 , y i , x ) \max _{y} \sum_{i=1}^{n} w \cdot F_{i}\left(y_{i-1}, y_{i}, x\right) ymaxi=1nwFi(yi1,yi,x)其中, F i ( y i − 1 , y i , x ) = ( f 1 ( y i − 1 , y i , x , i ) , f 2 ( y i − 1 , y i , x , i ) , ⋯   , f K ( y i − 1 , y i , x , i ) ) T F_{i}\left(y_{i-1}, y_{i}, x\right)=\left(f_{1}\left(y_{i-1}, y_{i}, x, i\right), f_{2}\left(y_{i-1}, y_{i}, x, i\right), \cdots, f_{K}\left(y_{i-1}, y_{i}, x, i\right)\right)^{\mathrm{T}} Fi(yi1,yi,x)=(f1(yi1,yi,x,i),f2(yi1,yi,x,i),,fK(yi1,yi,x,i))T是局部特征向量。

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

  1. 输入:模型特征向量 F ( y , x ) F(y, x) F(y,x)和权值向量 w w w,观测序列 x = ( x 1 , x 2 , ⋯   , x n ) x=\left(x_{1}, x_{2}, \cdots, x_{n}\right) x=(x1,x2,,xn)
  2. 输出:最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , ⋯   , y n ∗ ) y^{*}=\left(y_{1}^{*}, y_{2}^{*}, \cdots, y_{n}^{*}\right) y=(y1,y2,,yn)
  3. 初始化: δ 1 ( j ) = w ⋅ F 1 ( y 0 = start ⁡ , y 1 = j , x ) , j = 1 , 2 , ⋯   , m \delta_{1}(j)=w \cdot F_{1}\left(y_{0}=\operatorname{start}, y_{1}=j, x\right), \quad j=1,2, \cdots, m δ1(j)=wF1(y0=start,y1=j,x),j=1,2,,m
  4. 递推,对 i = 2 , 3 , ⋯   , n i=2,3, \cdots, n i=2,3,,n
    条件随机场原理介绍_第5张图片
  5. 终止: max ⁡ y ( w ⋅ F ( y , x ) ) = max ⁡ 1 ⩽ j ≤ m δ n ( j ) y n ∗ = arg ⁡ max ⁡ 1 ⩽ j ⩽ m δ n ( j ) \begin{array}{c}{\max _{y}(w \cdot F(y, x))=\max _{1 \leqslant j \leq m} \delta_{n}(j)} \\ {y_{n}^{*}=\arg \max _{1 \leqslant j \leqslant m} \delta_{n}(j)}\end{array} maxy(wF(y,x))=max1jmδn(j)yn=argmax1jmδn(j)
  6. 返回路径: y i ∗ = Ψ i + 1 ( y i + 1 ∗ ) , i = n − 1 , n − 2 , ⋯   , 1 y_{i}^{*}=\Psi_{i+1}\left(y_{i+1}^{*}\right), \quad i=n-1, n-2, \cdots, 1 yi=Ψi+1(yi+1),i=n1,n2,,1求得最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , ⋯   , y n ∗ ) y^{*}=\left(y_{1}^{*}, y_{2}^{*}, \cdots, y_{n}^{*}\right) y=(y1,y2,,yn)

3.总结

  • 条件随机场与HMM相比的话,不仅考虑了当前时刻观测状态的信息,也考虑了上一时刻的隐藏状态信息,因此,在一些带有时序关系的场合,条件随机场的效果要更好一点。

你可能感兴趣的:(机器学习)