张芷铭的个人博客

条件随机场(CRF)是判别式无向图模型,解决 MEMM 的标签偏置问题。通过全局归一化建模条件概率 $p(Y|X)$。

背景对比

模型类型建模对象
HMM生成式$p(X,Y)$
MEMM判别式$p(Y
CRF判别式$p(Y

CRF 概率密度函数

$$p(Y|X)=\frac{1}{Z(x,\theta)}\exp[\theta^TH(y_t,y_{t-1},x)]$$

其中:

$$H=\left(\sum_{t=1}^Tf(y_{t-1},y_t,x), \sum_{t=1}^Tg(y_t,x)\right)^T$$

  • $f$:转移特征函数
  • $g$:状态特征函数

三个问题

问题方法
参数估计梯度上升
边缘概率前向后向算法
译码Viterbi 算法

边缘概率

$$p(y_t=i|x)=\frac{1}{Z}\alpha_t(i)\beta_t(i)$$

前向递推:

$$\alpha_t(i)=\sum_{j\in S}\phi_t(y_{t-1}=j,y_t=i,x)\alpha_{t-1}(j)$$

后向递推:

$$\beta_t(i)=\sum_{j\in S}\phi_{t+1}(y_t=i,y_{t+1}=j,x)\beta_{t+1}(j)$$

参数估计

$$\nabla_\lambda L=\sum_{i=1}^N\sum_{t=1}^T[f(y_{t-1},y_t,x^i)-\sum_{y_{t-1},y_t}p(y_{t-1},y_t|x^i)f(y_{t-1},y_t,x^i)]$$

使用梯度上升求解。

译码

采用动态规划(Viterbi 算法),类似 HMM。

Comments