最大熵模型是指在滿足約束條件的模型集合中選取熵最大的模型,即不確定性最大的模型。
最大熵思想:當你要猜乙個概率分布時,如果你對這個分布一無所知,那就猜熵最大的均勻分布,如果你對這個分布知道一些情況,那麼,就猜滿足這些情況的熵最大的分布。
按照最大熵原理,我們應該優先保證模型滿足已知的所有約束。那麼如何得到這些約束呢?
思路是:從訓練資料\(t\)中抽取若干特徵,然後要求這些特徵在\(t\)上關於經驗分布的期望與它們在模型中關於\(p(x,y)\)的數學期望相等,這樣,乙個特徵就對應乙個約束。
假設訓練集為\(t=\)。則聯合分布\(p(x,y)\)的經驗分布和邊緣分布\(p(x)\)的經驗分布為:
\[\tilde(x,y)=\tilde(x=x,y=y)=\frac
\]\[\tilde(x)=\tilde(x=x)=\frac
\]我們定義特徵函式
\[f(x,y)=
\begin
1& \text\\
0& \text
\end\]
設\(e_}(f)\):表示特徵函式\(f\)在訓練資料\(t\)上關於\(\tilde(x,y)\)的數學期望:
\[e_}(f)=\sum_(x,y)f(x,y)}
\]設\(e_p(f)\):表示特徵函式\(f\)在模型上關於\(p(x,y)\)的數學期望
\[e_}(f)=\sum_ =\sum_
\]由於\(p(x)\)是未知的,我們使用\(\tilde(x)\)來近似表示。於是有
\[e_}(f)=\sum_(x)p(y|x)f(x,y)}
\]最終我們需要計算的條件概率為:\(p(y|x)\)。
我們的條件熵為:
\[h(p) = -\sum_p(x)p(y|x)\log
\]同樣,我們需要將\(p(x)\)的值進行近似處理:
\[h(p) = -\sum_\tilde(x)p(y|x)\log
\]另外,對於任意輸入樣例,它總是屬於某乙個輸出類別,因而
\[\sum_p(y|x)=1
\]因此,現在我們將上述問題轉變成了乙個有條件的最優化問題:
\[\begin
\max\ \ &\tilde(x)p(y|x)\log} \\
s.t.\ \ &e_(f)=e_}(f)\\
&\sum_p(y|x)=1
\end
\]即,
\[\begin
\min\ \ &\tilde(x)p(y|x)\log} \\
s.t.\ \ &e_(f)=e_}(f)\\
&\sum_p(y|x)=1
\end
\]這裡,將約束最小化的原始問題轉換為無約束最優化的對偶問題,通過對偶問題來求解原始問題。
首先,引入拉格朗日乘子\(w_0,w_1,…,w_n\),定義拉格朗日函式\(l(p,w)\),
\[\begin
l(p,w)=&-h(p)+w_0\left(1-\sum_y\right)+\sum_^n}(f_i)-e_(f_i))}\\
=&\sum_\tilde(x)p(y|x)\log+w_0\left(1-\sum_y\right)+\sum_^n}(f_i)-e_(f_i))}
\end
\]最優化原始問題的對偶問題是:
\[\max_w}
\]由於\(l(p,w)\)是\(p\)的凸函式,原始問題的解與對偶問題的解是等價的。
將\(l(p,w)\)對\(p(y│x)\)求偏導數,得
\[\begin
\frac=&\sum_(x)(\log}+1)-\sum_y-\sum_(\tilde(x)\sum_^nw_if_i(x,y))\\
=&\sum_\tilde(x)\left(\log+1-w_0-\sum_i^nw_if_i(x,y)\right)
\end
\]令偏導數為0,解得
\[\begin
p(y|x)=&\exp(^nw_if_i(x,y)+w_0-1})\\
=&\exp(^nw_if_i(x,y)})\exp()
\end
\]由於
\[\sum_p(y|x)=1
\]有,
\[\sum_p(y|x)=\sum_\exp(^nw_if_i(x,y)})\exp()=1
\]得,
\[\exp()=\frac\exp(^nw_if_i(x,y)})}
\]令規範化因子\(z_w (x)\)為
\[z_w(x)=\sum_\exp(^nw_if_i(x,y)})
\]此時得到對偶問題的極小解為:
\[p_w(y|x)=\frace^^nw_if_i(x,y)}
\]這就是我們所需要的最大熵模型下的概率估計。
我們再回顧下推導流程,
實際上,對偶問題的極大化等價於最大熵模型的極大似然估計。至此,我們已經得到了最大熵模型的目標估計,而模型中的最優引數則是對偶問題最大時的引數。
具體學習演算法有改進的迭代尺度法(iis)與擬牛頓法。
邏輯回歸是最大熵對應類別為兩類時的特殊情況,也就是當邏輯回歸類別擴充套件到多類別時,就是最大熵。
其聯絡在於:
最大熵與邏輯回歸均屬於對數線性模型。它們的學習一般採用極大似然估計,或正則化的極大似然估計,可以形式化為無約束最優化問題。求解該優化問題的演算法有改進的迭代尺度法、梯度下降法、擬牛頓法。
指數簇分布的最大熵等價於其指數形式的最大似然界;二項式的最大熵解等價於二項式指數形式(sigmoid)的最大似然,多項式分布的最大熵等價於多項式分布指數形式(softmax)的最大似然。
因此為什麼用sigmoid函式,那是因為指數簇分布最大熵的特性的必然性。另外,邏輯回歸模型與最大熵模型都屬於對數線性模型。
最大熵模型的缺點有:
最大熵模型
最大熵模型學習中的對偶函式極大化等價於最大熵模型的極大使然估計。這樣最大熵模型的學習問題就轉換為具體求解對數似然函式極大化或對偶函式極大化的問題。邏輯斯蒂回歸模型 最大熵模型學習歸結為以似然函式為目標函式的最優化問題。iis試圖一次只優化其中乙個變數theai,而固定其他變數。這裡b thea w ...
最大熵模型
pw y x 1z w x exp i 1nw ifi x,y 其中,zw x yexp i 1n wifi x,y 最大熵模型的學習等價於約束最優化問題 minp c h 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 約束最優...
最大熵模型
學習概率模型時,在所有的可能概率模型 分布 中,熵最大的模型是最好的模型。通常根據約束條件來確定概率模型的集合,所以也可理解為 在滿足約束條件的模型集合中選取熵最大的模型。假設離散隨機變數 x 的概率分布是p x 則其熵是 h p xp x lo gp x 熵滿足不等式 0 h p lo g x 其...