1. 程式人生 > >系統學習機器學習之隨機場(二)--MEMM

系統學習機器學習之隨機場(二)--MEMM

     最大熵模型(Maximum Entropy Models, MaxEnt)是基於大熵理論的統計模型, 廣泛應用於模式識別和統計評估中。最大熵原理有一個很長的歷史,其中最大熵理論方面的先驅 E.T.Jaynes 在 1990 年給出了最大熵原理的基本屬性:最大熵概率分佈服從我們已知的不完整資訊的約束。主要思想是,在用有限知識預測未知時,不做任何有偏的假設。根據熵的定義,一個隨機變數的不確定性是由熵體現的,熵最大時隨機變數最不確定,對其行為做準確預測最困難。最大熵原理的實質是,在已知部分知識前提下,關於未知分佈最合理的推斷是符合已知知識的最不確定或最隨機的推斷,這是我們可以做出的唯一不偏不倚的選 擇。最大熵的原理可以概括為,將已知事件作為約束條件,求得可使熵最大化的概率分佈作為正確的概率分佈。對於最大熵的約束條件,應用在熵的計算公式時,我們希望找到能同時滿足多個約束條件的最均勻模型。也就是在約束條件下,熵取得最大值。如何在給定約束集條件下,求得最優最大熵模型?

這裡,我們直接給出最大熵模型的約束條件:

經驗期望和模型期望相等,即模型的約束等式。

滿足約束條件的模型很多。模型的目標是產生在約束集下具有均勻分佈的模型,條件熵 H( X|Y)作為條件概率P(y|x)均勻性的一種數學測度方法。為了強調熵對概率分佈 p 的依賴,我們用H(P)代替H(Y|X):

 

對於任意給定的約束集C ,能找到唯一的P*使H(p)取得大值,如何找到p*, 是一個約束最優化問題。我們給出p* 的等式:

對於簡單的約束條件,我們能用解析的方法找到最優的概率分佈,但對於一般性問題, 這種方法是不可行的。為解決一般性約束最優化問題,我們應用了約束最優化理論中的 Lagrange 乘子定理解決這個問題,具體推導這裡不補充了。類似SVM的對偶求解。

具體化這個模型:

最大熵(Maximum Entropy)模型屬於log-linear model,在給定訓練資料的條件下對模型進行極大似然估計或正則化極大似然估計:

其中Z是歸一化因子:

實際上,你可以看出,該模型實際為softmax,也就是說,MaxEnt是多元邏輯歸回在某個角度等價,因為多元邏輯迴歸的極大似然估計,正好得到了最大熵。《自然語言處理綜論》這本書裡,MaxEnt就是用邏輯迴歸推匯出來的,也就是說在語音和語言處理中,多元邏輯迴歸稱為最大熵模型。

這裡的f(x,y)是二值分段函式,表示輸入x與標籤y之間的二值。要想成功的使用MaxEnt,關鍵在於設計恰當的特徵和特徵組合。

最大熵沒有假設特徵之間獨立,因此,使用者選擇特徵靈活。

為什麼稱為最大熵?

是因為從直覺上來說,所謂的最大熵,就是通過不斷增加特徵的方法,來建立分佈。而最大熵的最優化問題的解(也就是極大似然估計出的引數)就是多元邏輯迴歸的分佈,它的權值W把訓練資料的似然度最大化。因此,當根據最大似然度的標準來訓練時,多元邏輯迴歸的指數模型也能找到最大熵,這個最大熵分佈服從來自特徵函式的約束。

MEMM(Maximum Entropy Markov Model)

MEMM實際上,一句話總結就是 ,在HMM中,計算後驗概率時,採用貝葉斯定理來計算,也就是通過先驗概率和似然度的乘積來計算,MEMM直接估計後驗概率。

因為HMM需要的混淆矩陣是概率形式,MaxEnt正好把一個單獨的觀察分類到離散類別集合的一個成分中去,

區別過程如下:

HMM:

其中,S、O分別表示狀態序列與觀測序列。HMM的解碼問題為argmaxP(S|O);定義在時刻t狀態為s的所有單個路徑st1中的概率最大值為:

則有:

上述式子即為(用於解決HMM的解碼問題的)Viterbi演算法的遞推式;可以看出HMM是通過聯合概率來求解標註問題的。

MEMM:

MEMM並沒有像HMM通過聯合概率建模,而是直接學習條件概率:

因此,有別於HMM,MEMM的當前狀態依賴於前一狀態與當前觀測;HMM與MEMM的圖模型如下(圖來自於[3]):

一般化條件概率(4)為P(s|s′,o)。MEMM用最大熵模型來學習條件概率(4),套用模型(3)則有:

其中,λa為學習引數;a=<b,s>且bb為feature,ss為destination state;特徵函式fa(o,s)的示例如下(圖出自於[6]):

類似於HMM,MEMM的解碼問題的遞推式:

但是,MEMM存在著標註偏置問題(label bias problem)。比如,有如下的概率分佈(圖來自於[7]):

根據上述遞推式,則概率最大路徑如下:

但是,從全域性的角度分析:

  • 無論觀測值,State 1 總是更傾向於轉移到State 2;
  • 無論觀測值,State 2 總是更傾向於轉移到State 2.

從式子(5)可以看出MEMM所做的是區域性歸一化,導致有更少轉移的狀態擁有的轉移概率普遍偏高,概率最大路徑更容易出現轉移少的狀態。因MEMM存在著標註偏置問題,故全域性歸一化的CRF被提了出來[3]。

總結:

我們可以看出,MEMM是對HMM的擴充套件增強,體現在如下方面:

1.HMM的存在問題

生成式模型

需要準確地計算出觀測序列X和隱藏狀態序列Y的聯合概率,然而這會導致以下兩個問題: 
1. 必須計算出所有的潛在可能路徑的概率值大小(然後再挑概率值最大的那一個作為最終結果) 
2. 對於某些未定義的觀測值(如分詞問題中的未登入詞)需要統一設定一個預設的概率值

缺乏靈活性

如果對於某一個觀測值,它可能並非由一個隱藏狀態決定的,而是兩個以上的隱藏狀態綜合作用而產生的,那麼這時HMM就無能為力了。 
比如說,對於詞性標註問題,可能有這麼兩類非互斥的隱藏狀態——1.是否首字母大寫、2.是否以’er’結尾。

也就是說,生成模型計算P(x,y)必然要考慮特徵之間的關係,HMM假設特徵之間獨立,也就是丟棄了特徵之間的關係,降低了模型的正確性。但是,對特徵之間關係建模,又很難實現。因此,MEMM用判別模式不考慮特徵關係存在與否規避了這個問題。因此,比HMM更加合理。

也可以處理多種可同時出現的隱藏狀態

一些HMM的高效演算法(如維特比演算法)可以直接拿過來用