一、HMM
HMM屬於生成模型,模型中2個假設:
- 輸出觀測值Xi之間相互獨立;
- 齊次一階Markov,即狀態的轉移過程中當前狀態只與前一狀態有關。
二、MEMM
P(I∣O)=t=1∏nZ(o,ii−1)exp(∑a)λafa(o,i),i=1,⋯,n
求和的作用在概率中是歸一化,但是這裏歸一化放在了指數內部,管這叫local歸一化。 來了,viterbi求解過程,是用dp的狀態轉移公式(MEMM的沒展開,請參考CRF下面的公式),因爲是局部歸一化,所以MEMM的viterbi的轉移公式的第二部分出現了問題,導致dp無法正確的遞歸到全局的最優。
δi+1=1≤j≤mmax{δi(I)+i∑Tk∑Mλkfk(O,Ii−1,Ii,i)}
- MEMM模型屬於判別模型,打破了觀察值之間相互獨立產生的問題,但是由於狀態之間的假設理論,MEMM傾向於選擇擁有更少轉移的狀態,使得該模型存在 標註偏置問題(label bias problem)。
三、CRF(Conditional Random Field)
從概率圖可以很形象的看出一個區別:
HMM是有向圖,嚴格定義了y的有序性,只能從左至右。CRF是無向圖,y無序,可左可右。HMM是生成模型,通過求聯合概率獲得;CRF是判別模型,通過條件概率求得。在如詞性標註上的應用中CRF更合理,因爲它直接求某個標註的概率,而HMM需要先算聯合概率再轉而求目標的概率。
對於所謂的條件和隨機場的理解:
- 條件:屬於生成模型
- 隨機場:無向圖模型
CRF模型屬於判別模型,解決了標註偏置問題,去除了HMM中兩個不合理的假設,當然,模型相應得也變複雜了。
CRF建模公式如下,整個過程的推導可以結合這個詞性標註的案例更好理解 :CRF詞性標註:
P(I∣O)=Z(O)1i∏ψi(Ii∣O)=Z(O)1i∏e∑kλkfk(O,li−1,Ii,i)=Z(O)1e∑i∑kλkfk(O,Ii−1,Ii,i)
因爲是判別模型,所以直接爲了確定邊界而去建模,因爲創造出來就是爲了這個分邊界的目的。比如說序列求概率(分類)問題,直接考慮找出函數分類邊界。所以才爲什麼會有這個公式。所以再看到這個公式也別懵逼了。
除了建模總公式,關鍵的CRF重點概念與MEMM類似:判別式模型、特徵函數。