条件随机场(Conditional Random Field,CRF)是一个比较重要的概率模型,在详细介绍CRF之前,首先简单介绍一下概率图(Probabilistic Graphical Model,PGM),有时候简称图模型(Graphical Model, GM).
概率图模型用图的形式表示一组随机变量。图中的节点表示一个或一组随机变量,图中的边代表随机变量间的依赖关系。
概率图模型分为有向图模型和无向图模型,如下:
下面将依次介绍
有向图模型中,我们主要考虑贝叶斯网络,它满足下面特征的模型:
对于一个无向图 G G G以及它表示的一组随机变量 X = x 1 , x 2 , . . . , x N X={x_1,x_2,...,x_N} X=x1,x2,...,xN, x i x_i xi的所有父节点组成的集合我们记作 X π i X_{\pi i} Xπi,如果 X X X的联合概率分布可以表示为:
p ( X ) = ∏ i = 1 N p ( x i ∣ x π i ) p(X)=\prod_{i=1}^Np(x_i|x_{\pi i}) p(X)=i=1∏Np(xi∣xπi)
那么 G G G被称为一个贝叶斯网络
常见的贝叶斯网络有:sigmoid信念网络(SBN),朴素贝叶斯模型,以及上篇的隐马尔科夫模型。
模型的局部条件概率表示为:
p ( x k ∣ X π k , W ) = σ ( w 0 + ∑ x i ∈ X π k w i x i ) p(x_k|X_{\pi k},W)=\sigma(w_0+\sum_{x_i\in X_{\pi k}}w_ix_i) p(xk∣Xπk,W)=σ(w0+xi∈Xπk∑wixi)
模型的局部条件表示为:
P ( x k ∣ X π k ) = P ( X π k ∣ x k ) P ( x k ) P ( X π k ) P(x_k|X_{\pi k})=\frac{P(X_{\pi k}|x_k)P(x_k)}{P(X_{\pi k})} P(xk∣Xπk)=P(Xπk)P(Xπk∣xk)P(xk)
∝ P ( X π k ∣ x k ) P ( x k ) \propto P(X_{\pi k}|x_k)P(x_k) ∝P(Xπk∣xk)P(xk)
= P ( x k ) ∏ x i ∈ X π k P ( x i ∣ x k ) =P(x_k)\prod_{x_i\in X_{\pi k}} P(x_i|x_k) =P(xk)xi∈Xπk∏P(xi∣xk)
上一篇详细介绍了此模型,它的联合分布概率表示为:
P ( Q , V ) = ∏ q t ∈ Q , v t ∈ V P ( v t ∣ v t − 1 ) P ( q t ∣ v t ) P(Q,V)=\prod_{q_t\in Q,v_t\in V}P(v_t|v_{t-1})P(q_t|v_t) P(Q,V)=qt∈Q,vt∈V∏P(vt∣vt−1)P(qt∣vt)
其中 P ( v t ∣ v t − 1 ) P(v_t|v_{t-1}) P(vt∣vt−1)是转移概率, P ( q t ∣ v t ) P(q_t|v_t) P(qt∣vt)为输出概率。
对于无向图模型,我们主要考虑马尔科夫随机场(Markov Random Field,MRF),也称为马尔科夫网络(Markov Network).
无向图G,图中的节点表示随机变量,边表示随机变量间的依赖关系。如果图中随机变量的联合概率分布P(X)满足成对、局部或全局马尔可夫性,则G被称为马尔科夫随机场
那么我们分别来解释下成对、局部、全局马尔科夫性分别是什么性质。
无向图中的任意不直接相连的两个节点 x i , x j x_i,x_j xi,xj,以及除它们之外的所有节点组成的集合,记作 X O X_O XO.
如果给定 X O X_O XO的情况下, x i , x j x_i,x_j xi,xj条件独立,则称无向图满足成对马尔科夫性质,即:
P ( x i , x j ∣ X O ) = P ( x i ∣ X O ) P ( x j ∣ X O ) P(x_i,x_j|X_O)=P(x_i|X_O)P(x_j|X_O) P(xi,xj∣XO)=P(xi∣XO)P(xj∣XO)
无向图中的任意一个节点 x k x_k xk, 与之直接向量的节点组成的集合,记作 X N ( k ) X_{N(k)} XN(k), x k x_k xk之外的所以其他节点组成的集合,记作 X − k X_{-k} X−k.
如果:
P ( x k ∣ X N ( k ) ) = P ( x k ∣ X − k ) P(x_k|X_{N(k)})=P(x_k|X_{-k}) P(xk∣XN(k))=P(xk∣X−k)
则称无向图满足局部马尔科夫性。
无向图中不直接相邻节点集合 X A , X B X_A,X_B XA,XB,已经连接他们的节点组成的集合 X C X_C XC。
如果:
P ( X A , X B ∣ X C ) = P ( X A ∣ X C ) P ( X B ∣ X C ) P(X_A,X_B|X_C)=P(X_A|X_C)P(X_B|X_C) P(XA,XB∣XC)=P(XA∣XC)P(XB∣XC)
则称无向图满足全局马尔科夫性。
有向图中联合概率分布可以分解为局部条件概率的乘积形式,无向图中的联合概率分布如果计算呢?
无向图中的边不表示因果依赖关系,所以不能运用链式法则分解为条件概率的乘积形式。在介绍无向图联合概率分解方法之前,先引入团的概念。
无向图中的全联通子图,有称为团,如果一个团加入任何一个节点后不能构成团,则称之为最大团
无向图满足成对、局部或全局马尔科夫性,当且仅当联合分布概率可以表示一系列定义在最大团上的非负函数的乘积形式,即:
P ( X ) = 1 Z ∏ X c ∈ C ϕ ( X c ) P(X)=\frac{1}{Z}\prod_{X_c\in C}\phi(X_{c}) P(X)=Z1Xc∈C∏ϕ(Xc)
其中,
Z = ∑ X c ∈ C ϕ ( X c ) Z=\sum_{X_c\in C}\phi(X_c) Z=Xc∈C∑ϕ(Xc)
称为配平函数(partition function), ϕ ( X c ) ≥ 0 \phi(X_c)\ge0 ϕ(Xc)≥0称为势能函数, X c X_c Xc为一个最大团, C C C为最大团组成的集合。
由于势能函数必须是非负的,所以经常采用势能函数:
ϕ ( X c ) = e x p ( − E ( X c ) ) \phi(X_c)=exp(-E(X_c)) ϕ(Xc)=exp(−E(Xc))
其中 E ( X c ) E(X_c) E(Xc)被称为能量函数。如此,联合概率分布可表示为:
P ( X ) = 1 Z ∏ X c ∈ C ϕ ( X c ) P(X)=\frac{1}{Z}\prod_{X_c\in C}\phi(X_c) P(X)=Z1Xc∈C∏ϕ(Xc)
= 1 Z ∏ X c ∈ C e x p ( − E ( X c ) ) =\frac{1}{Z}\prod_{X_c\in C}exp(-E(X_c)) =Z1Xc∈C∏exp(−E(Xc))
= 1 Z e x p ( ∑ X c ∈ C − E ( X C ) ) =\frac{1}{Z}exp(\sum_{X_c\in C}-E(X_C)) =Z1exp(Xc∈C∑−E(XC))
条件随机场就是常见的无向图模型之一,另外常见的无向图模型还有对数线性模型、玻尔兹曼机和受限玻尔兹曼机。介绍条件随机场之前,先简单介绍一下对数线性模型,玻尔兹曼机与受限玻尔兹曼机在之前的文章里已有介绍,不再赘述。
势能函数采用:
ϕ c ( X c ∣ θ c ) = e x p ( θ c T f c ( X c ) ) \phi_c(X_c|\theta_c)=exp(\theta_c^T f_c(X_c)) ϕc(Xc∣θc)=exp(θcTfc(Xc))
所以联合分布概率表示为:
P ( X ∣ θ ) = 1 z ( θ ) ∏ X c ∈ C e x p ( θ C T f c ( X c ) ) P(X|\theta)=\frac{1}{z(\theta)}\prod_{X_c\in C}exp(\theta_C^T f_c(X_c)) P(X∣θ)=z(θ)1Xc∈C∏exp(θCTfc(Xc))
l o g ( P ( X ∣ θ ) ) = l o g ( ∏ X c ∈ C e x p ( θ c T f c ( X c ) ) ) − l o g ( z ( θ ) ) log(P(X|\theta))=log(\prod_{X_c\in C}exp(\theta_c^T f_c(X_c)))-log(z(\theta)) log(P(X∣θ))=log(Xc∈C∏exp(θcTfc(Xc)))−log(z(θ))
= ∑ x c ∈ C θ c T f c ( X c ) − l o g ( z ( θ ) ) =\sum_{x_c\in C}\theta_c^T f_c(X_c)-log(z(\theta)) =xc∈C∑θcTfc(Xc)−log(z(θ))
P ( X ∣ θ ) = e x p ( ∑ x c ∈ C θ c T f c ( X c ) − l o g ( z ( θ ) ) ) P(X|\theta)=exp(\sum_{x_c\in C}\theta_c^T f_c(X_c)-log(z(\theta))) P(X∣θ)=exp(xc∈C∑θcTfc(Xc)−log(z(θ)))
= 1 z ( θ ) e x p ( ∑ x c ∈ C θ c T f c ( X c ) ) =\frac{1}{z(\theta)}exp(\sum_{x_c\in C}\theta_c^T f_c(X_c)) =z(θ)1exp(xc∈C∑θcTfc(Xc))
如果采用对数线性模型建模条件概率,因为在给定一组随机变量 X X X的情况下,此时是无向图中只有一个节点 y y y,它的最大团只有一个,也就是 { y } \{y\} {y},因此得出:
P ( y ∣ X , θ ) = 1 Z ( θ ) e x p ( θ T f ( X , y ) ) P(y|X,\theta)=\frac{1}{Z(\theta)}exp(\theta^Tf(X,y)) P(y∣X,θ)=Z(θ)1exp(θTf(X,y))
有了以上的这些基础知识,理解条件随机场模型就很简单了
条件随机场(Conditional Random Field, CRF)也是一种无向图模型。它是在给定随机变量X的条件下,随机变量Y的马尔科夫随机场,因此由HC定量得出:
P ( Y ∣ X , θ ) = 1 Z ( X , θ ) ∏ Y c ∈ C ϕ ( X , Y c ) P(Y|X,\theta)=\frac{1}{Z(X,\theta)}\prod_{Y_c\in C}\phi(X, Y_c) P(Y∣X,θ)=Z(X,θ)1Yc∈C∏ϕ(X,Yc)
当我的势能函数采用:
ϕ c ( X c ∣ θ c ) = e x p ( θ c T f c ( X c ) ) \phi_c(X_c|\theta_c)=exp(\theta_c^T f_c(X_c)) ϕc(Xc∣θc)=exp(θcTfc(Xc))
得出:
P ( Y ∣ X , θ ) = 1 z ( X , θ ) e x p ( ∑ Y c ∈ C θ T f ( X , Y c ) ) P(Y|X,\theta)=\frac{1}{z(X,\theta)}exp(\sum_{Y_c\in C}\theta^Tf(X,Y_c)) P(Y∣X,θ)=z(X,θ)1exp(Yc∈C∑θTf(X,Yc))
可以看出,它是对数线性模型的一种扩展,下图对比了对数线性模型,也成为最大上模型和条件随机场:
上图展示的是比较常见的链式条件随机场,它的最大团为 { Y 1 , Y 2 } , { Y 2 , Y 3 } , . . . { Y t , Y t + 1 } , . . . { Y T − 1 , Y T } \{Y_1,Y_2\},\{Y_2,Y_3\},...\{Y_t,Y_{t+1}\},...\{Y_{T-1},Y_T\} {Y1,Y2},{Y2,Y3},...{Yt,Yt+1},...{YT−1,YT}, 因此它的概率分布表示为:
P ( Y ∣ X , θ ) = 1 Z ( X , θ ) e x p ( ∑ t = 1 T − 1 θ T f ( X , Y t , Y t + 1 ) ) P(Y|X,\theta)=\frac{1}{Z(X,\theta)}exp(\sum_{t=1}^{T-1}\theta^Tf(X,Y_t,Y_{t+1})) P(Y∣X,θ)=Z(X,θ)1exp(t=1∑T−1θTf(X,Yt,Yt+1))
一般来说,我们的特征函数 f f f一般取两方面的特征,也就是 Y t Y_t Yt的位置相关的特征 f 1 f_1 f1,以及上线文特征 f 2 f_2 f2,因此概率分布表示为:
P ( Y ∣ X , θ ) = 1 z ( X , θ ) e x p ( ∑ t = 1 T θ 1 T f ( X , Y t ) + ∑ t = 1 T − 1 θ 2 T f ( X , Y t , Y t + 1 ) ) P(Y|X,\theta)=\frac{1}{z(X,\theta)}exp(\sum_{t=1}^T\theta_1^Tf(X,Y_t)+\sum_{t=1}^{T-1}\theta_2^Tf(X,Y_t,Y_{t+1})) P(Y∣X,θ)=z(X,θ)1exp(t=1∑Tθ1Tf(X,Yt)+t=1∑T−1θ2Tf(X,Yt,Yt+1))
图模型模型相关的问题分为两大类,也就是推断问题和学习问题。
推断问题指的是已知部分变量情况下,计算其他变量的后验概率分布的问题。
学习问题是指给定一定的观察数据,学习图模型的结构和参数的问题。
领域内的算法简单总结如下: