【自然語言處理(二)】條件隨機場 CRF
判別式模型與生成式模型
已知的機器學習模型中,分成了生成式模型和判別式模型兩大類型。樸素貝葉斯、貝葉斯網(wǎng)絡、pLSA、LDA等模型都是先對聯(lián)合概率分布進行建模,然后再通過計算邊緣分布得到對變量的預測,所以它們都屬于生成式模型。
其他的還有HMM模型。
相比生成式模型,判別式模型家族更加龐大一些,包括感知機(單層神經(jīng)網(wǎng)絡)、條件隨機場、支持向量機、神經(jīng)網(wǎng)絡。而所謂的神經(jīng)網(wǎng)絡深度學習,也不過是判別式家族成員之一而已。判別式模型并不介意輸出的到底是[0,1]區(qū)間內(nèi)的概率p(ylx),還是一個分值score(x,y),只保證概率越大分值越大即可。萬一下游應用需要概率,只需將分值傳入softmax函數(shù)轉(zhuǎn)換一下即可:

為了分析多維隨機變量分布,人們使用了概率圖模型這個強大的工具。
概率圖模型
概率圖模型(probabilistic graphical model)是由圖表示的概率分布.設有聯(lián)合概率分布P(Y),
是一組隨機變量.由無向圖G=(V,E)表示概率分布P(Y),即在圖G中,結(jié)點
表示一個隨機變量Y,
﹔邊
表示隨機變量之間的概率依賴關(guān)系。[1]
PGM大致可以分為兩種,directed graphical model(又稱貝葉斯網(wǎng)絡)和undirected graphical model(又稱馬爾可夫隨機場)。
在概率有向圖中,每個事件之間的方向代表因果關(guān)系。邊的權(quán)重正是一個條件概率。
無向圖模型則不探究每個事件的因果關(guān)系,也就是說不涉及條件概率分解。無向圖模型的邊沒有方向,僅僅代表兩個事件有關(guān)聯(lián),不表示誰是因誰是果。
而在無向圖中,無向邊表示兩個變量的一種互相關(guān)系,互相影響,互相軟限制等等,不再是條件概率。
概率圖模型分類
如下圖:在概率模型中,有向圖按照單源點、鏈到有向圖的方式劃分,分別是樸素貝葉斯、HMM、貝葉斯網(wǎng)絡;
如果加入條件概率,則分別是邏輯回歸,鏈條條件隨機場,一般條件隨機場。

圖中,邏輯回歸是從屬于判別模型、最大熵模型,對P(y|x)建模。我們可以看到深色的圓都是觀測的狀態(tài),而白色的圓是隱含的狀態(tài)。
無向圖模型將多維隨機變量的聯(lián)合分布分解為一系列最大團中的因子之積,稱為概率無向圖的因子分解,其聯(lián)合分布如下:

其中C為最大團的集合,Q為某個最大團;
可以是指數(shù)函數(shù)

而
為 
而

CRF在最大熵馬爾可夫模型的基礎 上, 進行了全局歸一化。Z是歸一化因子,枚舉了整個隱狀態(tài)序列x的所有可能。
本文采用記號
表示勢函數(shù),必須為正;一般定義為
其中Y_C表示C對應的隨機變量;
特征函數(shù),僅在xa,ya為指定值時為1,其余情況=0
規(guī)范化因子,也稱分配函數(shù)(partition function),
經(jīng)驗分布函數(shù),即訓練集上x,y的取值概率
條件隨機場
條件隨機場(Conditional Random Field,CRF )是一種給定輸入隨機變量x,求解條件概率p(y|x)的概率無向圖模型。
定義:
設X與Y是隨機變量,P(Y|X)是在給定X的條件下Y的條件概率分布.若隨機變量Y構(gòu)成一個由無向圖G=(V,E)表示的馬爾可夫隨機場,即

則稱該無向圖表示的模型為條件隨機場[1]。
表示G中v的所有相鄰點
表示v以外的所有結(jié)點
表示v,u,w對應的隨機變量
線性鏈條件隨機場
CRF用于序列標注時,特例化為線性鏈條件隨機場(linear-chain CRF)。



線性鏈條件隨機場的訓練
下面我們來推導線性條件隨機場的最優(yōu)化。
如果將所有特征函數(shù)與權(quán)重分別寫作向量形式
,則線性鏈條件隨機場的定義可以簡化為:

其中Z
(1)
對數(shù)似然函數(shù)

將式(1)代入上式,似然函數(shù)展開為:

正則化函數(shù)

求偏導

特征函數(shù)的經(jīng)驗分布就是特征函數(shù)在訓練集上的計數(shù)統(tǒng)計


第二項:

綜上簡化為:

由于條件隨機場的對數(shù)似然函數(shù)為凸函數(shù)( concave function ),所以可以利用許多凸優(yōu)化算法。其中之一即為L-BFGS凸優(yōu)化算法。
L-BFGS凸優(yōu)化算法

其中
是用于降低計算復雜度而經(jīng)過變換的Hessian矩陣,用以代替Hessian矩陣的逆。
條件隨機場與感知機

執(zhí)行梯度上升,讓參數(shù)點順著梯度方向移動,得到更新表達式:

對比感知機的更新表達式

可知每次迭代,CRF會對所有給出錯誤答案的特征函數(shù)進行懲罰,而感知機僅懲罰
的特征函數(shù)
。
其他
要了解概率圖模型的相關(guān)知識,可參見:https://ermongroup.github.io/cs228-notes/。
線性CRF的具體計算,可參見http://www.rzrgm.cn/pinard/p/7055072.html
CRF的工具包CRF++ https://taku910.github.io/crfpp/
References
[1]統(tǒng)計學習方法 李航
[2]數(shù)值優(yōu)化:理解L-BFGS算法http://www.hankcs.com/ml/l-bfgs.html
[3]無向圖(Undirected Graphical Models) https://zhangzhenhu.github.io/blog/probability_model/

浙公網(wǎng)安備 33010602011771號