最大熵模型


  1. 最大熵模型預備知識

信息量:一個事件發生的概率越小,信息量越大,所以信息量應該為概率的減函數,對於相互獨立的兩個事有p(xy)=p(x)p(y),對於這兩個事件信息量應滿足h(xy)=h(x)+h(y),那么信息量應為對數函數:

    

對於一個隨機變量可以以不同的概率發生,那么通過信息量期望的方式衡量,即信息熵

信息熵:一條信息(屬性、特征)信息量大小和它的不確定性程度有直接的關系,不確定性越大信息量越大。以e為底單位為nat。公式為:

每個xi表示一種特征。

H(X)在每個p(xi) = 1/N是最大,N為信息的個數。在概率為1/N時信息是最不確定的,所以H(X)越大,信息熵越不確定。

注意:均勻分布的信息熵

    N點離散均勻分布:

    

    連續均勻分布:

    

聯合熵:兩個隨機變量的XY的聯合分布形成的熵稱為聯合熵,記為H(X, Y)

條件熵:X給定的條件下,Y的信息熵,即H (Y | X )。公式為:

條件熵等於(X, Y)的聯合熵,減去X熵,即:

    

相對熵:又稱互熵、交叉熵、交叉信息、Kullback熵、Kullback-Leibel散度。設p(x), q(x)X中的兩個概率分布,pq的相對熵可以表示為:

    

相對熵可以度量兩個隨機變量的"距離"

互信息:兩個隨機變量XY的聯合分布與獨立分布乘積的相對熵,即:

    

    

幾種熵之間的關系:

  1. 最大熵直觀理解:在沒有任何前提條件的時候,我們猜測骰子每個面出現的概率為1/6;當骰子的重心發生變化時,如果我們已知出現1點的概率為1/3,那么我們會猜測剩下的各面出現的概率為(1-1/3)/5=2/15(在沒有任何先驗知識的前提下,我們推測為均勻分布)。這個過程實際就是在運用最大熵原理

最大熵原理指出:對一個隨機事件的概率分布進行預測時,預測應當滿足全部已知的約束,而對未知的情況不要做任何主觀假設。在這種情況下,概率分布最均勻,預測的風險最小,因此得到的概率分布的熵是最大。

最大熵目標:運用觀測到的實驗樣本如何對實驗數據分布做出合理的推斷。

最大熵模型是建立一個概率判別模型,該模型的任務是對於給定的 X=x以條件概率分布 P(Y|X=x) 預測 Y的取值。

  1. 最大熵

    無條件最大熵:若隨機變量退化為定值,熵最小為0,若隨機變量為均勻分布,那么熵最大,所以熵滿足:

    

    有條件最大熵:最大熵模型

如果用歐式空間的單純形(simplex)來描述隨機變量的話,那么可以將隨機變量ABC映射到等邊三角形的三個頂點上(等邊三角形的內部任意一點到三條邊的距離之和相等,等於三角形的高),如(a)所示,這里定義三角形中任意一點到三條邊的距離之和為 1,任給一點p,比如P(A) 等於p到邊 BC 的距離。圖(b)中,P(A)=1, P(B)=P(C)=0。圖(c)中,P(A)=P(B)=P(C)=1/3

上圖(a)中沒有任何概率約束條件,所以所有的P(Y|X)都是允許的,整個概率空間的取值可以是 三角形(simplex)中的任意一點,只需找到滿足最大熵條件的即可。當引入約束時,模型被限制在約束上,如下圖所示

(1) (a)中,增加了(線性)約束C1P(Y|X)只能落在定義C1的那條線段上;

(2) (b)中,在圖(a)的基礎上增加了線性約束C2,且C1∩C2≠Φ,所以P(Y|X)必須同時落在C1C2上,所以只能落在C1C2的交點上;

(3) (c)中,在圖(a)的基礎上增加了線性約束C2,但C1∩C2=Φ,此時,沒有同時滿足C1C2P(Y|X)。在最大熵模型中,由於約束從訓練數據中取得,所以不會出現不一致。即不會出現(c) 的情況。

  1. 最大熵約束條件

