条件随机场
2021-09-26

 

条件随机场概述

条件随机场(conditional random field, CRF)是一种条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。对于线性链条件随机场,其问题变成了由输入序列对输出序列预测的判别模型,形式为对数线性模型,学习方法通常是极大似然估计或正则化的极大似然估计。

概率无向图模型

概率无向图模型,又称为马尔可夫随机场,是一个可以由无向图表示的联合概率分布。

基本概念

是由结点及连接结点的边组成的集合。结点和边分别记作ve,结点和边的集合分别记作VE,图记作G=(V,E)。无向图是指边没有方向的图。

概率图模型是由图表示的概率分布。设有联合概率分布P(Y)YY是一组随机变量。概率分布P(Y)由无向图G=(V,E)表示,即在图G中,结点vV表示一个随机变量YvY=(Yv)vV;边e表示随机变量之间的概率依赖关系。

三种马尔可夫性

给定一个联合概率分布P(Y)和表示该模型的无向图G。对无向图表示的随机变量之间存在的马尔可夫性进行定义,马尔可夫性包括成对马尔可夫性、局部马尔可夫性、全局马尔可夫性,并且,这三种独立性是等价的。

  1. 成对马尔可夫性

成对马尔可夫性

uv是无向图G中任意两个没有边连接的结点,结点uv分别对应随机变量YuYv。其它所有结点为O,对应的随机变量组是YO。成对马尔可夫性是指给定随机变量组YO的条件下随机变量YuYv是条件独立的,即:

(1)P(Yu,YvYO)=P(YuYO)P(YvYO)
  1. 局部马尔可夫性

局部马尔可夫性

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

(2)P(Yv,YOYW)=P(YvYW)P(YOYW)=P(YvYO,YW)P(YOYW)

P(YOYW)>0时,等价地:

(3)P(YvYW)=P(YvYO,YW)

该公式可以概括为:

(4)P(YvYQ,vQ)=P(YvYS,vS)vQvvSv
  1. 全局马尔可夫性

全局马尔可夫性

设结点集合AB是在无向图G中被结点集合C分开的任意结点集合。结点集合ABC所对应的随机变量组分别是YAYBYC。全局马尔可夫性是指给定随机变量组YC条件下随机变量组YAYB是条件独立的,即

(5)P(YA,YBYC)=P(YAYC)P(YBYC)

概率无向图模型定义

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

简记:概率无向图模型是P(Y)P(Y)可以由无向图表示,且无向图结点间的概率满足马尔可夫性。

 

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

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

最大团

如上图所示的无向图,最大团为:{Y1,Y2,Y3}{Y2,Y3,Y4}

 

(HammersleyClifford) 概率无向图模型的联合概率分布P(Y)可以表示为如下形式:

(6)P(Y)=1ZCΨC(YC)Z=YCΨC(YC)CYCCΨC(YC)C

上述定理表明,概率无向图模型的联合概率分布可以表示为其最大团上的随机变量的函数的乘积形式

 

条件随机场表示

条件随机场定义

条件随机场(conditional random field)是给定随机变量X条件下,随机变量Y的马尔可夫随机场。

() XY是随机变量,P(YX)是给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即:

(7)P(YvX,Yw,wv)=P(YvX,Yw,wv)

对任意结点v成立,则称条件概率分布P(YX)为条件随机场。式中wv表示在图G=(V,E)中与结点v有边连接的所有结点wwv表示结点v以外的所有结点,YvYuYw为结点vuw对应的随机变量。

在定义中并没有要求XY具有相同的结构。

线性链条件随机场定义

现实中,一般假设条件随机场中XY具有相同结构。现假设无向图为下图所示的线性链的情况,即图的定义为:

(8)G=(V={1,2,,n},E={(i,i+1)}),i=1,2,,n1

在此情况下,X=(X1,X2,,Xn),Y=(Y1,Y2,,Yn),最大团是相邻两个结点的集合。

线性链条件随机场

同结构线性链条件随机场

线性链条件随机场可以用于标注等问题。这时,在条件概率模型P(YX)中,Y是输出变量,表示预测出的标记序列X是输入变量,表示需要标注的观测序列。例如,X={}Y={}

 

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

(9)P(YiX,Y1,,Yi1,Yi+1,,Yn)=P(YiX,Yi1,Yi+1)i=1,2,,n( 在 i=1 和 n 时只考虑单边 )

则称P(YX)为线性链条件随机场。在标注问题中,X表示输入观测序列,Y表示对应的输出标记序列或状态序列。

 

