1. 程式人生 > >【統計學習方法-李航-筆記總結】十一、條件隨機場

【統計學習方法-李航-筆記總結】十一、條件隨機場

本文是李航老師《統計學習方法》第十一章的筆記,歡迎大佬巨佬們交流。

主要參考部落格:

https://www.cnblogs.com/YongSun/p/4767734.html

 

主要內容:

1. 概率無向圖模型

2. 條件隨機場的定義與形式

3. 條件隨機場的概率計算問題

4. 條件隨機場的學習演算法

5. 條件隨機場的預測演算法

    條件隨機場(conditional random field, CRF)是給定一組輸入隨機變數條件下另一組輸出隨機變數的條件概率分佈模型,其特點是假設輸出隨機變數構成馬爾可夫隨機場。條件隨機場可以用於不同的預測問題,本章主要講述線性鏈(linear chain)條件隨機場在標註問題的應用,這時問題變成了由輸入序列對輸出序列預測的判別模型,形式為對數線性模型,其學習方法通常是極大似然估計或正則化的極大似然估計。

1. 概率無向圖模型

    概率無向圖模型(probabilistic undireoted graphical model),又稱為馬爾可夫隨機場(Markov random field),是一個可以由無向圖表示的聯合概率分佈。

(1)模型定義

    (graph):由結點(node)及連線結點的(edge)組成的集合。結點和邊分別記作 v 和 e,結點和邊的集合分別記作 V 和 E,圖記作G=(V,E)。無向圖是指邊沒有方向的圖。

    概率圖模型(probabilistic graphical model):由圖表示的概率分佈

。設有聯合概率分佈P(Y),Y是一組隨機變數。由無向圖G=(V,E)表示概率分佈P(Y),即在圖G中,每個結點 v 表示一個隨機變數Y_{v};每條邊e表示隨機變數之間的概率依賴關係。

    給定一個聯合概率分佈P(Y)和表示它的無向圖G,有如下幾個概念:    

    成對馬爾可夫性:設u和v是無向圖G中任意兩個沒有邊連線的結點,結點u和v分別對應隨機變數Yu和Yv,其他所有結點為O,對應的隨機變數組是Yo。成對馬爾可夫性是指給定隨機變數組Yo的條件下隨機變數Yu和Yv是條件獨立的,即:

    

    區域性馬爾可夫性:設v是無向圖G中任意一個結點,W是與v有邊連線的所有結點,O是v, W以外的其他所有結點。分別表示隨機變數Yv,以及隨機變數組Yw和Yo。區域性馬爾可夫性是指在給定隨機變數組Yw的條件下隨機變數Yv與隨機變數組Yo是獨立的,即:

    在時,等價地,

    區域性馬爾可夫性圖示:

    

    全域性馬爾可夫性:設結點集合A, B是在無向圖G中被結點集合C分開的任意結點集合,如圖11.2所示。結點集合A, B和C所對應的隨機變數組分別是YA,YB和YC。全域性馬爾可夫性是指給定隨機變數組YC條件下隨機變數組YA,YB是條件獨立的,即:

    

    

    (個人理解:全域性馬爾可夫性是對區域性的擴充套件,相當於把中心點擴充套件成了點集合)

    概率無向圖:設有聯合概率分佈P(Y),由無向圖G=(V,E)表示,在圖G中,結點表示隨機變數,邊表示隨機變數之間的依賴關係。如果聯合概率分佈P(Y)滿足成對、區域性或全域性馬爾可夫性,就稱此聯合概率分佈為概率無向圖模型(probability undirected graphical model),或馬爾可夫隨機場( Markovrandom field )。

   對給定的概率無向圖模型,我們希望將整體的聯合概率寫成若干子聯合概率的乘積的形式,也就是將聯合概率進行因子分解,這樣便於模型的學習與計算。事實上,概率無向圖模型的最大特點就是易於因子分解。

