条件随机场(CRF)——1 理论详解

需要的基础:

  • 马尔科夫模型
  • 隐马尔科夫模型

本文仔细介绍条件场的提出及基础;下一文会介绍CRF如何应用在NER领域,以及CRF,LR和HMM之间的关系和比较。可以点击下面链接跳转

  • 条件随机场(CRF)——2 CRF、HMM、LR的比较
  • 条件随机场(CRF)——3 命名实体识别(NER)

文章目录

  • 1 概率无向图模型
    • 1.1 概率图模型
    • 1.2 三种马尔科夫性质
    • 1.3 概率无向图模型/马尔可夫随机场
    • 1.4 概率无向图模型的因子分解
  • 2 条件随机场
    • 2.1 一个例子理解CRF
    • 2.2 定义
    • 2.3 CRF参数化形式
    • 2.4 特征函数如何理解
  • 3 CRF的三个基本问题
    • 3.1 概率计算问题
    • 3.2 学习算法
    • 3.3 预测问题

1 概率无向图模型

1.1 概率图模型

通过图表示概率分布。无向图 G = ( V , E ) G=(V,E) G=(V,E),节点是随机变量,边表示随机变量之间的概率依赖关系。

1.2 三种马尔科夫性质

  • 成对马尔可夫性:节点u,v对应的随机变量之间条件独立

P ( Y u , Y v ∣ Y o ) = P ( Y u ∣ Y O ) P ( Y v ∣ Y O ) (1) P(Y_u,Y_v|Y_o)=P(Y_u|Y_O)P(Y_v|Y_O) \tag{1} P(Yu,YvYo)=P(YuYO)P(YvYO)(1)

  • 局部马尔科夫性: 设v∊ V是无向图G中任意一个结点,W是与v有边连接的所有结点,O是v,W以外的其他所有结点。v表示的随机变量是Yv,W表示的随机变量组是YW,O表示的随机变量组是YO。局部马尔可夫性是指在给定随机变量组YW的条件下随机变量Yv与随机变量组YO是独立的,即:

P ( Y v , Y O ∣ Y w ) = P ( Y v ∣ Y w ) P ( Y O ∣ Y w ) (2) P(Y_v,Y_O|Y_w)=P(Y_v|Y_w)P(Y_O|Y_w) \tag{2} P(Yv,YOYw)=P(YvYw)P(YOYw)(2)
条件随机场(CRF)——1 理论详解_第1张图片

  • 全局马尔科夫性:设结点集合A,B是在无向图G中被结点集合C分开的任意结点集合,结点集合A,B和C所对应的随机变量组分别是YA,YB和YC。全局马尔可夫性是指给定随机变量组YC条件下随机变量组YA和YB是条件独立的,即:

P ( Y A , Y B ∣ Y C ) = P ( Y A ∣ Y C ) P ( Y B ∣ Y C ) (3) P(Y_A,Y_B|Y_C)=P(Y_A|Y_C)P(Y_B|Y_C) \tag{3} P(YA,YBYC)=P(YAYC)P(YBYC)(3)
条件随机场(CRF)——1 理论详解_第2张图片

1.3 概率无向图模型/马尔可夫随机场

设有联合概率分布P(Y),由无向图G=(V,E)表示,在图G中,结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型(probability undirected graphical model),

以上是概率无向图模型的定义,实际上,我们更关心的是如何求其联合概率分布。对给定的概率无向图模型,我们希望将整体的联合概率写成若干子联合概率的乘积的形式,也就是将联合概率进行因子分解,这样便于模型的学习与计算。事实上,概率无向图模型的最大特点就是易于因子分解。下面介绍这一结果。

1.4 概率无向图模型的因子分解

任何两个结点均有边连接的结点子集称为团(clique)。若C是无向图G的一个团,并且不能再加进任何一个G的结点使其成为一个更大的团,则称此C为最大团(maximal clique)。

2个结点组成的团有5个:{Y1,Y2},{Y2,Y3},{Y3,Y4},{Y4,Y2}、{Y1,Y3}。
2个最大团:{Y1,Y2,Y3}、{Y2,Y3,Y4}。
{Y1,Y2,Y3,Y4}不是一个团,因为Y1和Y4没有边连接。

条件随机场(CRF)——1 理论详解_第3张图片因子分解:将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作。

给定概率无向图模型,设其无向图为G,C为G上的最大团, Y C Y_C YC表示C对应的随机变量。那么概率无向图模型的联合概率分布P(Y)可写作图中所有最大团C上的函数 Ψ C ( Y C ) Ψ_C(Y_C) ΨC(YC)的乘积形式,Z是规范化因子。

P ( Y ) = 1 Z ∏ C Ψ C ( Y C ) (4) P(Y)=\frac{1}{Z}\prod_{C}\Psi_C(Y_C) \tag{4} P(Y)=Z1CΨC(YC)(4)
Z = ∑ Y ∏ C Ψ C ( Y C ) (5) Z=\sum_{Y}\prod_{C}\Psi_C(Y_C) \tag{5} Z=YCΨC(YC)(5)

规范化因子Z保证P(Y)构成一个概率分布。函数 Ψ C ( Y C ) Ψ_C(Y_C) ΨC(YC)称为势函数(potential function)。这里要求势函数 Ψ C ( Y C ) Ψ_C(Y_C) ΨC(YC)是严格正的,通常定义为指数函数:

Ψ C ( Y C ) = e x p ( − E ( Y C ) ) (6) \Psi_C(Y_C)=exp(-E(Y_C)) \tag{6} ΨC(YC)=exp(E(YC))(6)

2 条件随机场

2.1 一个例子理解CRF

问题:
假设你有许多小明一天内不同时段的照片,从小明提裤子起床到脱裤子睡觉各个时间段都有。现在的任务是对这些照片进行分类。比如有的照片是吃饭,那就给它打上吃饭的标签;有的照片是跑步时拍的,那就打上跑步的标签;有的照片是开会时拍的,那就打上开会的标签。问题来了,你准备怎么干?

一个简单直观的办法:
不管这些照片之间的时间顺序,想办法训练出一个多元分类器。就是用一些打好标签的照片作为训练数据,训练出一个模型,直接根据照片的特征来分类。例如,如果照片是早上6:00拍的,且画面是黑暗的,那就给它打上睡觉的标签;如果照片上有车,那就给它打上开车的标签。

可行吗?
乍一看可行,实际上没有考虑照片之间的时序关系。假如有一张小明张嘴的照片,怎么分类?是在说话呢还是在吃饭呢还是在唱歌呢?显然难以直接判断,需要参考闭嘴之前的照片。如果之前的照片显示小明在吃饭,那这个照片很可能是小明在吃饭张嘴,可以给它打上吃饭的标签;如果之前的照片显示小明在唱歌,那这个张嘴的照片很可能是小明正在唱歌,可以给它打上唱歌的标签。

所以为了使得分类器有更好表现,我们就需要考虑它相邻照片标签的信息。这就是CRF的作用。

2.2 定义

根据李航的《统计学习方法》所描述:条件随机场(CRF)——1 理论详解_第4张图片个人理解:CRF就是指出了,在图概率模型中,计算某个节点的条件概率的时候,只需要考虑与结点相关联的节点条件下的条件概率。

线性条件随机场:设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性。如下公式:

P ( Y i ∣ X , Y 1 , . . . , Y i − 1 , Y i + 1 , . . . , Y n ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) (7) P(Y_i|X,Y_1,...,Y_{i-1},Y_{i+1},...,Y_n)=P(Y_i|X,Y_{i-1},Y_{i+1}) \tag{7} P(YiX,Y1,...,Yi1,Yi+1,...,Yn)=P(YiX,Yi1,Yi+1)(7)
则称P(Y|X)为线性链条件随机场。在标注问题中,X表示输入观测序列,Y表示对应的输出标记序列或状态序列。