条件随机场的参数化形式

根据HammersleyClifford,可以给出线性链条件随机场的因子分解式,各因子是定义在相邻两个结点(最大团)上的势函数。

(线) P(YX)为线性链条件随机场,则在随机变量X取值为x的条件下,随机变量Y取值为y的条件概率具有如下形式:

(10)P(yx)=1Z(x)exp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i))Z(x)=yexp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i))tksltksl01λkμlZ(x)

条件随机场的简化形式

在条件随机场的参数化形式中,同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积的形式,即条件随机场的简化形式。

首先,将转移特征和状态特征及其权值用统一的符号表示。

设有K1个转移特征,K2个状态特征,K=K1+K2,记:

(11)fk(yi1,yi,x,i)={tk(yi1,yi,x,i),k=1,2,,K1sl(yi,x,i),k=K1+l;l=1,2,,K2

然后,对转移和状态特征在各个位置i求和,得到全局特征函数,记作:

(12)fk(y,x)=i=1nfk(yi1,yi,x,i),k=1,2,,K

wk表示特征fk(y,x)的权值,得到全局特征权值,即:

(13)wk={λk,k=1,2,,K1μl,k=K1+l;l=1,2,,K2

于是,条件随机场(10)可表示为:

(14)P(yx)=1Z(x)expk=1Kwkfk(y,x)Z(x)=yexpk=1Kwkfk(y,x)

若以F(y,x)表示全局特征向量,即:

(15)F(y,x)=(f1(y,x),f2(y,x),,fK(y,x))T

w表示权值向量,即:

(16)w=(w1,w2,,wK)T

那么,条件随机场可以写成向量wF(y,x)的内积的形式:

(17)Pw(yx)=exp(wF(y,x))Zw(x)Zw(x)=yexp(wF(y,x))

条件随机场的矩阵形式

条件随机场还可以由矩阵表示。假设Pw(yx)是由(14)给出的线性链条件随机场,表示对给定观测序列x,相应的标记序列y的条件概率。

对每个标记序列引进特殊的起点和终点状态标记y0=startyn+1=stop,这时标注序列的概率Pw(yx)可以通过矩阵形式表示并有效计算。

对观测序列x的每一个位置i=1,2,,n+1,由于yi1yim个标记中取值,可以定义一个m矩阵随机变量

(18)Mi(x)=[Mi(yi1,yix)]m×m

矩阵随机变量的元素为:

(19)Mi(yi1,yix)=exp(Wi(yi1,yix))Wi(yi1,yix)=k=1Kwkfk(yi1,yi,x,i)fkwk(12)(13)yi1yiYi1Yi

这样,给定观测序列x,相应标记序列y的非规范化概率可以通过该序列n+1个矩阵的适当元素的乘积i=1n+1Mi(yi1,yix)表示。因此,条件概率Pw(yx)为:

(20)Pw(yx)=1Zw(x)i=1n+1Mi(yi1,yix)=1Zw(x)i=1n+1exp(Wi(yi1,yix))=1Zw(x)i=1n+1exp(k=1Kwkfk(yi1,yi,x,i))=1Zw(x)exp(i=1n+1k=1Kwkfk(yi1,yi,x,i))Zw(x)=[M1(x)M2(x)Mn+1(x)]start,stop 

可以看到,矩阵形式展开后与参数化形式或简化形式是一致的。

 

条件随机场概率计算问题

前向-后向算法

  1. 前向向量

    对每个指标i=0,1,,n+1,定义前向向量αi(x)

    (21)α0(yx)={1,y= start 0, 否则 

    递推公式为:

    (22)αiT(yix)=αi1T(yi1x)[Mi(yi1,yix)]i=1,2,,n+1

    又可表示为:

    (23)αiT(x)=αi1T(x)Mi(x)

    αi(yix)表示在位置i的标记是yi并且从1到i的前部分标记序列的非规范化概率,yi可取的值有m个,所以αi(x)m维列向量。

  2. 后向向量

    对每个指标i=0,1,,n+1,定义后向向量βi(x)

    (24)βn+1(yn+1x)={1,yn+1= stop 0, 否则 

    递推公式为:

    (25)βi(yix)=[Mi+1(yi,yi+1x)]βi+1(yi+1x)

    又可表示为:

    (26)βi(x)=Mi+1(x)βi+1(x)

    βi(yix)表示在位置i的标记为yi并且从i+1n的后部分标记序列的非规范化概率。

概率计算

根据前向-后向向量的定义,可以得出如下概率:

(27)P(Yi=yix)=αiT(yix)βi(yix)Z(x)P(Yi1=yi1,Yi=yix)=αi1T(yi1x)Mi(yi1,yix)βi(yix)Z(x)Z(x)=αnT(x)1=1β1(x)11m

期望值的计算

利用前向-后向向量,可以计算特征函数关于联合分布P(X,Y)和条件分布P(YX)的数学期望。

  1. 特征函数fk关于条件分布P(YX)的数学期望

    (28)EP(YX)[fk]=yP(yx)fk(y,x)=i=1n+1yi1yifk(yi1,yi,x,i)αi1T(yi1x)Mi(yi1,yix)βi(yix)Z(x)Z(x)=αnT(x)1k=1,2,,K
  2. 特征函数fk关于联合分布P(X,Y)的数学期望

    假设经验分布为P~(x),那么特征函数fk关于联合分布P(X,Y)的数学期望为:

    (29)EP(X,Y)[fk]=x,yP(x,y)i=1n+1fk(yi1,yi,x,i)=xP~(x)yP(yx)i=1n+1fk(yi1,yi,x,i)=xP~(x)i=1n+1yi1yifk(yi1,yi,x,i)αi1T(yi1x)Mi(yi1,yix)βi(yix)Z(x)Z(x)=αnT(x)1k=1,2,,K

条件随机场的学习算法

改进的迭代尺度法

已知训练数据集,由此可知经验概率分布P~(X,Y)。可以通过极大化训练数据的对数似然函数来求模型参数。

训练数据的对数似然函数为:

(30)L(w)=LP~(Pw)=logx,yPw(yx)P~(x,y)=x,yP~(x,y)logPw(yx)

Pw是一个由(14)给出的条件随机场模型时,对数似然函数为:

(31)L(w)=x,yP~(x,y)logPw(yx)=x,y[P~(x,y)k=1Kwkfk(y,x)P~(x,y)logZw(x)]=j=1Nk=1Kwkfk(yj,xj)j=1NlogZw(xj)

改进的迭代尺度法通过迭代的方法不断优化对数似然函数改变量的下界,达到极大化似然函数的目的。

假设模型的当前参数向量为w=(w1,w2,,wK)T,向量的增量为δ=(δ1,δ2,,δK),更新参数向量为w+δ=(w1+δ1,w+δ2,,wK+δK)T。在每步迭代过程中,改进的迭代尺度法通过依次求解(32)(33),得到δ=(δ1,δ2,,δK)

  1. 关于转移特征tk的更新方程

    (32)EP~[tk]=x,yP~(x,y)i=1n+1tk(yi1,yi,x,i)=x,yP~(x)P(yx)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y))k=1,2,,K1
  2. 关于状态特征sl的更新方程

(33)EP~[sl]=x,yP~(x,y)i=1n+1sl(yi,x,i)=x,yP~(x)P(yx)i=1nsl(yi,x,i)exp(δK1+lT(x,y))l=1,2,,K2

这里,T(x,y)是在数据(x,y)中出现所有特征数的总和:

(34)T(x,y)=kfk(y,x)=k=1Ki=1n+1fk(yi1,yi,x,i)

()

t1,t2,,tK1s1,s2,,sK2P~(x,y)

w^Pw^

(1)k{1,2,,K}wk=0

(2)k{1,2,,K}

(a)K=1,2,,K1δk

x,yP~(x)P(yx)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y))=EP~[tk]

(35)δk=1SlogEP~[tk]EP[tk]EP(tk)=xP~(x)i=1n+1yi1,yitk(yi1,yi,x,i)αi1T(yi1x)Mi(yi1,yix)βi(yix)Z(x)

K=K1+l,l=1,2,,K2δK1+l

x,yP~(x)P(yx)i=1nsl(yi,x,i)exp(δK1+lT(x,y))=EP~[sl]

(36)δK1+l=1SlogEP~[sl]EP[sl]EP(sl)=xP~(x)i=1nyisl(yi,x,i)αiT(yix)βi(yix)Z(x)

(b)wkwkwk+δk

(3)wk(2)

 

(34)中,T(x,y)表示数据(x,y)中的特征总数,对不同的数据(x,y)取值可能不同。为了处理该问题,定义松弛特征:

(37)s(x,y)=Si=1n+1k=1Kfk(yi1,yi,x,i)

式中S是一个常数。选择足够大的常数S使得对训练数据集的所有数据(x,y)s(x,y)0成立。此时特征总数可取S

拟牛顿法

条件随机场的对数似然函数为:

(38)L(w)=x,yP~(x,y)logPw(yx)

将条件随机场的简化形式带入得:

(39)L(w)=x,yP~(x,y)log[expk=1Kwkfk(y,x)Zw(x)]=x,yP~(x,y)[log(expk=1Kwkfk(y,x))logZw(x)]=x,yP~(x,y)k=1Kwkfk(y,x)x,yP~(x,y)logZw(x)=x,yP~(x,y)k=1Kwkfk(y,x)xyP~(x,y)logZw(x)=x,yP~(x,y)k=1Kwkfk(y,x)xlogZw(x)(yP~(x,y))=x,yP~(x,y)k=1Kwkfk(y,x)xlogZw(x)P~(x)=x,yP~(x,y)k=1Kwkfk(y,x)xP~(x)logyexpk=1Kwkfk(y,x)