(2)概率無向圖模型的因子分解

    團與最大團:無向圖G中任何兩個結點均有邊連線的結點子集稱為團(clique)。若C是無向圖G的一個團,井且不能再加進任何一個G的結點使其成為一個更大的團,則稱此C為最大團(maximal clique)。如下圖所示:

    

    圖11.3表示由4個結點組成的無向圖。圖中由2個結點組成的團有5個:{Y1,Y2},{Y3,Y4},{Y2,Y3},{Y3,Y4},{Y4,Y2}和{Y1,Y3}。有2個最大團{Y1,Y2,Y3}和{Y2,Y3,Y4}。而{Y1,Y2,Y3,Y4}不是一個團,因為Y1和Y4沒有邊連線。

    無向圖的因子分解:將概率無向圖模型的聯合概率分佈表示為其最大團上的隨機變數的函式的乘積形式的操作,稱為概率無向圖模型的因子分解(factorization)。

    給定概率無向圖模型,設其無向圖為G,C為G上的最大團,YC表示C對應的隨機變數。那麼概率無向圖模型的聯合概率分佈P(Y)可寫作圖中所有最大團C上的函式的乘積形式,即:,其中,Z是規範化因子,。規範化因子P(Y)保證P(Y)構成一個概率分佈,函式稱為勢函式,

    概率無向圖模型的因子由以下定理來保證:

    Hammersley-CIifford定理:概率無向圖模型的聯合概率分佈P(Y)可以表示為如下形式:

    

    C是無向圖的最大團,YC是C的結點對應的隨機變數,是C上定義的嚴格正函式,乘積是在無向圖所有的最大團上進行的。

2. 條件隨機場的定義與形式

(1)條件隨機場的定義

    條件隨機場是給定隨機變數X條件下,隨機變數Y的馬爾可夫隨機場。在條件概率模型P(Y|X)中,Y是輸出變數,表示標記序列,也把標記序列稱為狀態序列,X是輸入變數,表示需要標註的觀測序列。學習時,利用訓練資料集通過極大似然估計或正則化的極大似然估計得到條件概率模型;預測時,對於給定的輸入序列x,求出條件概率最大的輸出序列

    條件隨機場:設X與Y是隨機變數,P(Y | X)是在給定X的條件下Y的條件概率分佈。若隨機變數Y構成一個由無向圖G=(V,E)表示的馬爾可夫隨機場,即:

 

    對任意結點v成立,則稱條件概率分佈P(Y|X)為條件隨機場。式中w~v表示在圖G=(V,E)中與結點v有邊連線的所有結點w,w != v表示結點v以外的所有結點,Yv,Yu與Yw為結點v,u與w對應的隨機變數。

    現實中,一般假設X和Y有相同的圖結構。線性鏈條件隨機場的情況為:

    

    在此情況下,最大團是相鄰兩個結點的集合。如下圖所示:

    

    線性鏈條件隨機場:設X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)為線性連結串列示的隨機變數序列,若在給定隨機變數序列X的條件下,隨機變數序列Y的條件概率分佈P(Y I X)構成條件隨機場。即滿足馬爾可夫性

    

    則稱P(Y I X)為線性鏈條件隨機場。

(2)條件隨機場的引數化形式

    線性鏈條隨機場的引數化形式:設P(Y|X)為線性鏈條隨機場,則在隨機變數X取值為x的條件下,隨機變數Y取值為y的條件概率具有如下形式:

    其中,

    t_{k}s_{k}是特徵函式,\lambda _{k}\mu _{t}是對應的權值,Z(x)是規範化因子,求和是在所有可能的輸出序列上進行的。t_{k}是定義在上的特徵函式,稱為轉移特徵,依賴於當前和前一個位置,s_{k}是定義在結點上的特徵函式,稱為狀態特徵,依賴於當前位置,t_{k}s_{k}都依賴於位置,是區域性特徵函式,通常,特徵函式t_{k}s_{k}取值為1或0,當滿足特徵條件時取1,否則為0,條件隨機場完全由特徵函式t_{k}s_{k}和對應的權值\lambda _{k}\mu _{t}確定。

    線性鏈條件隨機場也是對數線性模型。對於t_{k}s_{k}的理解例子如下:

    

    

    上題的思路是:把標記y=(1,2,2)分別帶入上式的t1-t5以及s1-s4的條件中判斷,若滿足,則該式取1,再乘以權值,則最後得到的是權值的大小,例如,y1=1,y2=2,滿足條件t1,因此t1那部分式子結果為1,同理,t4 =0.2,s1=1,s2=0.5,s4=0.5,其他均為0,因此最後結果為3.2。

    

(3)條件隨機場的簡化形式

    可以對同一個特徵在各個位置求和,將區域性特徵函式轉化為一個全域性特徵函式,這樣就可以將條件隨機場寫成權值向量和特徵向量的內積形式,即條件隨機場的簡化形式。

    首先將轉移特徵和狀態特徵及其權值用統一的符號表示,設有K1個轉移特徵,K2個狀態特徵,K=K1+K2,記:

    

    然後,對轉移與狀態特徵在的各個位置i求和,記作:

    

    用wk表示特徵的權值,即:

    

    於是,條件隨機場可表示為:

    

    若以w表示權值向量,即:

    以F(y,x)表示全域性特徵向量,即:

    則條件隨機場可以寫成w與F(y,x)的內積形式:

    

    其中,

