条件随机场(CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。
定义1.1 (条件随机场)设XX与是随机变量,P(Y|X)P(Y|X)是在给定XX的条件下的条件概率分布。若随机变量YY构成一个由无向图表示的马尔科夫随机场,即
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w∼v)(1)(1)P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w∼v)
对任意结点vv成立,则称条件概率分布为条件随机场。式中w∼vw∼v表示在图G=(V,E)G=(V,E)中与结点vv有边连接的所有结点,w≠vw≠v表示结点vv以外的所有结点,,YuYu,YwYw为节点v,u,wv,u,w对应的随机变量。 定义1.2 (线性链条件随机场)设X=(X1,X2,...,Xn)X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)Y=(Y1,Y2,...,Yn)均为线性链表示的随机变量序列,若在给定的随机变量序列XX的条件下,随机变量序列的条件概率分布P(Y|X)P(Y|X)构成条件随机场,即满足马尔科夫性
P(Yi|X,Y1,...,Yi−1,Yi+1,...,Yn)=P(Yi|X,Yi−1,Yi+1)P(Yi|X,Y1,...,Yi−1,Yi+1,...,Yn)=P(Yi|X,Yi−1,Yi+1)
i=1,2,...,n(在i=1和n时只考虑单边)i=1,2,...,n(在i=1和n时只考虑单边)
则称P(Y|X)P(Y|X)为线性链条件随机场。在标注问题中,XX表示输入观测序列,表示对于的输出序列或状态序列。 定理1.1(线性链条件随机场的参数化形式)设P(Y|X)P(Y|X)为线性链条件随机场,则在随机变量XX取值为的条件下,随机变量YY取值为的条件概率具有如下形式:
P(y|x)=1Z(x)exp(∑i,kλktk(yi−1,yi,x,i)+∑i,lμlsl(yi,x,i))P(y|x)=1Z(x)exp(∑i,kλktk(yi−1,yi,x,i)+∑i,lμlsl(yi,x,i))
其中,Z(x)=∑yexp(∑i,kλktk(yi−1,yi,x,i)+∑i,lμlsl(yi,x,i))Z(x)=∑yexp(∑i,kλktk(yi−1,yi,x,i)+∑i,lμlsl(yi,x,i))
式中,tktk和slsl是特征函数,λkλk和μlμl是对应的权值。Z(x)Z(x)是规范化因子,求和是在所有可能的输出序列上进行的。
条件随机场的学习算法
算法1.1(条件随机场模型学习的改进的迭代尺度法)
输入:特征函数t1,t2,...,tK1t1,t2,...,tK1,s1,s2,...,sK2s1,s2,...,sK2;经验分布P~(x,y)P~(x,y);
输出:参数估计值w^w^;模型Pw^Pw^.
(1)对所有k∈{1,2,...,K}k∈{1,2,...,K},取初值wk=0wk=0
(2)对每一k∈{1,2,...,K}k∈{1,2,...,K}:
(a)当k=1,2,...,K1k=1,2,...,K1时,令δK1+lδK1+l是方程
∑x,yP~(x)P(y|x)∑i=1nsl(yi,x,i)exp(δK1+lT(x,y))=EP~[sl]∑x,yP~(x)P(y|x)∑i=1nsl(yi,x,i)exp(δK1+lT(x,y))=EP~[sl]
的解,式中T(x,y)=∑kfk(y,x)=∑k=1K∑i=1n+1fk(yi−1,yi,x,i)T(x,y)=∑kfk(y,x)=∑k=1K∑i=1n+1fk(yi−1,yi,x,i)
(b)更新wkwk的值:wk←wk+δkwk←wk+δk
(3)如果不是所有wkwk都收敛,重复步骤(2)。
算法1.2(条件随机场模型学习的BFGS法)
输入:特征函数f1,f2,...,fn;f1,f2,...,fn;经验分布P~(X,Y)P~(X,Y);
输出:最优参数值w^w^;最优模型Pw^(y|x)Pw^(y|x)
(1)选定初始点w(0)w(0),取B0B0为正定对称矩阵,置k=0k=0
(2)计算gk=g(w(k))gk=g(w(k)),若gk=0gk=0,则停止计算;否则转(3)
(3)由Bkpk=−gkBkpk=−gk求出pkpk
(4)一维搜索:求λkλk使得
f(w(k)+λkpk)=minλ≥0f(w(k)+λpk)f(w(k)+λkpk)=minλ≥0f(w(k)+λpk)
(5)置w(k+1)=w(k)+λkpkw(k+1)=w(k)+λkpk
(6)计算gk+1=g(w(k+1))gk+1=g(w(k+1)),若gk=0gk=0,则停止计算;否则按下式求出Bk+1Bk+1:
Bk+1=Bk+ykyTkyTkδk−BkδkδTkBkδTkBkδkBk+1=Bk+ykykTykTδk−BkδkδkTBkδkTBkδk
其中,yk=gk+1−gk,δk=w(k+1)−w(k)yk=gk+1−gk,δk=w(k+1)−w(k)
(7)置k=k+1k=k+1,转(3)。
算法1.3(条件随机场预测的维特比算法)
输入:模型特征向量F(y,x)F(y,x)和权值向量ww,观测序列;
输出:最优路径y∗=(y∗1,y∗2,...,y∗n)y∗=(y1∗,y2∗,...,yn∗)
(1)初始化
δ1(j)=w⋅F1(y0=start,y1=j,x),j=1,2,...,mδ1(j)=w⋅F1(y0=start,y1=j,x),j=1,2,...,m
(2)递推。对i=2,3,...,ni=2,3,...,n
δi(j)=max1≤j≤m{δi−1(j)+w⋅Fi(yi−1=j,yi=l,x)},l=1,2,...,mδi(j)=max1≤j≤m{δi−1(j)+w⋅Fi(yi−1=j,yi=l,x)},l=1,2,...,m
Ψi(j)=argmax1≤j≤m{δi−1(j)+w⋅Fi(yi−1=j,yi=l,x)},l=1,2,...,mΨi(j)=argmax1≤j≤m{δi−1(j)+w⋅Fi(yi−1=j,yi=l,x)},l=1,2,...,m
(3)终止
maxy(w⋅F(y,x))=max1≤j≤mδn(j)maxy(w⋅F(y,x))=max1≤j≤mδn(j)
y∗n=argmax1≤j≤mδn(j)yn∗=argmax1≤j≤mδn(j)
(4)返回路径
y∗i=Ψi+1(y∗i+1),i=n−1,n−2,...,1yi∗=Ψi+1(yi+1∗),i=n−1,n−2,...,1
求得最优路径y∗=(y∗1,y∗2,...,y∗n)y∗=(y1∗,y2∗,...,yn∗)