最大熵模型MaxEnt

2021-09-07 12:39:21 字數 2880 閱讀 5289

最大熵模型的思想是在滿足已知條件的情況下,不對未知情況做任何有偏的假設,這樣得到的模型**風險最小。

滿足已知條件,且不對未知情況做任何有偏的假設,即認為未知情況各種事件發生的概率相等,這實際上就是說條件熵最大。

$$max \; h(y|x)=-\sum_i}$$

注:本文我們討論的$x,y$都是離散隨機變數。

定義特徵函式:

$$f(x,y)=\left\ 1 & if  \; x,y滿足某個條件 \\ 0 & otherwise \end\right.$$

舉兩個特徵函式的例子:

$$f_1(x,y)=\left\ 1 & if  \; x>3且y="張三" \\ 0 & otherwise \end\right.$$

$$f_2(x,y)=\left\ 1 & if  \; x=0且y="李四" \\ 0 & otherwise \end\right.$$

x和y的聯合分布的經驗分布:

$$\tilde(x=x_i,y=y_j)=\frac$$

$x,y$都是隨機變數,$x_i,y_j$是其具體的取值,$n$是樣本的總量。

x的經驗分布:

$$\tilde(x=x_i)=\frac$$

特徵函式$f$關於$\tilde(x,y)$的期望:

$$e_}(f)=\sum_i(x_i,y_j)f(x_i,y_j)}}=\frac\sum_i}$$

特徵函式$f$關於$p(x,y)$的期望:

帶特徵函式的最大熵模型:

$$min \; -h(y|x)=\sum_i(x_i)p(y_j|x_i)logp(y_j|x_i)}}$$

$$s.t.\left\\sum_j=1 & \forall \\ e_(f_k)=e_}(f_k) & \forall \end\right.$$

對於帶若干等式約束的凸優化問題,利用拉格朗日乘子法得到最大熵模型的等價問題為:

\begin \undersetl(p;w,\lambda)=\sum_i(x_i)p(y_j|x_i)logp(y_j|x_i)}}+\sum_i\right)}+\sum_k(x_i,y_j)f_k(x_i,y_j)}}-\sum_i(x_i)p(y_j|x_i)f_k(x_i,y_j)}}\right]}  \label \end

其中$w_i\ne 0,\lambda_k\ne 0,\forall,\forall$

這裡的$p$指代的就是$p(y|x)$。

kkt條件指出上述問題與$\underset \; \underset \; l(p;w,\lambda)$等價。下面就分step1和step2兩步走,先調$p$求極小,再調$w,\lambda$求極大。

step 1

先把$w,\lambda$當成常量,調整$p$求$l(p;w,\lambda)$的極小值,所以對$p$求導,令導數為0。

$$\frac=\tilde(x_i)[logp(y_j|x_i)+1]-w_i-\sum_k(x_i)f_k(x_i,y_j)}$$

$$=\tilde(x_i)\left[logp(y_j|x_i)+1-\frac(x_i)}-\sum_k\right]=0$$

$$\therefore p(y_j|x_i)=exp\left\(x_i)}+\sum_k\right\}=\frac\right\}}(x_i)}\right\}}$$

$$\because \sum_jp(y_j|x_i)=1$$

$$\therefore \frac\right\}}(x_i)}\right\}}=\frac\right\}}(x_i)}\right\}}=1$$

$$\therefore exp\left\(x_i)}\right\}=\sum_jexp\left\\right\}$$  

\begin \therefore p(y_j|x_i)=\frac\right\}}\right\}} \label \end

我們看到(\ref)式就是softmax函式的一般化,只不過經典softmax函式中的特徵$x$在這裡變成了特徵函式$f(x,y)$。

step 2

令$$z_i=\sum_j\right\}}$$

由於已經對$j$和$k$進行了求和,所以$z_i$只跟$i$有關係,即$z_i=\sum_jz_i=\sum_kz_i$

由(\ref)式得

$$p(y_j|x_i)=\frac\right\}}$$

\begin logp(y_j|x_i)=\sum_k-logz_i \label \end

由(\ref)式得

\begin \sum_jp(y_j|x_i)=1 \label \end

把(\ref)式和(\ref)式代入(\ref)式得

$$\underset \; l(w,\lambda;p)=\sum_i(x_i)p(y_j|x_i)\left[\sum_k-logz_i\right]}}+\sum_k(x_i,y_j)f_k(x_i,y_j)}}-\sum_i(x_i)p(y_j|x_i)f_k(x_i,y_j)}}\right]}$$

$$=\sum_i\sum_j\sum_k\tilde(x_i,y_j)\lambda_kf_k(x_i,y_j)-\sum_i\sum_j\tilde(x_i)p(y_j|x_i)logz_i$$

$$=\sum_i\sum_j\sum_k\tilde(x_i,y_j)\lambda_kf_k(x_i,y_j)-\sum_i\tilde(x_i)logz_i\sum_jp(y_j|x_i)$$

$$=\sum_i\sum_j\sum_k\tilde(x_i,y_j)\lambda_kf_k(x_i,y_j)-\sum_i\tilde(x_i)logz_i$$

最後$w$已經消失,只剩下$\lambda$了。有時候還會針對$\lambda$加乙個正則項。求函式的極大值可以用梯度下降法、牛頓法等,也可以用專業的gis、iis法。

最大熵模型

最大熵模型學習中的對偶函式極大化等價於最大熵模型的極大使然估計。這樣最大熵模型的學習問題就轉換為具體求解對數似然函式極大化或對偶函式極大化的問題。邏輯斯蒂回歸模型 最大熵模型學習歸結為以似然函式為目標函式的最優化問題。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 其...