f(w)=L(w),则最大化L(w)等价于最小化f(w),所以,优化目标函数为:

(40)minwRnf(w)=xP~(x)logyexp(i=1Kwifi(x,y))x,yP~(x,y)i=1Kwifi(x,y)

f(w)的梯度函数是:

(41)g(w)=x,yP~(x)Pw(yx)f(x,y)EP~(f)

(BFGS)

f1,f2,,fKP~(X,Y)

w^Pw^(yx)

(1)w(0)B0k=0

(2)gk=g(w(k))gk=0(3)

(3)Bkpk=gkpk

(4)λk使

f(w(k)+λkpk)=minλ0f(w(k)+λpk)

(5)w(k+1)=w(k)+λkpk

(6)gk+1=g(w(k+1))gk+1=0Bk+1

Bk+1=Bk+ykykTykTδkBkδkδkTBkδkTBkδk

yk=gk+1gk,δk=w(k+1)w(k)

(7)k=k+1(3)

 

条件随机场的预测算法

已知:

(42)w=(w1,w2,,wK)TF(y,x)=(f1(y,x),f2(y,x),,fK(y,x))Tfk(y,x)=i=1nfk(yi1,yi,x,i),k=1,2,,K

根据条件随机场的矩阵形式,可得:

(43)y=argmaxyPw(yx)=argmaxyexp(wF(y,x))Zw(x)=argmaxyexp(wF(y,x))=argmaxy(wF(y,x))

于是,条件随机场的预测问题成为求非规范化概率最大的最优路径问题:

(44)maxy(wF(y,x))

根据定义可以推导:

(45)wF(y,x)=(w1,w2,,wK)T(f1(y,x),f2(y,x),,fK(y,x))T=(w1,w2,,wK)T(i=1nf1(yi1,yi,x,i),i=1nf2(yi1,yi,x,i),,i=1nfK(yi1,yi,x,i))T=i=1n(w1,w2,,wK)T(f1(yi1,yi,x,i),f2(yi1,yi,x,i),,fK(yi1,yi,x,i))T=i=1nwFi(yi1,yi,x,i)Fi(yi1,yi,x,i)=(f1(yi1,yi,x,i),f2(yi1,yi,x,i),,fK(yi1,yi,x,i))T

因此,优化目标可以写成如下形式:

(46)maxyi=1nwFi(yi1,yi,x)Fi(yi1,yi,x,i)=(f1(yi1,yi,x,i),f2(yi1,yi,x,i),,fK(yi1,yi,x,i))T

()

Fi(yi1,yi,x,i),i=1,2,,nwx=(x1,x2,,xn)

y=(y1,y2,,yn)

(1)

δ1(j)=wF1(y0= start ,y1=j,x),j=1,2,,m

(2)i=2,3,,n

δi(l)=max1jm{δi1(j)+wFi(yi1=j,yi=l,x)},l=1,2,,m

Ψi(l)=argmax1jm{δi1(j)+wFi(yi1=j,yi=l,x)},l=1,2,,m

(3)

maxy(wF(y,x))=max1jmδn(j)

yn=argmax1jmδn(j)

(4)

yi=Ψi+1(yi+1),i=n1,n2,,1

y=(y1,y2,,yn)

 

参考文档

  1. 《统计学习方法》啃书手册|第11章 条件随机场 - 知乎 (zhihu.com)
  2. 一文读懂机器学习概率图模型(附示例和学习资源) - 云+社区 - 腾讯云 (tencent.com)