對於一般訓練集:

    

按照最大熵目標,應先找到最大熵對應的全部約束條件。約束條件從何而來?實際上就是從訓練集中抽取部分樣本,要求這些樣本在訓練集上的經驗分布的期望等於它們在模型中P(X, Y)的期望相同。

從訓練集中抽取部分樣本,要求樣本服從聯合經驗分布(X, Y)以及邊緣經驗分布(X)。可以表示為:

    

其中,v(X=x, Y=y)表示訓練集中xy出現的頻數,v(X=x)表示輸入x出現的頻數。

用特征函數f(x, y)表示訓練數據中樣本輸入x與輸出y之間是否為對應關系,其定義為:

    

f(x, y)為二值函數。

特征函數f(x, y)關於聯合經驗分布(X, Y)在樣本上的期望可以表示為:

    

特征函數f(x, y)關於模型P(Y|X=x)的期望可以表示為:

    

上式中(x)應為邊緣分布P(x),而實際上,P(x)無法計算得到所以用(x)代替。P(x|y)為所求的模型。

根據約束條件,兩個期望相等,即:

    

  1. 最大熵模型

假設滿足所有約束條件的概率模型的集合為:

    

其中,i表示約束條件的個數。P為分布的集合。定義在條件概率分布P(X|Y)上的條件熵為:

    

集合C中條件熵H(P)最大的概率模型稱為最大熵模型。

最大熵模型的學習過程就是求解最大熵模型的過程,最大熵模型的學習過程等價於約束最優化問題,模型可以等價於:

    

按照最優化問題習慣,最大值問題可以等價的求最小值,所以有:

    

針對約束條件,引入拉格朗日乘子w0, w1, w2,…,wn,定義拉格朗日函數L(P, w)

    

拉格朗日函數 L(P, w) 的約束是要滿足的 ,如果不滿足約束的話,只需另 wi +∞,則可得 L(P, w)+∞,因為需要得到極小值,所以約束必須要滿足。即:

    

所以原問題轉換為:

    

滿足KKT條件,所以可以轉換到對偶問題求解,即:

    

首先將L(P, w)P(y|x)求導等於0,即

    

由於一階導數等於0,而(x)>0,可以解Pw(X|Y)

    

由於,得:

    

    

Zw(x)為規范化因子。

Pw(y|x)為最大熵模型,回帶入L(P, w),現在內部的極小化求解得到關於 w的函數,現在求其對偶問題的外部極大化即可,即:

    

得到w*帶入就得到了要求解得最大熵模型。

    

得到了需要極大化的式子:

    

最大似然估計

訓練數據得經驗概率分布(X, Y),條件概率分布P(Y|X)的對數似然函數可以表示為:

    

Pw(y|x)帶入有:

    

顯而易見,拉格朗日對偶得到的結果與極大似然得到的結果時等價的,現在只需極大化似然函數即可,順帶優化目標中可以加入正則項,這是一個凸優化問題,一般的梯度法、牛頓法都可解之,專門的算法有GIS IIS 算法。

討論:只給定均值與方差的前提下,最大熵的分布形式?即:

    

很明顯是最值問題,采用Lagrange乘子,有:

    

一階導數為0,即:

    

接下來討論幾種分布的lnp(x)的形式:

(1) 正態分布:

    

(2) Gamma分布:

    

(3) 均勻分布:

    

(4) 指數分布:

    

所以證據上述分布的特點,已知均值與方差的最大熵分布應該滿足正態分布。

談最大熵模型與最大似然估計自己的理解(此理解非常"不負責任")最大似然估計是在樣本分布的未知的情況下認為樣本的乘積最大。最大熵模型是未知部分不做假設。最大熵模型有時可以作為目標函數。

參考:

http://www.cnblogs.com/ooon/p/5677098.html

《統計學習方法》

鄒博課件

未經許可不得轉載!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM