最大熵模型可由最大熵原理推出,最大熵原理是概率模型學習的乙個準則。最大熵原理認為在滿足已有事實的所有可能的概率模型中,熵最大的模型是最好的模型。
|x|是x的取值個數,上式表明當且僅當x的分布是均勻分布時右邊的等號成立,當x服從均勻分布時,熵最大。
兩個步驟
給定資料集,考慮模型滿足的條件,可以確定聯合分布p(x,y)的經驗分布和邊緣分布p(x)的經驗分布,用下列式子表示。
v(x=x,y=y)表示訓練資料樣本(x,y)出現的頻數,n表示樣本容量。
用特徵函式描述輸入與輸出的乙個事實,當x,y滿足這個事實時取值為1,否則為0。特徵函式就是先驗知識,會有n個
特徵函式關於經驗分布的期望值,用下列式子(1)來表示
特徵函式關於模型p(y|x)與邊緣分布p(x)的經驗分布的期望值,用下列式子(2)來表示
如果模型能獲取訓練資料中的資訊,假設兩個期望值相等。即式子(3)
這是模型的約束條件,若有n個特徵函式,就有n個約束條件,則表示如下
c為無數個概率分布的集合,即每乙個x,都對應乙個特定的概率分布p(y|x),每乙個概率分布都會有乙個熵,此時,所謂的最大熵,就是最大化這些所有的概率分布的熵的和,由於每個x都有乙個經驗概率,我們還需要對所有這些熵進行加權求和,以此表示哪乙個概率分布的熵的最大化更加重要。
所以有如下最優化問題
最大熵模型可以形式化為約束最優化問題。最大熵模型和邏輯斯諦模型都可以歸結為以似然函式為目標函式的最優化問題,通常通過迭代演算法求解,此時目標函式為光滑的凸函式,能保證找到全域性最優解,常用的方法為
最大熵模型的優點有
最大熵模型的缺點有
從最大熵的思想出發得出的最大熵模型,最後的最大化求解就是在求p(y|x)的對數似然最大化。邏輯回歸也是在求條件概率分布關於樣本資料的對數似然最大化。二者唯一的不同就是條件概率分布的表示形式不同。
NLP之最大熵模型
最大熵模型的基本原理是 在只掌握關於未知分布的部分資訊的情況下,符合已知知識的概率分布可能有多個,但使熵值最大的概率分布最真實地反映了事件的分布情況,因為熵定義了隨機變數的不確定性,當熵最大時,隨機變數最不確定,最難準確地 其行為。也就是說,在已知部分資訊的前提下,關於未知分布最合理的推斷應該是符合...
機器學習 最大熵模型推導
先說說熵的定義,假設我們有隨機變數 x 其概率分布為 p x 則其熵為 h p x xp x log p x 條件熵 h p y x xp x yp y x l ogp y x 可以證明,在概率相等的時候,熵可以達到最大值。也可以理解為 最混亂 一般情況下,如果對乙個事物沒有任何的先驗知識,我們傾向...
最大熵模型總結
本文對最大熵模型進行了系統性的學習和總結,從不同的角度來解讀熵的概念以及最大熵的內涵。對最大熵的具體應用進行了梳理,並介紹了與最大熵相關的一些概念,最後通過乙個簡單的demo來對最大熵模型進行直觀的認識和感悟。熵,忘了第一次接觸是在物理課上還是在化學課上,總之是描述系統的無序性或者混亂狀態,跟熱力學...