条件随机场conditional random field,给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型。特点是假设输出随机变量构成马尔可夫随机场。条件随机场可用于不同的预测问题。主要的线性链条件随机场,是对输入序列对输出序列预测的判别模型,形成为对数线性模型,学习方法常为极大似然估计或正则化极大似然估计,可应用于标注问题,2001年Lafferty提出。
首先放一个链接:轻松理解CRF
理解:http://blog.csdn.net/xiangyong58/article/details/51381477
1 概率无向图模型
probabilistic undirected graphical model,又称为马尔可夫随机场(Markov random filed)是一个由无向图表示的联合概率分布。
1.1 模型定义
图graph由结点(node)和连接结点的边(edge)组成的集合。结点记作ν,边e,结点集合V,边集合E,图记作(V,E),无向图指的是没有方向。
概率图模型(probabilistic graphical model)是由图表示的概率模型。设联合概率分布P(Y),Y是一组随机变量,由无向图G(V,E)表示概率分布,即在图中,ν表示一个随机变量Yν,Y=Yν;边e表示随机变量的依赖关系。
给定一个联合概率分布P(Y)和表示它的无向图G,首先定义无向图表示的随机变量之间存在的成对马尔可夫性(pairwise Markov property),局部马尔可夫性(local Markov property)和全局马尔可夫性(global Markov property)。
pairwise Markov property:G图上任意两个没有连接的结点μ和ν对应的随机变量Yμ,Yν,其他结点用O表示,对应的随机变量为Yo,则成对Markov property指的是给定随机变量组Yo条件下随机变量Yμ,Yν是条件独立的,即
local Markov property:设ν是G的任意一个结点,W是与ν有边连接的所有结点,O是与ν和W以外的其他所有结点,那么本定义指的是给定随机变量组Yw条件下随机变量Yν与随机变量组Yo是独立的,即
在P(Yo|Yw)>0时,等价于(做除法即可得到)
global Markov property:设结点集合A,B是在无向图G中被结点集合C分开的任意结点集合,本定义是指给定随机变量组Yc条件下随机变量组YA和YB是条件独立的,即
概率无向图模型的定义:设有联合概率分布P(Y),由无向图G=(V,E)表示,在图G中结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对,局部或全局马尔可夫性就称为马尔可夫随机场(Markov random filed)。
目标:给定马尔可夫随机场希望求得其概率,那么如果将整体的联合概率分布写成若干联合概率的乘积形式,也就是将联合概率进行因子分解。而概率无向图模型最大的特点就是易于因子分解。
1.2 因子分解
团与最大团:无向图中任何两个结点均有边连接的结点子集称为团(clique);若C是无向图G的一个团,并且不能再加进任何一个G的结点使其称为更大的一个团,则称C为最大团(maximal clique)。
因子分解(factorization):将概率无向图的联合概率分布表示为其最大团上的随机变量函数的乘积形式的操作。
给定概率无向图模型,设为G,C为G上最大团,Yc表示C对应的随机变量,那么概率无向图模型的联合概率分布P(Y),可写作最大团C上函数的乘积形式:
,其中Z是规范化因子(normalization factor)保证了P(Y)构成一个概率分布;
函数称为势函数(potential function),要求势函数必须为严格正的,因此常定义为指数函数:
2 条件随机场的定义
条件随机场(conditional random field,CRF):给定随机变量X条件下,随机变量Y的马尔可夫随机场。这里主要介绍线性链上特殊的条件随机场——线性链条件随机场(linear chain conditional random field)。这是,条件概率模型P(Y|X)中Y是输出变量,表示标记序列;X是输入变量表示需要标注的观测序列。也把标记序列称为状态序列。学习时,利用训练数据集通过极大似然估计或正则化极大似然估计得到条件概率模型;预测时,对于给定的输入序列x,求出条件概率最大的输出序列Y hat。
条件随机场数学定义:设X,Y是随机变量,P(Y|X)是给定X条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E),表示的马尔可夫随机场,即
对任意结点ν成立,则称条件概率分布P(Y|X)为条件随机场,w~ν表示在图G中与结点ν有边连接的所有结点w,表示结点ν以外的所有结点,Yν,Yμ,Yw表示结点ν,μ,w对应的随机变量。
线性链条件随机场数学定义:设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若给定随机变量序列X条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性:
,i=1,2,…n(i=1和i=n时只考虑单边)
则称P(Y|X)为线性链条件随机场。标注问题中,X表示输入观测序列,Y表示对应的输出标记序列或状态序列。
2.2 条件随机场的参数化形式
由线性链的特点可知,其最大团为相邻的结点,由因子分解定理可知P(Y|X)可以因子分解。
线性链条件随机场的参数化形式:设P(Y|X)为线性链条件随机场,则在随机变量X取值为x条件下,随机变量Y取值为y条件概率形式为:
其中,
式中tk和sl是特征函数,λk和μl是对应的权值,Z(x)是规范化因子,求和是在所有可能的输出序列上进行。
本式为线性链条件概率随机场模型的基本形式,表示给定输入序列x,对输出序列y预测的条件概率。tk是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置;sl是定义在结点上特征函数,称为状态特征,依赖于当前特征。tk和sl都依赖于位置,是局部特征。通常,特征函数tk和sl取值为1 or 0;当满足特征条件时取1,否则为0;条件随机场完全由特征函数tk和sl及对应的权值λk和μl确定。线性链条件随机场也是对数线性模型(log linear model)。
2.3 条件随机场的简化形式
条件随机场的原始公式中同一特征在各个位置都有定义,可以对同一特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。
首先将转移特征和状态特征及其权值用统一符号表示,设K1个转移特征,K2个状态特征,K=K1+K2,记
对转移和状态特征在各个位置i求和,记作,
用wk表示权值,即
条件随机场可表示为
,;
若w表示权值向量,即;
若F(y,x)表示全局特征向量,即;
则条件随机场写成w和F的内积形式:
,其中
2.4 条件随机场的矩阵形式
Pw(y|x)表示对给定观测序列x,相应的标记序列y的条件概率,引进特殊的起点和终点状态标记y0=start,yn+1=stop,这时Pw可通过矩阵形式表示。
对观测序列x的每一个位置i=1,2,…,n+1,定义一个m阶矩阵(m是标记yi的取值个数):
因此,给定观测序列x,标记序列y的非规范化概率通过n+1个矩阵的乘积表示,于是,条件概率Pw为:
,Zw(x)是规范化因子;
注意:规范化因子是从start到stop通过状态的所有路径y1y2.。。yn的非规范化概率之和。
3 条件随机场的概率计算问题
条件随机场概率计算问题是给定条件随机场P(Y|X),输入序列x和输出序列y,计算条件概率P(Yi=yi|x),P(Yi-1=yi-1|x)以及相应的数学期望。为了计算方便,引入前向-后向向量,递归地计算以上概率问题及期望值——前向-后向算法。
3.1 前向-后向算法
对每个指标i=0,1,…, n+1,定义前向向量αi(x):
递推公式为:
又可以表示为
表示在位置i标记是yi并且到位置i的前部分标记序列的非规范化概率,yi可取的值由m个,所以αi(x)是m维向量(m是yi的取值个数)。
同样,对每个指标i=0,1,…,n+1,定义后向向量βi(x):
递推公式:
又可以表示为:
βi(yi|x)表示在位置i的标记为yi并且从i+1到n的后半部分标记序列的非规范化概率。
由前向-后向向量得到规范化因子:,1是元素均为1的m维列向量。
3.2 概率计算
标记序列在位置i是标记yi的条件概率和位置i-1与i是标记yi-1和yi的条件概率为:
;
;
其中,
3.3 期望值的计算
利用前向-后向向量可以计算特征函数关于联合分布P(X,Y)和条件P(Y|X)的数学期望。
特征函数fk关于条件分布P(Y|X)的数学期望是
,k=1,2,3…,K,其中
假设经验分布为,特征函数fk关于联合分布P(X,Y)的数学期望是
对于转移特征:;
对于状态特征:,同理。
4 条件随机场的学习算法
学习算法指的是给定条件随机场估计条件随机场模型参数。CRF实际上是定义在时序数据上对数线性模型,学习算法包括:极大似然估计,正则化极大似然估计。具体的优化实现算法是改进的IIS,GD,及拟牛顿法。
4.1 改进的迭代尺度法IIS
已知训练集可知经验概率分布通过极大化训练数据的对数似然函数来求模型参数。
训练数据对数似然函数为
代入Pw的等式得,
改进的迭代尺度法通过迭代的方法不断优化对数似然函数该变量的下界,达到极大化对数似然函数的目的。假设模型的当前参数向量为,向量的增量为,更新参数向量为w+δ=(w1+δ1,…,wk+δk)T,在每次迭代过程中,IIS通过依次求解L得到。
关于转移特征tk的更新方程为
关于状态特征sl更新方程为
其中,T是所有数据(x,y)中出现所有特征数总和
条件随机场模型学习的改进的迭代尺度算法:
问题:T为所有数据(x,y)的特征总数,对不同的数据(x,y)可能取值不同,为了处理这个问题,定义松弛特征:
,S是一个常数, 通常选择S要 足够大,使得s(x,y)>=0。这时总特征总数取S。
那么,对于转移特征tk,δk的更新方程是
,
其中,
对状态特征sl,δk的更新方程是
,
其中,
以上称为算法S。在S中需要使常数S取足够大,这样每步的迭代增量向量会变大,算法收敛会变慢。因此算法T将解决这个问题。算法T对每个观测序列x计算其特征总数的最大值T(x),
利用前向-后向递推公式,得T(x)=t.两个更新方程为:
,
there,ak,t是特征tk的期待值,δk=logβk(βk是上述方程唯一的实根,可用牛顿法求得);
bl,t是特征sl的期待值,δl=logγl(γl是上述方程唯一的实根,可用牛顿法求得);
4.2 拟牛顿法
对于条件随机场模型:
学习的优化目标函数是:
其梯度函数是:
BFGS算法:
5 条件随机场的预测算法
条件随机场的预测问题是给定条件随机场P(Y|X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)y*,对观测序列进行标注。条件随机场的预测算法是维特比算法。
目标:
于是,CRF预测问题成为求非规范概率最大的最优路径问题,这里,路径表示标记序列。
其中,
只需计算非规范概率而不必求解概率。为了求解最优路径将上式max修改为,其中
是局部特征向量。
讲解维特比算法:
首先位置1的各个标记j=1,2,3,..,m的非规范化概率:;
递推公式,求得位置i的各个标记j=1,2,3,…,m的非规范概率,同时记录非规范化概率最大值的路径:
直到i=n时终止。这时求得非规范化概率最大值是;
最优路径的终点:;
由终点回溯:;
求得最优路径
条件随机场的维特比算法:
总结:CRF模型主要是对含有序列的信息打上标签,尤其是词性标注;这里主要理解CRF的主要工作过程,IIS,拟牛顿法,Viterbi算法都是常见的通用算法,可用于解决很多问题,理解即可。