機器學習常用算法:最大熵模型

最大熵原理

學習概率模型時,在所有可能的概率模型中,熵最大的模型是最好的模型。
假設離散隨機變量X 的概率分佈是 P(X) , 則其熵爲

H(P)=xP(x)logP(x)

且滿足如下不等式:

0H(P)log|X|

式中,|X|X 的取值個數,當且僅當 X 的分佈是均勻分佈時,右邊等號成立,即當 X 服從均勻分佈時,熵最大。

最大熵原理可簡述爲按照滿足約束條件下求等概率的方法估計概率分佈。

最大熵模型

1.最大熵模型是由以下條件概率分佈表示的分類模型,可用於二類或多分類問題。

Pw(y|x)=1Zw(x)exp(i=1nwifi(x,y))

Zw(x)=yexp(i=1nwifi(x,y))

其中,Zw(x) 是規範化因子;wi 是特徵權值;fi(x,y) 是特徵函數,描述輸入x 和輸出 y 之間的某一個事實,其定義爲

f(x,y)={1,x 與 y 滿足某一事實0,否則

這是一個二值函數。

2.對於給定的訓練集T={(x1,y1),(x2,y2),...,(xN,yN)} 和特徵函數 fi(x,y),i=1,2,...,n ,應用最大熵原理於分類模型中,得到以下約束最優化問題:

minH(P)=x,yP~(x)P(y|x)logP(y|x)

s.t.EP(fi)EP~(fi)=0,i=1,2,...,n

yP(y|x)=1

求解此最優化問題的無約束最優化對偶問題可得到最大熵模型,即最大熵模型的學習可歸結爲對偶函數Ψ(w) 的極大化。

對偶函數Ψ(w)

Ψ(w)=minPCL(P,w)=L(Pw,w)

其中,L(P,w) 爲引入拉格朗日乘子w 後的拉格朗日函數

L(P,w)=H(P)+w0(1yP(y|x))+i=1nwi(EP~(fi)EP(fi))=x,yP~(x)P(y|x)logP(y|x)+w0(1yP(y|x))+i=1nwi(x,yP~(x,y)fi(x,y)x,yP~(x)P(y|x)fi(x,y))

3.對偶函數的極大化等價於最大熵模型的極大似然估計。
(1).已知訓練數據的經驗概率分佈P~(X,Y) ,條件概率分佈P(Y|X) 的對數似然函數爲

LP~(Pw)=logx,yP(y|x)P~(x,y)=x,yP~(x,y)logP(y|x)=x,yP~(x,y)i=1nwifi(x,y)x,yP~(x,y)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)

最後一步用到yP~(y)=1 .
(2).對偶函數Ψ(w)

Ψ(w)=L(Pw,w)=x,yP~(x)Pw(y|x)logPw(y|x)+i=1nwi(x,yP~(x,y)fi(x,y)x,yP~(x)Pw(y|x)fi(x,y))=x,yP~(x,y)i=1nwifi(x,y)+x,yP~(x)Pw(y|x)(logPw(y|x)i=1nwifi(x,y))=x,yP~(x,y)i=1nwifi(x,y)x,yP~(x)Pw(y|x)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)

最後一步用到yP(y|x)=1 .

(3).比較可得,

Ψ(w)=LP~(Pw)

即最大熵模型的學習問題可轉換爲求解對數似然函數極大化或對偶函數極大化的問題。

結論

優點:
1、準確率較高。
2、可以靈活地設置約束條件,從而調節模型對未知數據的適應度和對已知數據的擬合程度
缺點:
1.由於約束函數數量和樣本數目有關係,導致迭代過程計算量巨大,實際應用較難。

參考資料

統計學習方法,李航著,清華大學出版社
最大熵模型原理小結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章