隐馬爾科夫模型(hmm):

圖1. 隐馬爾科夫模型
隐馬爾科夫模型的缺點:
1、hmm隻依賴于每一個狀态和它對應的觀察對象:
序列标注問題不僅和單個詞相關,而且和觀察序列的長度,單詞的上下文,等等相關。
2、目标函數和預測目标函數不比對:
hmm學到的是狀态和觀察序列的聯合分布p(y,x),而預測問題中,我們需要的是條件機率p(y|x)。
最大熵隐馬爾科夫模型(memm):
圖2. 最大熵馬爾科夫模型
memm考慮到相鄰狀态之間依賴關系,且考慮整個觀察序列,是以memm的表達能力更強;memm不考慮p(x)減輕了模組化的負擔,同時學到的是目标函數是和預測函數一緻。
memm的标記偏置問題:
p(1-> 1-> 1-> 1)= 0.4 x 0.45 x 0.5 = 0.09 ,p(2->2->2->2)= 0.2 x 0.3 x 0.3 = 0.018,
p(1->2->1->2)= 0.6 x 0.2 x 0.5 = 0.06,p(1->1->2->2)= 0.4 x 0.55 x 0.3 = 0.066。
圖3中狀态1傾向于轉換到狀态2,同時狀态2傾向于保留在狀态2;但是得到的最優的狀态轉換路徑是1->1->1->1,為什麼呢?因為狀态2可以轉換的狀态比狀态1要多,進而使轉移機率降低;即memm傾向于選擇擁有更少轉移的狀态。這就是标記偏置問題。而crf很好地解決了标記偏置問題。
crf 模型
<a target="_blank" href="http://photo.blog.sina.com.cn/showpic.html#blogid=953f8a5501010y0y&url=http://s13.sinaimg.cn/orignal/953f8a554b98d309b9cec"></a>
crf模型解決了标注偏置問題,去除了hmm中兩個不合理的假設,當然,模型相應得也變複雜了。
memm是局部歸一化,crf是全局歸一化
另一方面,memms不可能找到相應的參數滿足以下這種分布:
a b c --> a/a b/b c/c p(a b c | a b c) = 1
a b e --> a/a b/d e/e p(a d e | a b e) = 1
p(a|a)p(b|b,a)p(c|c,b) = 1
p(a|a)p(d|b,a)p(e|e,d) = 1
但是crfs可以找到模型滿足這種分布。
1)生成式模型or判别式模型(假設 o 是觀察值,m 是模型。)
a)生成式模型:無窮樣本 -> 機率密度模型 = 産生式模型 -> 預測
如果對 p(o|m) 模組化,就是生成式模型。其基本思想是首先建立樣本的機率密度模型,再利用模型進行推理預測。要求已知樣本無窮或盡可能的大限制。這種方法一般建立在統計力學和 bayes 理論的基礎之上。
hmm模型對轉移機率和表現機率直接模組化,統計共同出現的機率,是一種生成式模型。
b)判别式模型:有限樣本 -> 判别函數 = 判别式模型 -> 預測
如果對條件機率 p(m|o) 模組化,就是判别模型。其基本思想是有限樣本條件下建立判别函數,不考慮樣本的産生模型,直接研究預測模型。代表性理論為統計學習理論。
crf是一種判别式模型。memm不是一種生成式模型,它是一種基于下狀态分類的有限狀态模型。
2)拓撲結構
hmm和memm是一種有向圖,crf是一種無向圖
3)全局最優or局部最優
hmm對轉移機率和表現機率直接模組化,統計共現機率。
memm是對轉移機率和表現機率建立聯合機率,統計時統計的是條件機率,由于其隻在局部做歸一化,是以容易陷入局部最優。
crf是在全局範圍内統計歸一化的機率,而不像是memm在局部統計歸一化機率。是全局最優的解。解決了memm中标注偏置的問題。
4)優缺點比較
優點:
a)與hmm比較。crf沒有hmm那樣嚴格的獨立性假設條件,因而可以容納任意的上下文資訊。特征設計靈活(與me一樣)
b)與memm比較。由于crf計算全局最優輸出節點的條件機率,它還克服了最大熵馬爾可夫模型标記偏置(label-bias)的缺點。
c)與me比較。crf是在給定需要标記的觀察序列的條件下,計算整個标記序列的聯合機率分布,而不是在給定目前狀态條件下,定義下一個狀态的狀态分布。
缺點:
訓練代價大、複雜度高