两种线性链条件随机场

条件随机场(CRF)——1 理论详解_第5张图片 条件随机场(CRF)——1 理论详解_第6张图片

2.3 CRF参数化形式

根据概率无向图模型的因子分解定理,对式1进行参数化,得到条件随机场的参数化形式

P ( y ∣ x ) = 1 Z e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , j u l s l ( y i , x , i ) ) P(y|x)=\frac{1}{Z}exp(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,j}u_ls_l(y_i,x,i)) P(yx)=Z1exp(i,kλktk(yi1,yi,x,i)+i,julsl(yi,x,i))
Z ( x ) = ∑ y e x p { ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , j u l s l ( y i , x , i ) } Z(x)=\sum_{y}exp\{\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,j}u_ls_l(y_i,x,i)\} Z(x)=yexp{i,kλktk(yi1,yi,x,i)+i,julsl(yi,x,i)}

其中: t k , s l t_k,s_l tk,sl是特征函数。 λ k , u l \lambda_k,u_l λk,ul是对应的权值。 Z ( x ) Z(x) Z(x)是规范化因子。

  • t k ( y i − 1 , y i , x , i ) t_k(y_{i-1},y_i,x,i) tk(yi1,yi,x,i)是转移特征函数,基于观测序列X, y t − 1 y_{t-1} yt1 y t y_t yt的转移概率
  • s l ( y i , x , i ) s_l(y_i,x,i) sl(yi,x,i)是发射特征函数,基于观测序列X,第i个位置状态变量 y i y_i yi的概率

同样CRF还有简化形式和矩阵形式,可以见李航《统计学习方法》Chap11P221。


看不懂?根本看不懂,没事,来进一步的简化以上参数形式。

将转移特征和状态特征及其权值用统一的符号表示。设有K1个转移特征,K2个状态特征,K=K1+K2,记:

f k ( y i − 1 , y i , x , i ) = { t k ( y i − 1 , y i , x , i ) , k = 1 , 2 , . . . , K 1 s l ( y i , x , i ) , k = K 1 + l ; l = 1 , 2 , . . . , K 2 (9) f_k(y_{i-1},y_i,x,i)= \begin{cases} t_k(y_{i-1},y_i,x,i), \quad k=1,2,...,K_1\\ s_l(y_i,x,i), \quad \quad \quad k=K_1+l;l=1,2,...,K_2 \tag{9} \end{cases} fk(yi1,yi,x,i)={tk(yi1,yi,x,i),k=1,2,...,K1sl(yi,x,i),k=K1+l;l=1,2,...,K2(9)

然后,对转移与状态特征在各个位置i求和,记作:

f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) f_k(y,x)= \sum_{i=1}^{n}f_k(y_{i-1},y_i,x,i) fk(y,x)=i=1nfk(yi1,yi,x,i)

权重记作:

w k = { λ k , l = 1 , 2 , . . . , K 1 u l , k = K 1 + l ; l = 1 , 2 , . . . , K 2 w_k= \begin{cases} \lambda_k,\quad l=1,2,...,K_1 \\ u_l,\quad k=K_1+l;l=1,2,...,K_2 \end{cases} wk={λk,l=1,2,...,K1ul,k=K1+l;l=1,2,...,K2

则CRF可以表示为:

P ( y ∣ x ) = 1 Z ( x ) e x p ( ∑ k = 1 K w k f k ( y , x ) ) P(y|x)=\frac{1}{Z(x)}exp(\sum_{k=1}^{K}w_kf_k(y,x)) P(yx)=Z(x)1exp(k=1Kwkfk(y,x))
Z ( x ) = ∑ y e x p ( ∑ k = 1 K w k f k ( y , x ) ) Z(x)=\sum_{y}exp(\sum_{k=1}^{K}w_kf_k(y,x)) Z(x)=yexp(k=1Kwkfk(y,x))


看看哪个归一化因子的求和,那个指数函数,是不是有点眼熟了,在进一步化简。令:
F ( y , x ) = ( f 1 ( y , x ) , . . . , f K ( y , x ) ) T F(y,x)=(f_1(y,x),...,f_K(y,x))^T F(y,x)=(f1(y,x),...,fK(y,x))T
则CRF进一步得到:
P ( Y ∣ X ) = e x p ( w T F ( y , x ) ) Z ( x ) P(Y|X)=\frac{exp(w^TF(y,x))}{Z(x)} P(YX)=Z(x)exp(wTF(y,x))
Z ( x ) = ∑ y e x p ( w T F ( y , x ) ) Z(x)=\displaystyle\sum_{y}exp(w^TF(y,x)) Z(x)=yexp(wTF(y,x))

看到这里是不是联想到了我们的逻辑回归,模型形式一样,将简化的crf模型和LR进行映射
w T → θ , f ( y , x ) → x w^T\to \theta,f(y,x)\to x wTθf(y,x)x
就可以发现CRF和LR(如下式)的共性,区别在于逻辑回归是用于二元分类,而在这里是多元分类(y有多个值)。逻辑回归看这里

P ( Y = 1 ∣ x ) = e x p ( θ ⋅ x ) 1 + e x p ( θ ⋅ x ) ; P ( Y = 0 ∣ x ) = 1 1 + e x p ( θ ⋅ x ) P(Y=1|x)=\frac{exp(\theta \cdot x)}{1+exp(\theta\cdot x)};\quad \quad P(Y=0|x)=\frac{1}{1+exp(\theta\cdot x)} P(Y=1x)=1+exp(θx)exp(θx);P(Y=0x)=1+exp(θx)1

2.4 特征函数如何理解

特征函数一般都是通过人工构造的方式来获得,顾名思义,符合这个特征,则函数就取1,否则就取0。比如在词性标注任务中,出现了后缀ed,特征 f 1 f_1 f1就取1,否则为0;出现了后缀ing,特征 f 2 f_2 f2就取1,否则为0。

这些特征函数可以很细,只要人工经验想到的,都可以作为特征函数,所以这就必然导致速度慢的缺陷。

关于权值,就是理解为参数,通过不断的调整,找到最优权值。

3 CRF的三个基本问题

3.1 概率计算问题

给定:

  • CRF模型: P ( Y ∣ X ) P(Y|X) P(YX)
  • 输入序列X和输出序列Y

计算:条件概率 P ( Y i = y i ∣ X = x i ) , P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) P(Y_i=y_i|X=x_i),P(Y_{i-1}=y_{i-1},Y_i=y_i|x) P(Yi=yiX=xi),P(Yi1=yi1,Yi=yix)以及对应数学期望问题。

前向-后向算法。

3.2 学习算法

给定:

  • 训练数据集,经验分布P(X,Y)

学习:

  • P ( Y ∣ X ) P(Y|X) P(YX)

实质上,CRF就是定义在时序数据上的对数线性模型,学习算法包括极大似然估计,正则化的极大似然估计。具体的优化算法有:改进的迭代尺度法,梯度下降法,拟牛顿法等等。由于逻辑回归和最大熵模型哦也都是对数线性模型,所以学习算法和优化算法可以详见这篇文章逻辑回归和最大熵模型

3.3 预测问题

给定:

  • 输入序列X,参数模型 P ( Y ∣ X ) P(Y|X) P(YX)

输出:

  • 条件概率最大的输出序列 y ∗ y^* y

即对观测序列进行标注,条件随机场的预测问题成为求非规范化概率最大的最优路径问题。

条件随机场(CRF)——1 理论详解_第7张图片

依旧采用Viterbi算法。和HMM(hidden Markov Model)的预测算法类似。详见这里


关于条件随机场其他文章:

  • 条件随机场(CRF)——2 CRF、HMM、LR的比较
  • 条件随机场(CRF)——3 命名实体识别(NER)

你可能感兴趣的:(数学理论,自然语言处理,知识图谱,人工智能,自然语言处理)