標注-CRF條件隨機場理論的介紹



條件隨機場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算法都是常見的通用算法,可用於解決很多問題,理解即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM