nlp中的概率圖模型
在自然語言處理中,概率圖模型極為重要,在中文分詞、詞性標註、命名實體識別等諸多場景中有著廣泛的應用。概率圖模型(Graphical Model)分為貝葉斯網路(Bayesian Network)和馬爾科夫網路(Markov Network),其中貝葉斯網路可以用一個有向圖結構表示,馬爾科夫網路可以用無向圖結構;進一步概率圖模型包含樸素貝葉斯模型、最大熵模型、隱馬爾可夫模型、條件隨機場、主題模型等。此外,概率圖模型常常會涉及表示、推斷、參數學習三大問題。
概率圖模型涉及很多方面,本文僅僅介紹兩個重要模型HMM和CRF,將有關的概率圖串起來。本文不仔細介紹有關底層知識,僅是一篇匯總+總結文。
1、HMM VS NB,GMM
本小節從樸素貝葉斯模型(NB)和高斯混合模型(GMM)引出隱馬爾可夫模型(HMM)。
1.1 樸素貝葉斯模型(NB)
NB的目標函數是後驗概率最大化,其等價於0-1損失最小。NB是貝葉斯網路中最為簡單的一個模型,貝葉斯網路中應熟悉概率因子分解和條件獨立性判斷(head to tail,tail to tail,head to head),而NB正是應用了tail to tail的條件獨立性假設。
最大後驗概率:
條件獨立性假設:
NB的參數學習意味著需要估計 和 ,可以採用極大似然估計(MLE);而採用MLE可能會出現估計概率為0的情況,這會影響後驗概率的計算結果,使分類產生偏差。因此,可採用貝葉斯估計解決,如add-1-smoothing 或者 add-k-smoothing。
1.2 高斯混合模型(GMM)
再引出GMM之前,首先換個角度理解NB:把NB看做單一模型,即觀測變數 由 產生,而 也是可以觀測的;一旦給定,就可以估計 。
而對於GMM,觀測變數雖然 也是由 產生的,但是 確實不可以觀測的。「混合」表示觀測變數 會由多個隱變數 產生:
GMM也是一種常見的聚類演算法,使用EM演算法進行迭代計算;GMM假設每個簇的分佈服從高斯分佈。
1.3 隱馬爾可夫模型(HMM)
在引入HMM之前,我們分別介紹了NB和GMM,那麼它們與HMM有何關聯?
當NB中的 變為隱變數時,即可得到「混合」的GMM模型;而當GMM模型中的隱變數展開為時間序列時,即可得到HMM。
學習HMM的口訣是「1-2-3」:
(1)1個參數包含: ;
(2)2個假設:一階馬爾科夫假設+觀測獨立性假設;
(3)3個問題:概率計算問題(前向後向);參數學習問題(EM/MLE);預測問題(Viterbi);
2、CRF VS LR,ME
2.1 最大熵模型ME
最大熵模型由最大熵原理導出,最大熵原理是概率學習和估計的一個準則。最大熵原理認為在所有可能的概率模型的集合中,熵最大的模型是最好的模型。最大熵模型的學習等價於約束最優化問題:
求解之後可以得到最大熵模型的表達式為:
最大熵模型最終可以歸結為學習最佳的參數w。
2.2 從最大熵模型ME看邏輯回歸LR
如果將看作 二元變數,並且將特徵函數修改為:
即可得到sigmoid函數:
從上所述,可以看出LR是最大熵模型ME的一個特例。 LR和ME均屬於對數線性模型。
2.3 從最大熵模型ME看CRF
條件隨機場CRF可以看作是最大熵模型ME在時間序列上的延伸。
3、HMM、MEMM vs CRF
本小節對HMM、MEMM和CRF進行對比。
1)HMM是有向圖模型,是生成模型;HMM有兩個假設:一階馬爾科夫假設和觀測獨立性假設;但對於序列標註問題不僅和單個詞相關,而且和觀察序列的長度,單詞的上下文,等等相關。
2)MEMM(最大熵馬爾科夫模型)是有向圖模型,是判別模型;MEMM打破了HMM的觀測獨立性假設,MEMM考慮到相鄰狀態之間依賴關係,且考慮整個觀察序列,因此MEMM的表達能力更強;但MEMM會帶來標註偏置問題:由於局部歸一化問題,MEMM傾向於選擇擁有更少轉移的狀態。這就是標記偏置問題。
3)CRF模型解決了標註偏置問題,去除了HMM中兩個不合理的假設,當然,模型相應得也變複雜了。
HMM、MEMM和CRF的優缺點比較:
a)與HMM比較。CRF沒有HMM那樣嚴格的獨立性假設條件,因而可以容納任意的上下文信息。特徵設計靈活(與ME一樣)
b)與MEMM比較。由於CRF計算全局最優輸出節點的條件概率,它還克服了最大熵馬爾可夫模型標記偏置(Label-bias)的缺點。
c)與ME比較。CRF是在給定需要標記的觀察序列的條件下,計算整個標記序列的聯合概率分佈,而不是在給定當前狀態條件下,定義下一個狀態的狀態分佈.
首先,CRF,HMM(隱馬模型),MEMM(最大熵隱馬模型)都常用來做序列標註的建模,像分詞、詞性標註,以及命名實體標註
隱馬模型一個最大的缺點就是由於其輸出獨立性假設,導致其不能考慮上下文的特徵,限制了特徵的選擇最大熵隱馬模型則解決了隱馬的問題,可以任意選擇特徵,但由於其在每一節點都要進行歸一化,所以只能找到局部的最優值,同時也帶來了標記偏見的問題,即凡是訓練語料中未出現的情況全都忽略掉。條件隨機場則很好的解決了這一問題,他並不在每一個節點進行歸一化,而是所有特徵進行全局歸一化,因此可以求得全局的最優值。
推薦閱讀: