天天看點

機器學習之條件随機場(CRF)

CRF即條件随機場(Conditional Random Fields),是在給定一組輸入随機變量條件下另外一組輸出随機變量的條件機率分布模型,它是一種判别式的機率無向圖模型,既然是判别式,那就是對條件機率分布模組化。

CRF較多用在自然語言處理和圖像處理領域,在NLP中,它是用于标注和劃分序列資料的機率化模型,根據CRF的定義,相對序列就是給定觀測序列X和輸出序列Y,然後通過定義條件機率P(Y|X)來描述模型。

CRF的輸出随機變量假設是一個無向圖模型或者馬爾科夫随機場,而輸入随機變量作為條件不假設為馬爾科夫随機場,CRF的圖模型結構理論上可以任意給定,但我們常見的是定義線上性鍊上的特殊的條件随機場,稱為線性鍊條件随機場。

前面說到CRF的輸出随機變量是一個機率無向圖模型,那麼現在看看該模型。

機率無向圖模型是由無向圖表示的聯合機率分布,假設聯合機率分布P(Y)通過無向圖來表示,則在圖中節點表示随機變量,邊表示随機變量之間的依賴關系,聯合機率分布P(Y)滿足馬爾科夫性則稱其為機率無向圖模型,或者是馬爾科夫随機場。

如下圖,圖是一個由節點和邊組成的結構體,無向是指邊沒有方向,整個圖記作G=(V,E),其中V為節點的集合,E為邊的集合。

機器學習之條件随機場(CRF)

每個節點v對應一個随機變量Yv,于是Y=Yv|v∈V,在觀察序列X的條件下,每個随機變量Yv都滿足馬爾科夫特性,即

P(Yv|X,Yw)=p(Yv|X,Yw,w∼v) ,其中w∼v表示w和v是圖G中鄰近的兩個節點。

無向圖的結構理論上可以是任意的,但在NLP中對于标記處理問題,對其模組化主要用最簡單最普通的鍊式結構,即線性鍊條件随機場。如下圖,可以看到節點為線性鍊結構,節點對應了序列Y的元素,而觀察序列X不做任何獨立性假設,但X序列的結構也可以是線性鍊結構。

機器學習之條件随機場(CRF)

綜上所述,設有線性鍊結構的随機變量序列 X=(X1,X2,...,Xn),Y=(Y1,Y2,...,YN),在給定觀察序列X的條件下,随機變量序列Y的條件機率分布為P(Y|X),若其滿足馬爾科夫特性,即

P(Yi|X,Y1,Y2...Yn)=P(Yi|X,Yi−1,Yi+1),這時P(Y|X)則為線性鍊條件随機場。

線上性鍊條件随機場中,在給定的觀察序列X情況下,某個特定序列Y的機率為P(Y|X),根據定義有,

P(Y|X)=exp(∑i,kλktk(Yi−1,Yi,X,i)+∑i,lμlsl(Yi,X,i))

其中,tk(Yi−1,Yi,X,i)表示轉移函數,表示在序列X下序列Y在位置i-1及i對應的值轉移機率,而sl(Yi,X,i)表示狀态函數,表示在序列X下序列Y在位置i對應的值機率。另外λk,μl分别為兩個函數的權重。

轉移函數和狀态函數都稱為特征函數,特征函數一般取值0或1,滿足特征函數的則為1,否則為0。比如下面的轉移函數,隻有當Yi−1,Yi滿足一定的條件時才為1,否則為0。

tk(Yi−1,Yi,X,i)={1,0,conditionsaboutYi−1,Yiotherwise

如果我們令sl(Yi,X,i)=sl(Yi−1,Yi,X,i),則轉移函數和狀态函數可以統一由特征函數表示,對特征在各個位置i求和,有

Fk(Y,X)=∑ni=1fk(Yi−1,Yi,X,i)

最後再加上歸一化,最終條件随機場的條件機率為,

P(Y|X)=1Z(X)exp(∑Kk=1λkFk(Y,X))

其中,

Z(X)=∑yexp(∑Kk=1λkFk(Y,X))

訓練CRF主要就是要訓練特征函數的權重,對于訓練集(x1,y1),(x2,y2),...,(xn,yn),采用極大似然估計法計算權重參數,條件機率的對數似然函數為:

L(λ)=∑x,yp~(x,y)∑ni=1(∑Kk=1λkfk(yi−1,yi,x,i))−∑xp~(x)logZ(x)

其中p~(x,y)為訓練樣本集中xy的經驗機率,它等于xy同時出現的次數除以樣本空間容量;p~(x)為訓練樣本集中x的經驗機率,它等于x出現的次數除以樣本空間容量。

然後對λ求導,令其為0再求解出λ,即得到解。因為極大似然估計法不一定能得到一個近似解,是以需要利用一些疊代技術來确定參數,比如GIS或IIS算法,這裡不再深入。

如果資訊是與時間或空間的前後有關聯時要考慮到CRF。

以下是廣告

========廣告時間========

<a href="http://blog.csdn.net/wangyangzhizhou/article/details/74080321" target="_blank">為什麼寫《Tomcat核心設計剖析》</a>

=========================

歡迎關注:

機器學習之條件随機場(CRF)
機器學習之條件随機場(CRF)