条件随机场(CRF) - 2 - 定义和形式
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/xueyingxue001/article/details/51498968
聲明:
???????? 1,本篇為個人對《2012.李航.統計學習方法.pdf》的學習總結,不得用作商用,歡迎轉載,但請注明出處(即:本帖地址)。
???????? 2,由于本人在學習初始時有很多數學知識都已忘記,所以為了弄懂其中的內容查閱了很多資料,所以里面應該會有引用其他帖子的小部分內容,如果原作者看到可以私信我,我會將您的帖子的地址付到下面。
???????? 3,如果有內容錯誤或不準確歡迎大家指正。
???????? 4,如果能幫到你,那真是太好了。
?
???????? 書上首先介紹概率無向圖模型,然后敘述條件隨機場的定義和各種表示方法,那這里也按照這個順序來。
概率無向圖模型(馬爾可夫隨機場)
???????? 其實這個又叫做馬爾可夫隨機場(MRF),而這里需要講解的條件隨機場就和其有脫不開的關系。
?模型定義
???????? 首先是無向圖。那什么是無向圖呢?
???????? 其實無向圖就是指沒有方向的圖....我沒有開玩笑,無向圖真是這玩意。只不過這里我們研究的無向圖的細節是:這個圖是有節點和連接節點的邊組成的集合,像下面這樣:
??????????????????
???????? 然后上面的節點表示一個個隨機變量,邊表示隨機變量之間的依賴關系。
???????? 為了方便用數學語言描述,我們把節點和邊分別記作v和e,節點和邊的集合分別記作V和E,于是圖就記作G=(V, E)。
???????? 無向圖清楚了,那什么是概率無向圖模型?是這樣。
???????? 假設有聯合概率分布P(Y),Y是屬于某個集合的一組隨機變量。如果用無向圖G=(V, E)表示概率分布p(Y)的話,那在圖G中,節點v∈V就表示一個隨機變量Yv, Y = (Yv)v∈V;邊e∈E表示隨機變量之間的概率依賴關系。而如果P(Y)滿足成對、局部或全局馬爾可夫性的話,就稱此聯合概率分布為概率無向圖模型,或馬爾可夫隨機場。
???????? 那么問題來了:什么是“成對、局部、全局馬爾可夫性”。
???????? 成對馬爾可夫性:
?????????????????? 設u和v是無向圖G中任意兩個沒有邊連接的節點,節點u和v分別對應隨機變量Yu和Yv。其他所有節點為O,對應的隨機變量是Yo。成對馬爾可夫性是指給定隨機變量組Yo的條件下隨機變量Yu和Yv是條件獨立的,即
??????????????????????????? P(Yu,Yv|Yo) = P(Yu|Yo)P(Yv|Yo)
???????? 局部馬爾可夫性:
?????????????????? 設v∈V是無向圖G中任意一個節點,W是與v有邊連接的所有節點,O是v、W以外的其他所有節點。v表示隨機變量是Yv,W表示的隨機變量組是YW,O表示的隨機變量組是Yo。局部馬爾可夫性是指在給定隨機變量組YW的條件下隨機變量Yv與隨機變量組Yo是獨立的,即
??????????????????????????? P(Yu,Yv|Yw) = P(Yv|Yw)P(Yo|Yw)
?????????????????? 在 P(Yo|YW)> 0時,等價地,
??????????????????????????? P(Yv|Yw)= P(Yv|Yw, Yo)
???????? 全局馬爾可夫性:
?????????????????? 設節點集合A,B是在無向圖G中被節點集合C分開的任意節點集合,如下圖所示:
???????????????????????????
?????????????????? 節點集合A,B和C所對應的隨機變量組分別是YA,YB,YC。全局馬爾可夫性是指給定隨機變量組YC條件下隨機變量組YA和YB是條件獨立的,即
??????????????????????????? P(YA,YB| YC) = P(YA|YC)P(YB|YC)
???????? 好了,那下面讓我們再次總結下概率無向圖模型。
???????? 概率無向圖模型:
?????????????????? 假設有聯合概率分布P(Y),用無向圖G=(V, E)表示,在圖G中,節點表示隨機變量;邊表示隨機變量之間的概率依賴關系。如何聯合概率分布P(Y)滿足成對、局部或全局馬爾可夫性的話,就稱此聯合概率分布為概率無向圖模型,或馬爾可夫隨機場。
???????? 以上是概率無向圖模型的定義,而實際上,我們更關心如何求其聯合概率分布P(Y)。于是,為了求解給定的概率無向圖模型,我們希望將整體的聯合概率寫成若干個子聯合概率的乘積形式,也就是將概率進行因子分界,這樣便于模型的學習與計算。而事實上,概率無向圖模型的最大特點就是便于因子分解。
?概率無向圖模型的因子分解
???????? 首先介紹因子分解時需要了解的兩個概念:團與最大團。
???????? 團:無向圖G中任何兩個結點均有邊連接的節點子集成為團。
???????? 最大團:若C是無向圖G的一個團,并且不能再加進任何一個G的節點使其成為一個更大的團,則稱此C為最大團。
???????? 如下圖所示:
??????????????????
???????? 圖11.3表示由4個節點組成的無向圖。圖中有2個節點組成的團有5個:{Y1, Y2},{Y2, Y3}, {Y3, Y4}, {Y4, Y2}, {Y1, Y3}。有兩個最大團:{Y1, Y2, Y3和{Y2, Y3, Y4}。而{Y1, Y2,Y3, Y4}不是一個團,因為Y1和Y4沒有邊連接。
???????? 于是,將概率無向圖模型的聯合概率分布表示為其最大團上的隨機變量的函數的乘積形式的操作,稱為概率無向圖模型的因子分解。
?
???????? 好了,需要了解的定義了解了,那我們就看看如何把這些定義用到聯合概率P(Y)上。
???????? 給定概率無向圖模型,設其無向圖為G,C為G上的最大團,YC表示C對應的隨機變量。那么概率無向圖模型的聯合概率分布P(Y)可寫作圖中所有最大團C上的函數ΨC(YC)的乘積形式,即:
??????????????????
???????? 其中,Z是規范化因子
??????????????????
???????? 規范化因子保證P(Y)構成一個概率分布。函數函數ΨC(YC)稱為勢函數。因為要求勢函數ΨC(YC)是嚴格正的,于是通常定義為指數函數:
??????????????????
???????? 概率無向圖模型的因子分解由下述定理來保證。
?Hammersley-Clifford定理
?????????????????? 概率無向圖模型的聯合概率分布P(Y)可以表示為如下形式:
???????????????????????????
?????????????????? 其中,C是無向圖的最大團,YC是C的節點對應的隨機變量,ΨC(YC)是C上定義的嚴格正函數,乘積是在無向圖所有的最大團上進行的。
條件隨機場(CRF)的定義與形式
???????? 我們再回顧下馬爾可夫隨機場(MRF),即概率無向圖模型。
???????? 馬爾可夫隨機場對應一個無向圖。這個無向圖上的每個節點對應一個隨機變量,節點之間的邊表示節點對應的隨機變量之間有概率依賴關系。(因此,MRF的結構其本質反映了我們的先驗知識 -- 哪些變量之間有依賴關系需要考慮,哪些可以忽略。)
???????? 然后我們再看看什么是條件隨機場(CRF)。
???????? 其實弄懂了MRF之后,CRF就很好理解了,因為如果給定的MRF中每個隨機變量下面還有觀察值,那么我們的目標就是要確定給定觀察集合下的MRF分布,也就是條件分布,而這種條件分布就是條件隨機場。
???????? 簡單的說,條件隨機場(CRF)類似于MRF,只不過CRF比MRF多了一個觀察集合,或者說,CRF本質上就是給定了觀察值集合的MRF。
???????? 下面給出定義。
?CRF定義
???????? 定義1:條件隨機場
???????? 設G=(V,E)是一個無向圖,Y={Yv|v∈V}是以G中節點v為索引的隨機變量Yv構成的集合。在給定X的條件下,如果每個隨機變量Yv服從馬爾可夫性,即
??????????????????
???????? 那么條件概率分布P(Y|X)就是一個條件隨機場。
???????? 上式中的w ~ v表示在圖G=(V, E)中與節點v有邊連接的所有節點,w≠v表示v以外的所有節點,Yv,Yu, Yw為w對節點v,u,w對應的隨機變量。
????????
???????? 需要說明的是:在定義中并沒有要求X和Y具有相同的結構(不過,在現實中一般假設X和Y有相同的圖結構),這里主要考慮無向圖G=(V,E)為如圖11.4與11.5所示的線性鏈的情況:
??????????????????
???????? 即:G=( V={1,2, ..., n}, E={(i, i+1)}) , i = 1, 2, ..., n-1。
???????? 在此情況下:X =(X1, X2, ..., Xn), Y = (Y1, Y2, ..., Yn),最大團是相鄰兩個結點的集合。
???????? 根據上面的情況,線性鏈條件隨機場有如下定義。
?
???????? 定義2:線性鏈條件隨機場
???????? 設X = (X1, X2,..., Xn), Y = (Y1, Y2, ..., Yn)均為線性鏈表示的隨機變量序列,若在給定隨機變量序列X的條件下,隨機變量序列Y的條件概率分布P(Y|X)構成條件隨機場,即滿足馬爾可夫性(見本文最開始的“模型定義”部分):
?????????????????? P(Yi| X, Y1, ..., Yi-1, Yi+1, ...., Yn)= P(Yi | X, Yi-1, Yi+1)
??????????????????????????? i= 1, 2, ..., n (在i=1和n時只考慮單邊)
???????? 則稱P(Y|X)為線性鏈條件隨機場。
???????? 在標注問題中,X表示輸入觀測序列,Y表示對應的輸出標記序列或狀態序列。
?條件隨機場的參數化形式
???????? 上面有定義了,那下面就需要用更精確的方程式來表示線性鏈條件隨機場P(Y|X),即:給出線性鏈條件隨機場的參數化形式。
???????? 先給出定義吧。
?
???????? 定義:線性鏈條件隨機場的參數化形式
???????? 設P(Y|X)為線性鏈條件隨機場,則在隨機變量X取值為x的條件下,隨機變量Y取值為y的條件概率具有如下形式:
??????????????????
???????? 其中,
??????????????????
???????? 式中,tk和sl是特征函數,λk和μl是對應的權值。Z(x)是規范化因子,求和時在所有可能的輸出序列上進行的。
PS:這里是我對11.10式exp中內容的理解。
??? 之前我們說了“這里主要考慮無向圖G=(V,E)為如圖11.4與11.5所示的線性鏈的情況”,這意味著什么呢?這意味著:把P(Y|X)因子分解后,各因子是定義在相鄰兩個節點上的函數,而這個函數需要既能包括“從上個節點轉移到這個節點的情況”又能包括“給出當前節點是什么標記的情況”(還記得在“條件隨機場(CRF) - 1 - 簡介”中提到的給照片打TAG的例子么?)。
???????? 既然如此,那我就定義:
?????????????????? t(yi-1, yi, x, i)表達“在給定觀測x的情況下從上個節點yi-1轉移到這個節點yi的情況”
?????????????????? s(yi, x, i)表達“當前節點yi是不是標記x的情況”
???????? 不過上面只能表達某個節點yi,實際上我們的節點多著呢,有1, 2, ..., i 個,所以給上面兩個加上求和符號來表達所有節點的情況,即:
? ? ? ? ? ? ? ? ? ?
???????? 但這樣還不行,為什么?因為我的把這兩個函數組合起來,但還記得在“條件隨機場(CRF) - 1 - 簡介”中提到的給照片打TAG的例子么?在那個例子中有的照片需要根據上一張照片才能確定TAG,有的則不需要,于是在組合的時候,就需要給他們加上權值,來表達這個情況,這時,給這兩個函數加上權值之后進行組合,就變成了:
? ? ? ? ? ? ? ? ? ?
???????? 但!(還沒完啊....是啊,還沒完=。=)對于yi來說,在未確定其值(在沒有給照片打上TAG之前)時它可取的特征值可是從一個集合里取的,這樣一來,對于某個節點yi,根據“轉移路線的不同、每個轉移路線權值的差異”和“特征結合的數量、對應某個特征的可能性(即函數s的權值)”會有多個函數t和函數s,若假設一共有k個函數t和l個函數s,那為了表達所有的情況,就需要對這k和函數t和l個函數s分別求和,即:
??????????????????
???????? 式11.10和式11.11是線性鏈條件隨機場模型的基本形式,表示給定輸入序列x,對輸出序列y預測的條件概率。
???????? 式11.10和式11.11中
?????????????????? tk是定義在邊上的特征函數,稱為轉移特征,它依賴于當前和前一個位置。
?????????????????? sl是定義在節點上的特征函數,稱為狀態特征,依賴于當前位置。
???????? tk和sl都依賴于位置,是局部特征函數。通常,特征函數tk和sl取值為1或0;當滿足特征條件時取值為1,否則為0.條件隨機場完全有特征函數tk,sl和對應的權值λk,μl確定。
???????? 線性條件隨機場也是對數線性模型。
?例子
???????? 設有一個標注問題:輸入觀察序列為X = (X1, X2, X3),輸出標記序列為 Y = (Y1, Y2, Y3), Y1, Y2, Y3 的取值空間為 {1, 2}。
???????? 假設特征tk,sl和對應的權值λk,μl如下:
??????????????????
???????? 其中,上式代表著特征值為1的條件,即:yi-1= 1, yi=2, x, i = 2, 3 時特征值取1。而特征值取0的條件被省略了。
?????????????????? PS:如果寫全的話是這樣:
???????????????????????????
???????? 下面同理:
??????????????????
???????? 于是對給定的觀測序列x,求標記序列為y =(y1, y2, y3) = (1, 2, 2)的非規范化條件概率(即沒有除以規范化因子的條件概率)
???????? 解:
?????????????????? 由式11.10得,線性鏈條件隨機場模型為:
??????????????????????????? (式1)
?????????????????? 于是對給定的觀測序列x,標記序列y=(1, 2,2)的非規范化條件概率為
???????????????????????????
PS1:上面那些t啦s啦,其實就是在表示下圖:
PS2:原文中這樣就結束了,中間步驟完全沒有,應該是作者感覺中間步驟根本沒必要給出吧。
嘛,總之不管原文了,我自己是手動算了一遍,下面是我自己總結的步驟。
首先,(式1)應該不用再解釋了(如果你真是認真的看了我總結的之前這些條件隨機場的內容還不理解的話....請告訴我你哪里不理解,我真的有些好奇了)。
于是在(式1)的基礎上,我們先遍歷k,在遍歷i。
k=1,i=1時:
? 函數t沒有特征取值為1的條件
? 函數s中的s1的特征取值為1,且s1中是y1=1,和標記序列y=(1, 2, 2)的y1一樣,滿足條件,于是當前總權值 =μ1 = 1.
k=1,i=2時:
? 函數t中的t1的特征取值為1,且t1中是y1 = 1, y2 = 1,和標記序列y=(1, 2, 2)的y1一樣,滿足條件,于是當前總權值為2.
同理:
? k=2,i=2時,有s2符合;
? k=4,i=3時,有s4符合;
? k=5,i=3時,有t5符合。
將上面符合條件的函數的權值加起來就是3.2,也就是exp(3.2)中的那個數了。
?
?條件隨機場的簡化形式
???????? 雖然上面的11.10已經可以表達條件隨機場,但寫起來還是蠻復雜的,于是為了讓式子更簡單,就有了條件隨機場的簡化形式,即:
?????????????????? 設有K1個轉移貼紙,K2個狀態特征,K=K1+K2,記:
???????????????????????????
?????????????????? 然后,對轉移與裝填特征在各個位置i求和,記做
???????????????????????????
?????????????????? 用wk表示特征fk(y,x)的權值,即:
???????????????????????????
?????????????????? 于是,條件隨機場11.11~ 11.12 可表示為
???????????????????????????
?????????????????? 若以w表示權值向量,即
???????????????????????????
?????????????????? 以F(y, x)表示全局特征向量,即
???????????????????????????
?????????????????? 則條件隨機場可以寫成向量w與F(y, x)的內積的形勢:
???????????????????????????
?條件隨機場的矩陣形式
???????? 假設Pw(y|x)是由式11.15 ~ 11.16
??????????????????
???????? 給出的線性鏈條件隨機場,表示對給定觀測序列x,相應的標記序列y的條件概率。引進特殊的起點和終點狀態標記y0 = start,yn+1 = stop,這時Pw(y|x) 可以通過矩陣形式表示。
???????? 對觀測序列x的每一個位置i=1, 2,..., n+1,定義一個m階矩陣(m是標記yi取值的個數)
??????????????????
???????? 這樣給定觀測序列x,標記序列y的非規范化概率可以通過n+1個矩陣的乘積
??????????????????
???????? 表示。
???????? 于是,條件概率Pw(y|x)是
??????????????????
???????? 其中,Zw(x)為規范化因子,是n+1個矩陣的乘積的(start,stop)元素:
??????????????????
???????? 注意,y0= start,yn+1 = stop表示開始狀態與終止狀態,規范化因子Zw(x)是以start為起點stop為重點通過狀態的所有路徑y1y2...yn的非規范化概率
??????????????????
???????? 之和。
???????? 下面通過一個例子來說明“范化因子Zw(x)是以start為起點stop為重點通過狀態的所有路徑y1y2...yn的非規范化概率之和”這個事實
?
?例子
??????????????????
?????????????????? (PS:圖中的紅色字體是我自己標注為了說明之后給出的四個隨機矩陣的。)
?????? 給定一個如上圖所示的線性鏈條件隨機場,觀測序列x,狀態序列y,i=1,2,3,n=3,標記yi∈{1,2},假設y0=start=1,y4=stop=1,各個位置的隨機矩陣M1(x),M2(x),M3(x),M4(x)分別是
??????????????????
???????? 試求狀態序列y以start為起點stop為終點所有路徑的非規范化概率及規范化因子。
???????? 解:
?????????????????? 圖11.6從start到stop對應于y=(1,1,1),y=(1,1,2), ..., y=(2,2,2)個路徑的非規范化概率分別是:
??????????????????????????? a01b11c11,a01b11c12,a01b12c21,a01b12c22
??????????????????????????? a02b21c11,a01b21c12,a02b22c21,a02b22c22
?????????????????? 然后按式11.12求規范化因子,通過計算矩陣乘積M1(x) M2(x) M3(x) M4(x)可知,其第一行第一列的元素為
??????????????????????????? a01b11c11+ a01b11c12 + a01b12c21+ a01b12c22
???????????????????????????????????? +a02b21c11 + a01b21c12+ a02b22c21 + a02b22c22
?????????????????? 恰好等于從start到stop的所有路徑的非規范化概率之和,即規范化因子Z(x)。
?
?
參考資料:
???????? http://wenku.baidu.com/view/bbd57f82fc4ffe473268ab59.html
---------------------
作者:血影雪夢
來源:CSDN
原文:https://blog.csdn.net/xueyingxue001/article/details/51498968
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的条件随机场(CRF) - 2 - 定义和形式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch lstm crf 代码理
- 下一篇: 条件随机场(CRF) - 1 - 简介