第十一章-CRF的奇妙之處

上篇中,我們瞭解到HMM的相關知識,並且知道HMM屬於概率有向圖模型,接下來,讓我們一起學習總結概率無向圖模型——條件隨機場(Conditional Random Field, CRF)。

思維導圖

概率無向圖模型

概率無向圖模型又稱爲馬爾可夫隨機場,是一個可以由無向圖表示的聯合概率分佈。

模型定義

P(Y)G=(V,E)VEGP(Y)滿 設有聯合概率分佈P(Y),由無向圖G=(V,E)表示,V表示結點集合,E表示邊集合,\\在圖G中,結點表示隨機變量,邊表示隨機變量之間的依賴關係。如果聯合概率分佈P(Y)滿足\\成對、局部或全局馬爾可夫性,就稱此聯合概率分佈爲概率無向圖模型或馬爾可夫隨機場。

馬爾可夫性

成對馬爾可夫性

如圖上,一共有10個結點(即10個隨機變量),任意找兩個沒有邊直接連接的結點,假設有兩個隨機變量(u,v)沒有邊相連,剩下的8個隨機變量記爲O,當給定O時,u和v是獨立的,即P(u,v|O)=P(u|O)P(v|O)。

局部馬爾可夫性

如上圖,任意找一個結點v,與v有邊相連的所有結點記爲W,其餘5個結點記爲O,當給定W時,v和O是獨立的,即P(v,O|W)=P(v|W)P(O|W)。

全局馬爾可夫性

一共有8個結點(即有8個隨機變量),取中間兩個隨機變量記爲集合C,當將集合C從圖中刪掉之後,那麼剩下的6個結點分成了兩個部分,可知左邊的3個結點和右邊的3個結點沒有任何邊將它們相連,當給定C時,A和B是獨立的,即P(A,B|C)=P(A|C)P(B|C)。

注意:以上三種馬爾可夫性都是等價的。

爲什麼說這三個馬爾可夫性是等價的?這裏等價的意思爲任意一個結點滿足成對馬爾可夫性等價於任意一個結點滿足局部馬爾可夫性,也等價於這些結點滿足全局馬爾可夫性。

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

無向圖模型提供了一種分析隨機變量之間關係的手段,當已知一組隨機變量,能很清楚表達隨機變量之間關係的方法是聯合概率分佈P(Y),根據已知的無向圖模型,可以得到聯合概率分佈P(Y)的形式。

:在無向圖模型中有一些結點(隨機變量),這些結點中任意兩個結點都有邊相連,這些隨機變量組成的集合稱爲團。如圖,Y1和Y2有一條邊相連,Y1,Y2可以稱爲一個團,同理Y2和Y3有一條邊相連,Y2,Y3也可以稱爲一個團,不能將Y1,Y2,Y4稱爲一個團,因爲Y1和Y4之間是沒有邊相連的,Y1,Y2,Y3可以組成一個團。
**最大團:**當給定一個團,在該團中不能再加進任何一個結點使其成爲更大的團,比如Y1,Y2,Y3就是一個最大團。
HammersleyClifford:P(Y)P(Y)=1ZCΨC(YC) Z=YCΨC(YC)CYCCΨC(YC)CΨC(YC)=expE(YC)E(YC) Hammersley-Clifford定理:\\ 概率無向圖模型的聯合概率分佈P(Y)可以表示爲如下形式:\\P(Y)=\frac{1}{Z} \prod_C \Psi_C(Y_C) \ Z=\sum_Y \prod_C \Psi_C(Y_C)  \\其中,C是無向圖的最大團,Y_C是C的結點對應的隨機變量,\Psi_C(Y_C)是C上定義的嚴格正函數,\\乘積是在無向圖所有的最大團上進行的,\Psi_C(Y_C) = \exp{-E(Y_C)}。E(Y_C)稱爲能量函數。

條件隨機場(CRF)的的定義與形式

線性鏈條件隨機場

