当前位置: 代码迷 >> 综合 >> 经典算法: 条件随机场(conditional random field, CRF)
  详细解决方案

经典算法: 条件随机场(conditional random field, CRF)

热度:90   发布时间:2023-12-19 04:27:59.0

1. 引言

条件随机场,conditional random field,CRF,是给定一组输入随机变量的条件下,输出随机变量的条件概率分布模型

条件随机场和隐马尔可夫模型的联系:
https://pic4.zhimg.com/50/1d3f9cefc0de33cfebe71bbc237ccc6b_hd.jpg

可以看到,条件随机场是一种无向图。

2. 概率无向图

概率无向图模型,又称马尔科夫随机场,是一个由无向图表示的联合概率分布。

  • 成对马尔可夫性

u , v u,v u,v是无向图G中没有边连接的结点,对应的随机变量为 Y u , Y v Y_u, Y_v Yu?,Yv?. 其他结点为 Y O Y_O YO?.
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?,Yv?Yo?)=P(Yu?YO?)P(Yv?Yo?)

  • 局部马尔可夫性

W W W是与 v v v有边连接的所有结点。
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?,Yo?YW?)=P(Yv?YW?)P(YO?YW?)

  • 全局马尔科夫性

设结点集合 A , B A,B A,B是在无向图G中被结点集合 C C C分开的任意结点集合。
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?,YB?YC?)=P(YA?YC?)P(YB?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?)}

3. 条件随机场CRF

条件随机场是给定随机变量 X 下,随机变量Y的马尔科夫随机场。

P ( Y v ∣ X , Y n , w ≠ v ) = P ( Y v ∣ X , Y w , w ? v ) P\left(Y_{v} | X, Y_{n}, w \neq v\right)=P\left(Y_{v} | X, Y_{w}, w \sim v\right) P(Yv?X,Yn?,w??=v)=P(Yv?X,Yw?,w?v)

其中, w ? v w \sim v w?v代表与结点 v v v有边连接的所有结点 w w w; w ≠ v w \neq v w??=v代表结点 v v v以外的所有结点。

条件随机场的简单形式:

f k ( y i ? 1 , y i , x , i ) = { t k ( y i ? 1 , y i , x , i ) , k = 1 , 2 , ? , K 1 s i ( y i , x , i ) , k = K 1 + l ; l = 1 , 2 , ? , K 2 f_{k}\left(y_{i-1}, y_{i}, x, i\right)=\left\{\begin{array}{ll} t_{k}\left(y_{i-1}, y_{i}, x, i\right), & k=1,2, \cdots, K_{1} \\ s_{i}\left(y_{i}, x, i\right), & k=K_{1}+l ; l=1,2, \cdots, K_{2} \end{array}\right. fk?(yi?1?,yi?,x,i)={ tk?(yi?1?,yi?,x,i),si?(yi?,x,i),?k=1,2,?,K1?k=K1?+l;l=1,2,?,K2??

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=1n?fk?(yi?1?,yi?,x,i),k=1,2,?,K

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)1?expk=1K?wk?fk?(y,x)=y?expk=1K?wk?fk?(y,x)?

t k t_k tk?代表转移特征, s l s_l sl?代表状态特征, f k ( y , x ) f_k(y,x) fk?(y,x)代表在该点的全局特征, w k w_k wk?代表特征 f k ( y , x ) f_k(y,x) fk?(y,x)的权值, Z ( x ) Z(x) Z(x)是归一化因子。

条件随机场的矩阵形式
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\limits_{k=1}^{K} w_{k} f_{k}\left(y_{i-1}, y_{i}, x, i\right) \end{array} Mi?(x)=[Mi?(yi?1?,yi?x)]Mi?(yi?1?,yi?x)=exp(Wi?(yi?1?,yi?x))Wi?(yi?1?,yi?x)=k=1K?wk?fk?(yi?1?,yi?,x,i)?

条件概率:
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)1?i=1n+1?Mi?(yi?1?,yi?x)

3.1 概率计算问题

前向-后向算法;

1、概率计算:
α 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}^{T}\left(y_{i} | x\right)=\alpha_{i-1}^{T}\left(y_{i-1} | x\right)\left[M_{i}\left(y_{i-1}, y_{i} | x\right)\right], i=1,2, \cdots, n+1 αiT?(yi?x)=αi?1T?(yi?1?x)[Mi?(yi?1?,yi?x)],i=1,2,?,n+1

β i ( y i ∣ x ) = [ M i ( y i , y i + 1 ∣ x ) ] β i + 1 ( y i + 1 ∣ x ) \beta_{i}\left(y_{i} | x\right)=\left[M_{i}\left(y_{i}, y_{i+1} | x\right)\right] \beta_{i+1}\left(y_{i+1} | x\right) βi?(yi?x)=[Mi?(yi?,yi+1?x)]βi+1?(yi+1?x)

即,
α 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)=αi?1T?(x)Mi?(x)

β 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)

因此,条件概率:
P ( Y i = y i ∣ x ) = α i ? ( y i ∣ x ) β i ( y i ∣ x ) Z ( x ) \begin{array}{c} P\left(Y_{i}=y_{i} | x\right)=\frac{\alpha_{i}^{\top}\left(y_{i} | x\right) \beta_{i}\left(y_{i} | x\right)}{Z(x)} \end{array} P(Yi?=yi?x)=Z(x)αi??(yi?x)βi?(yi?x)??

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 ) \begin{array}{c} 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)} \end{array} P(Yi?1?=yi?1?,Yi?=yi?x)=Z(x)αi?1T?(yi?1?x)Mi?(yi?1?,yi?x)βi?(yi?x)??

3.2 条件随机场的学习算法

改进的迭代尺度法

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

拟牛顿法

3.3 条件随机场的预测算法

给定条件随机场P(Y|X),和输入序列x,求条件概率最大的输出序列y。


参考:
1、条件随机场_刘建平
2、IIS算法

  相关解决方案