条件随机场属于概率图模型的一种,为了详细了解条件随机场的前世今生,需要将HMM、MEMM和CRF放在一起学习,才够系统。ok,话不多说,让我们开始吧。
关于概率图模型的分类,可以参考下图。
对于二者的区别,主要体现在如何求概率。
对于有向图,其联合概率的求法如下:
广义有向图的形式,如下图:
他们的联合概率可以表示为:
无向图的表示,如下图:
如果一个无向图太大,可以用因子分解将 P ( Y ) P(Y) P(Y)写为若干个联合概率的乘积。分解过程:将一个图分为若干个“小团”,注意每个团必须是“最大团”(我的理解:在最大团内,需要同时满足以下两个条件:(1)随机变量数要最多;(2)一个团内的所有随机变量之间要有联系,表示在图中的话,就是一个团内的任意两个随机变量之间要有连线),则有:
如上面的无向图,其概率为:
二者的区别主要在建模对象上
训练阶段是对 P ( X , Y ) P(X,Y) P(X,Y)建模,即求的是联合概率。
其有如下特点:
判别模型就是对 P ( Y ∣ X ) P(Y|X) P(Y∣X)建模,换句话说,直接根据X特征来对Y建模训练。所以判别式模型的特征总结如下:
假设一个随机过程中, t t t 时刻的状态 y t y_{t} yt的条件分布,只与其前一状态 y t − 1 y_{t-1} yt−1 相关,即:
P ( y t ∣ y 1 , y 2 , . . . , y t − 1 ) = P ( y t ∣ y t − 1 ) P(y_{t}|y_{1},y_{2},...,y_{t-1})=P(y_{t}|y_{t-1}) P(yt∣y1,y2,...,yt−1)=P(yt∣yt−1)
隐马尔科夫算法是对含有未知参数(隐状态)的马尔可夫链进行建模的生成模型,如下图所示。在HMM中存在隐状态 y t y_{t} yt(图中橙色部分)和观测状态 x t x_{t} xt(图中蓝色部分)。以词性标注为例,句子:小明爱中国。词性为名词+动词+名词。其中句子就是可以观测到的,是观测状态,而词性是需要标注,对我们而言是未知的,因此是隐状态。
HMM中,有两大前提假设:
参数 λ = ( π , A , B ) \lambda =(\pi,A,B) λ=(π,A,B)
1.在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还和观察序列的长度、上下文等信息相关。例如词性标注问题中,一个词被标注为动词还是名词,不仅与它本身以及它前一个词的标注有关,还依赖于上下文中的其他词。
2.属于生成式模型,计算复杂
针对HMM中出现的问题,在MEEMM中,取消了HMM中的观测独立假设。(与HMM相比,注意 y i y_{i} yi与 x i x_{i} xi之间的箭头)
其概率图模型如下图所示,下面两幅图均可以表示。最上面一幅图中的 x g x_{g} xg表示全局观测变量:
或者
将MEMM的有向图模型,变为无向图模型,由此打破了HMM的齐次Markov假设,如下图所示(注意与MEMM图的隐状态序列 y i y_{i} yi对比)。CRF将MEMM的局部归一化变为了全局归一化,解决了MEMM中存在的标注偏差问题。
或者
CRF的特点:
CRF 属于无向图、判别式模型,所以其概率密度函数为 P ( Y ∣ X ) P(Y|X) P(Y∣X).
根据无向图的概率计算,
P ( Y ∣ X ) = 1 Z ∏ i = 1 K ψ i ( x c i ) P(Y|X)=\frac{1}{Z}\prod_{i=1}^{K}\psi_{i}(x_{ci}) P(Y∣X)=Z1∏i=1Kψi(xci)
式中:
P ( Y ∣ X ) = 1 Z e x p ∑ i = 1 K F i ( x c i ) P(Y|X)=\frac{1}{Z}exp\sum_{i=1}^{K}F_{i}(x_{ci}) P(Y∣X)=Z1exp∑i=1KFi(xci)(指数函数连乘)
因此,CRF的概率密度函数是在观测序列 X X X给定的条件下,求条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X),其推导过程如下:
概率图模型一般求解的问题主要分为两大类:Learning和Inference,共4个问题,如下图所示。但是因为CRF属于判别式模型,所以其解决的问题主要是图中红色对勾标注出来的。
已知有N个观测序列 X i X_{i} Xi,求解使得观测序列最大的模型参数。
θ ^ = a r g m a x ∏ i = 1 N P ( y ( i ) ∣ x ( i ) ) \hat{\theta}=argmax\prod_{i=1}^{N}P(y^{(i)}|x^{(i)}) θ^=argmax∏i=1NP(y(i)∣x(i))
即假定已经学习到了CRF的模型参数 θ \theta θ,求 P ( y t = i ∣ X ) P(y_{t}=i|X) P(yt=i∣X)
即序列标注,同HMM一样,使用Viterbi算法(动态规划)
1.B站机器学习-白板推导系列(十七)-条件随机场CRF(Conditional Random Field)
2.知乎
Scofield[如何用简单易懂的例子解释条件随机场(CRF)模型?它和HMM有什么区别?]
3.简书【如何轻松愉快地理解条件随机场(CRF)?】