Y=(Y1,Y2,,Yn)X=(X1,X2,,Xn)YXXXYYP(YvX,Yw,wv)=P(YvX,Yw,wv),vwvvwvvXYwvv 如果只考察隨機變量Y=(Y_1,Y_2,\cdots,Y_n),這些變量是用無向邊連接的,屬於無向圖(馬爾可夫隨機場),\\但現在有另一組隨機變量X=(X_1,X_2,\cdots,X_n),對每個隨機變量Y都產生影響,由於X已知,\\在無向圖中就添加了它,X爲條件,X和Y合起來稱爲條件隨機場,由於Y是線性連接的,所以稱爲線性鏈條件隨機場。\\P(Y_v|X,Y_w,w \neq v) = P(Y_v|X,Y_w,w \sim v),其中v表示任意一個結點,w \neq v表示v以外的所有結點\\,w \sim v表示與v有邊連接的所有結點,上述等式表示給定X,Y,w的條件下,給定其他所有結點v的分佈\\等於給定和它相鄰的結點v的分佈,其實是局部馬爾可夫性。

簡化形式

P(yx)=1Z(x)expk=1Kwkfk(y,x)Z(x)=yexpk=1Kwkfk(y,x)fk(yi1,yi,xi)={tk(yk,yi,x,i),k=1,2,,K1sl(yi,x,i),k=K1+l;l=1,2,,K2wk={λk,k=1,2,,K1μl,k=K1+l;l=1,2,,K2tk,sltk,sl10滿10tkyi,yi1slyitkslλk,μl P(y|x)=\frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y,x)\\其中Z(x)=\sum_y \exp \sum_{k=1}^K w_k f_k(y,x) \\ f_k(y_{i-1},y_i,x_i)= \left \{ \begin{array}{l} t_k(y_k,y_i,x,i), \quad k = 1,2,\cdots,K_1 \\ s_l(y_i,x,i), \quad k=K_1+l;l=1,2,\cdots,K_2 \end{array} \right. \\ w_k = \left \{ \begin{array}{l} \lambda_k,\quad k = 1,2,\cdots,K_1 \\ \mu_l, \quad k=K_1+l;l=1,2,\cdots,K_2 \end{array} \right. \\ t_k,s_l是兩個特徵函數,通常,特徵函數t_k,s_l取值爲1或0,當滿足特徵條件時取值爲1,否則爲0,\\t_k是關於y_i,y_{i-1}特徵函數,s_l是關於y_i特徵函數,函數t_k稱爲轉移特徵,函數s_l稱爲狀態特徵。\\條件隨機場的參數是\lambda_k,\mu_l。

矩陣形式

Pw(yx)=1Zw(x)i=1n+1Mi(yi1,yix)Zw(x)n+1(start,stop)Zw(x)+(M1(x)M2(x),Mn+1(x))start,stop P_w(y|x)=\frac{1}{Z_w(x)} \prod_{i=1}^{n+1} M_i(y_{i-1}, y_i | x)\\其中Z_w(x)爲規範化因子,是n+1個矩陣的乘積的(start,stop)元素:\\Z_w(x)+(M_1(x)M_2(x)\cdots,M_{n+1}(x))_{\text{start},\text{stop}}

推導從參數化形式轉化爲矩陣形式

i:exp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i))=exp{i[kλktk(yi1,yi,x,i)+lμlsl(yi,x,i)]}=iexp(kλktk(yi1,yi,x,i)+lμlsl(yi,x,i))Mi(yi1,yix)=exp(kλktk(yi1,yi,x,i)+lμlsl(yi,x,i))tk(yi1,yi,x,i)sl(yi,x,i)λkμlMi(x)yi1yiMi(x)=[Mi(yi1,yix)] \because 可以先將對i求和的公共部分給提取出來,如下:\\\begin{array}{ll} {}&\displaystyle \exp \left( \sum_{i,k} \lambda_k t_k(y_{i-1},y_i,x,i) +\sum_{i,l} \mu_l s_l(y_i,x,i) \right) \\ =& \displaystyle \exp\left\{ \sum_i \left[ \sum_k \lambda_k t_k(y_{i-1},y_i,x,i) + \sum_l \mu_l s_l(y_i,x,i) \right] \right\} \\ =& \displaystyle \prod_i \exp\left(\sum_k \lambda_k t_k(y_{i-1},y_i,x,i) + \sum_l \mu_l s_l(y_i,x,i) \right) \end{array}\\ \therefore 可得M_i(y_{i-1},y_i|x) = \exp\left(\sum_k \lambda_k t_k(y_{i-1},y_i,x,i) + \sum_l \mu_l s_l(y_i,x,i) \right)\\  書中將t_k(y_{i-1},y_i,x,i)和s_l(y_i,x,i)組合成狀態函數,將\lambda_k和\mu_l組合成權重向量。\\爲什麼說M_i(x)是一個矩陣,因爲y_{i-1}和y_i都是狀態變量,可以通過該公式表示爲一個矩陣,得到\\M_i(x)=[M_i(y_{i-1},y_i|x)]

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

條件隨機場的概率計算問題等價於第10章中求HMM的概率計算問題,利用條件隨機場的矩陣形式,計算P(Y=y_i|x),和HMM的區別是求解狀態概率,而HMM中是求觀測概率,本節採用的算法是前向-後向算法

前向-後向算法

i=0,1,2...n+1αi(x):α0(yx)={1,y=start0,:αiT(yix)=αi1T(yi1x)[Mi(yi1,yix)],i=1,2...n+1=αi1T(x)Mi(x),αi(yix)iyiiyimαi(x)mi=0,1,2...n+1βi(x):βn+1(yn+1x)={1,yn+1=stop0,βi(yix)=[Mi(yi,yn+1x)]βi+1(yi+1x)=Mn+1(x)βn+1(x),βi(yix)iyii+1nZ(x)=αnT(x)1=1Tβ1(x) 對每個指標i=0,1,2...n+1,定義前向向量\alpha_i(x):\\ \alpha_0(y|x) = \left \{ \begin{array}{l} 1,\quad y=start \\ 0, \quad 否則 \end{array} \right.\\ 遞推公式:\alpha_i^T(y_i|x)=\alpha_{i-1}^T(y_{i-1}|x)[M_i(y_{i-1},y_i|x)],i=1,2...n+1=\alpha_{i-1}^T(x)M_i(x),\\其中\alpha_i(y_i|x)表示在位置i的標記y_i並且道位置i的前半部分標記序列的非規範化概率,y_i可取的值有m個,\\所以\alpha_i(x)是m維向量。\\同樣的,對每個指標i=0,1,2...n+1,定義前向向量\beta_i(x):\\ \beta_{n+1}(y_{n+1}|x) = \left \{ \begin{array}{l} 1,\quad y_{n+1}=stop \\ 0, \quad 否則 \end{array} \right.\\ \beta_i(y_i|x)=[M_i(y_i,y_{n+1}|x)]\beta_{i+1}(y_{i+1}|x)=M_{n+1}(x)\beta_{n+1}(x),\\其中\beta_i(y_i|x)表示位置在i的標記爲y_i並且從i+1到n的後半部分標記序列的非規範化概率。\\因此:\\ Z(x)=\alpha_n^T(x) \cdot 1=1^T \cdot \beta_1(x)

條件隨機場的學習算法

在對數線性模型中,參數w就是權重,這個權重包含轉移特徵、狀態特徵的權重,有兩種算法:改進的迭代尺度法,擬牛頓法。這兩個算法都用在對數線性模型中。在此處,主要描述擬牛頓法算法。

擬牛頓法

擬牛頓法也是求解最優化問題的一個方法,針對牛頓法的缺陷提出來的新方法。

對此,我們可以先來看下牛頓法——

牛頓法算法描述

minxRnf(x)f(x)使xkx(k)f(x)x(k)f(x)f(x(k))+f(x(k))(xx(k))+12(xx(k))TH(x(k))(xx(k))H(x(k))f(x)(Hessematrix)H(x)=[2fxixj]n×nx(k)f(x)f(x)=0f(x)=f(x(k))+Hk(xx(k))=0x(k+1)=x(k)Hk1f(x(k)) 對於一個無約束的最優化問題\displaystyle \mathop{\min} \limits_{x \in \text{R}^n} f(x)假設f(x)有二階連續偏導數,使用迭代的方法求解最優解x^*,\\若第k步的迭代值爲x^{(k)},將f(x)在x^{(k)}進行二階泰勒展開:\\f(x)\doteq f(x^{(k)})+\nabla f''(x^{(k)})(x-x^{(k)}) + \frac{1}{2}(x-x^{(k)})^T H(x^{(k)})(x-x^{(k)})\\其中H(x^{(k)})是f(x)的海賽矩陣(Hesse matrix)H(x)=\left[\frac{\partial^2 f}{\partial x_i \partial x_j} \right]_{n \times n}在這點x^{(k)}的值。\\ 函數f(x)有極值,可計算\nabla f(x)=0。\\求極小值: \nabla f(x) = \nabla f''(x^{(k)})+ H_k(x-x^{(k)}) = 0\\ \therefore x^{(k+1)} = x^{(k)} - H_k^{-1} \nabla f(x^{(k)})

擬牛頓法基本思路

1.0nHk(x(k))2.Hk1kHkHk1n×n3.x(k+1)=x(k)+λpkλ=1pk=Hk1f(x(k))4.x(k+1)=x(k)λf(x(k))λ使f(x)f(x)x(k)f(x)x 1.在迭代的過程中,用一個二次函數逼近每一個迭代的點對應的函數值,如果函數有極小值,需保證該函數是凸函數,\\對應於一維函數中,其二階導數要大於0,對應於n維的情況,H_k(x^{(k)})是正定矩陣。\\ 2.在迭代的過程中需計算H_k^{-1},對於每個k,H_k是不一樣的,所以計算H_k^{-1}(n \times n維矩陣)的計算量是非常大的,\\這就是牛頓法的一個缺陷。\\ 3.一般在用迭代的方式求解某函數極值時,迭代基本的形式是x^{(k+1)}=x^{(k)}+\lambda p_k,在牛頓法中,更新步長\lambda=1,\\更新方向p_k=- H_k^{-1} \nabla f(x^{(k)}),如果保證是正定的,就可以保證這是一個向下的方向(可以達到收斂)\\ 4.除了牛頓法,在梯度下降法中,迭代形式是x^{(k+1)}=x^{(k)}-\lambda \nabla f(x^{(k)}),在\lambda比較小時,\\可以保證使得f(x)下降的方向,只用到了f(x)在點x^{(k)}的一階導,對應到多維中就是梯度。\\而在牛頓法中,用到了一階導和二階導,因爲牛頓法用了二階導,比梯度下降法更快,\\即能更快地找到f(x)取極小值對應的x^*。

1.在這裏爲何提到要保證函數必須是凸函數呢?假如一個函數不是凸函數,那麼可以想象函數圖像類似一堆沙灘凹凸不平,那麼如果尋優的結果可能得到多個極小值,只是局部最優,而不是全局最優,此時尋找最優解難度比較大。

2.爲何要求海塞矩陣滿足正定?

首先需要清楚明白什麼是正定矩陣。
AnxxTAx>0xTxA A是n階方陣,如果對任何非零向量x,都有x^TAx>0,其中x^T 表示x的轉置,就稱A正定矩陣。
由此可以看出,在迭代過程中,更新的方向就是向下的。並且滿足正定時,f(x)能取得唯一的極小值。

預測算法

和HMM一樣,採用維特比算法(動態規劃求解最優路徑)。具體運用和計算方式可以看書中的例子。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章