(4)條件隨機場的矩陣形式

    條件隨機場還可以用矩陣表示,假設條件隨機場,則:

    對於觀測序列x的每一個位置i=1,2,...,n+1,定義一個m階矩陣(m是標記yi的取值個數):

    

    這樣,給定觀測序列x,標記序列y的非規範化概率可以通過n+1個矩陣的乘積表示,於是,條件概率是:

    

    其中,是規範化因子,是n+1個矩陣的乘積元素:,是以start為起點,stop為終點的通過狀態的所有路徑y1,y2,...yn的非規範化概率之和。如下例所示:

    

     

    

3. 條件隨機場的概率計算問題

    條件隨機場的概率計算問題是給定條件隨機場P(YIX),輸入序列x和輸出序列Y,計算條件概率P(Yi=yi | x ),P(Yi-1=yi-1,Yi=yi | x)以及相應的數學期望的問題。可以像隱馬爾可夫模型那樣引進前向-後向演算法。

(1)前向-後向演算法

    對於每個指標i=0,1,...,n+1,定義前向向量\alpha _{i}(x)

    

    遞推公式為:

    又可表示為:

    \alpha _{i}(y_{i}|x)表示在位置i的標記是yi並且到位置i的前部分標記序列的非規範化概率,yi可取的值有m個,所以\alpha _{i}(x)是m維列向量。

    同樣,對每個指標i = 0,1,...,n+1,定義後向向量\beta _{i}(x)

    

    遞推公式:

    又可以表示為:

   \beta _{i}(y_{i}|x)表示在位置i的標記是yi並且到位置i+1的後部分標記序列的非規範化概率。

    由前向-後向向量定義不難得到:

(2)概率計算

    按照前向-後向向量的定義,很容易計算標記序列在位置i是標記yi的條件概率和在位置i-1與i是標記y_{t-1}y_{t}的條件概率:

    

    

    其中,

(3)期望值計算

    特徵函式f_{k}關於條件分佈P(Y|X)的數學期望是:

    

    其中,

    假設經驗分佈為,特徵函式f_{k}關於聯合分佈P(X,Y)的數學期望是:

    

    其中,

4. 條件隨機場的學習演算法

(1)改進的迭代尺度法

    已知訓練資料集,由此可知經驗概率分佈為,可以通過極大化訓練資料的對數似然函式來求模型引數:

    訓練資料的對數似然函式為:

    當Pw是一個條件隨機場模型時,對數似然函式為:

    

    改進的迭代尺度法通過迭代的方法不斷優化對數似然函式改變數的下界,達到極大化對數似然函式的目的。

    假設模型當前引數向量為,向量的增量為:

    關於轉移特徵tk的更新方程為:

    

    關於狀態特徵st的更新方程:

   

    這裡,T(x,y) 是資料(x,y)中出現所有特徵數的總和:

    演算法描述如下:

    

    S演算法:上述T(x,y)表示資料(x,y)中的特徵總數,對不同的資料(x,y)取值可能不同,為了處理這個問題,有了S演算法。

    定義鬆弛特徵:

    式中,S是一個常數,選擇足夠大的S可使對於所有資料(x,y),都有s(x,y)大於等於0,這事特徵總數可取S。

    因此,對於轉移特徵的更新方程是:

    

    其中,

   對於狀態特徵st的更新方程是:

    

    其中,

    T演算法:在演算法S中,要S足夠大,這樣一來每步的迭代增量會變大,收斂會減慢,為了解決這一問題,有T演算法。

    定義每個觀測序列x的特徵總數最大值T(x),

    利用前向-後向公式,可得

    這時,關於轉移特徵引數的更新方程可以寫成:

    

    關於狀態特徵引數的引數更新方程可以寫為:

   

(2)擬牛頓法

    條件隨機場模型的學習還可以應用牛頓法,對於條件隨機場模型:

    

    學習的優化目標函式是:

    其梯度函式是:

    演算法描述如下:

    

5. 條件隨機場的預測演算法

    條件隨機場的預測問題是給定條件隨機場P(Y | X)和輸入序列(觀測序列)x,求條件概率最大的輸出序列(標記序列) y*,即對觀測序列進行標註。條件隨機場的預測演算法是著名的維特比演算法(詳見https://blog.csdn.net/zl3090/article/details/83152067)。

    根據條件隨機場的向量形式,有:

    

    於是,條件隨機場的預測問題成為求非規範化概率最大的最優路徑問題:

    這裡,路徑表示標記序列,其中:

    

    為了方便計算,寫為如下形式:

    其中,

    維特比演算法的描述如下:

    

    例子如下;