最大熵(二)| 约束最优化问题(拉格朗日对偶性)+最大熵模型的极大似然估计 | 《统计学习方法》学习笔记(二十四)

1. 最大熵模型的学习

最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。

对于给定的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}以及特征函数 f i ( x , y ) , i = 1 , 2 , ⋯   , n f_i(x,y),i=1,2,\cdots,n fi(x,y),i=1,2,,n,最大熵模型的学习等价于约束最优化问题:
m a x P ∈ C H ( P ) = − ∑ x , y P ^ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) s . t . E p ( f i ) = E P ^ ( f i ) , i = 1 , 2 , ⋯   , n ∑ y P ( y ∣ x ) = 1 max_{P\in C}\quad H(P)=-\sum_{x,y}\hat P(x)P(y|x)logP(y|x) \\ s.t. \quad E_p(f_i)=E_{\hat P}(f_i),\quad i=1,2,\cdots,n \\ \sum_{y}P(y|x)=1 maxPCH(P)=x,yP^(x)P(yx)logP(yx)s.t.Ep(fi)=EP^(fi),i=1,2,,nyP(yx)=1
按照最优化问题的习惯,将求最大值问题改写为等价的求最小值问题:
m i n p ∈ C − H ( P ) = ∑ x , y P ^ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) ( 7 ) s . t . E P ( f i ) − E P ^ ( f i ) = 0 , i = 1 , 2 , ⋯   , n ( 8 ) ∑ y P ( y ∣ x ) = 1 ( 9 ) min_{p\in C}-H(P)=\sum_{x,y}\hat P(x)P(y|x)logP(y|x) \quad (7)\\ s.t. \quad E_P(f_i)-E_{\hat P}(f_i)=0, \quad i=1,2,\cdots,n \quad (8)\\ \sum_y P(y|x)=1 \quad (9) minpCH(P)=x,yP^(x)P(yx)logP(yx)(7)s.t.EP(fi)EP^(fi)=0,i=1,2,,n(8)yP(yx)=1(9)
求解约束最优化问题(7)~(9),所得出的解,就是最大熵模型学习的解。下面给出具体推导

这里,将约束最优的原始问题转化为无约束最优化的对偶问题。通过求解对偶问题求原始问题。

首先,引进拉格朗日乘子 w 0 , w 1 , w 2 , ⋯   , w n w_0,w_1,w_2,\cdots,w_n w0,w1,w2,,wn,定义拉格朗日函数 L ( P , w ) L(P,w) L(P,w):
L ( P , w ) ≡ − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( E P ^ ( f i ) − E p ( f i ) ) = ∑ x , y P ^ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ^ ( x , y ) f i ( x , y ) − ∑ x , y P ^ ( x ) P ( y ∣ x ) f i ( x , y ) ) ( a ) L(P,w)\equiv -H(P)+w_0(1-\sum_yP(y|x))+\sum_{i=1}^nw_i(E_{\hat P}(f_i)-E_p(f_i)) \\ =\sum_{x,y}\hat P(x)P(y|x)logP(y|x)+w_0(1-\sum_yP(y|x))+\sum_{i=1}^nw_i(\sum_{x,y}\hat P(x,y)f_i(x,y)-\sum_{x,y}\hat P(x)P(y|x)f_i(x,y)) \quad (a) L(P,w)H(P)+w0(1yP(yx))+i=1nwi(EP^(fi)Ep(fi))=x,yP^(x)P(yx)logP(yx)+w0(1yP(yx))+i=1nwi(x,yP^(x,y)fi(x,y)x,yP^(x)P(yx)fi(x,y))(a)
最优化的原始问题是
m i n P ∈ C m a x w L ( P , w ) (10) min_{P\in C}max_wL(P,w) \tag{10} minPCmaxwL(P,w)(10)
对偶问题是
m a x w m i n P ∈ C L ( P , w ) (11) max_wmin_{P\in C}L(P,w) \tag{11} maxwminPCL(P,w)(11)
由于拉格朗日函数 L ( P , w ) L(P,w) L(P,w)是P的凸函数,原始问题(10)的解与对偶问题(11)的解是等价的。这样,可以通过求解对偶问题(11)来求解原始问题(10)。

首先,求解对偶问题(11)内部的极小化问题 m i n P ∈ C L ( p , w ) min_{P\in C}L(p,w) minPCL(p,w) m i n P ∈ C L ( P , w ) min_{P\in C}L(P,w) minPCL(P,w)是w的函数,将其记作
Ψ ( w ) = m i n P ∈ C L ( P , w ) = L ( P w , w ) (b) \Psi(w)=min_{P\in C}L(P,w)=L(P_w,w) \tag{b} Ψ(w)=minPCL(P,w)=L(Pw,w)(b)
Ψ ( w ) \Psi(w) Ψ(w)称为对偶函数。同时,将其解记作
P w = a r g   m i n P ∈ C L ( P , w ) = P w ( y ∣ x ) P_w=arg\,min_{P\in C}L(P,w)=P_w(y|x) Pw=argminPCL(P,w)=Pw(yx)
具体地,求 L ( P , w ) L(P,w) L(P,w) P ( y ∣ x ) P(y|x) P(yx)的偏导数
∂ L ( P , w ) ∂ P ( y ∣ x ) = ∑ x , y P ^ ( x ) ( l o g P ( y ∣ x ) + 1 ) − ∑ y w 0 − ∑ x , y ( P ^ ( x ) ∑ i = 1 n w i f i ( x , y ) ) = ∑ x , y P ^ ( x ) ( l o g P ( y ∣ x ) + 1 − w 0 − ∑ i = 1 n w i f i ( x , y ) ) \frac{\partial L(P,w)}{\partial P(y|x)}=\sum_{x,y}\hat P(x)(logP(y|x)+1)-\sum_yw_0-\sum_{x,y}(\hat P(x)\sum_{i=1}^nw_if_i(x,y)) \\ =\sum_{x,y}\hat P(x)(logP(y|x)+1-w_0-\sum_{i=1}^nw_if_i(x,y)) PyxL(P,w)=x,yP^(x)(logP(yx)+1)yw0x,y(P^(x)i=1nwifi(x,y))=x,yP^(x)(logP(yx)+1w0i=1nwifi(x,y))
令偏导数等于0,在 p ^ ( x ) > 0 \hat p(x)>0 p^(x)>0的情况下,解得
P ( y ∣ x ) = e x p ( ∑ i = 1 n w i f i ( x , y ) + w 0 − 1 ) = e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) P(y|x)=exp(\sum_{i=1}^nw_if_i(x,y)+w_0-1)=\frac{exp(\sum_{i=1}^nw_if_i(x,y))}{exp(1-w_0)} P(yx)=exp(i=1nwifi(x,y)+w01)=exp(1w0)exp(i=1nwifi(x,y))
由于 ∑ y P ( y ∣ x ) = 1 \sum_yP(y|x)=1 yP(yx)=1,得
P w ( y ∣ x ) = 1 Z w ( x ) e x p ( ∑ i = 1 n w i f i ( x , y ) ) (12) P_w(y|x)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y)) \tag{12} Pw(yx)=Zw(x)1exp(i=1nwifi(x,y))(12)
其中,
Z w ( x ) = ∑ y e x p ( ∑ i − 1 n w i f i ( x , y ) ) (13) Z_w(x)=\sum_yexp(\sum_{i-1}^nw_if_i(x,y)) \tag{13} Zw(x)=yexp(i1nwifi(x,y))(13)
Z w ( x ) Z_w(x) Zw(x)称为规范化因子; f i ( x , y ) f_i(x,y) fi(x,y)是特征函数; w i w_i wi是特征的权值。由式(12)、式(13)表示的模型 P w = P w ( y ∣ x ) P_w=P_w(y|x) Pw=Pw(yx)就是最大熵模型。这里,w是最大熵模型中的参数向量。

之后,求解对偶问题外部的极大化问题
m a x w Ψ ( w ) max_w\Psi(w) maxwΨ(w)
将其解即为 w ∗ w^* w,即
w ∗ = a r g   m a x w Ψ ( w ) w^*=arg\,max_w\Psi(w) w=argmaxwΨ(w)
这就是说,可以应用最优化算法求对偶函数 Ψ ( w ) \Psi(w) Ψ(w)的极大化,得到 w ∗ w^* w,用来表示 P ∗ ∈ C P^*\in C PC。这里, P ∗ = P w ∗ = P w ∗ ( y ∣ x ) P^*=P_{w^*}=P_{w^*}(y|x) P=Pw=Pw(yx)是学习到的最优模型(最大熵模型)也就是说,最大熵模型的学习归结为对偶函数 Ψ ( w ) \Psi(w) Ψ(w)的极大化。

:假设随机变量X有5个取值 { A , B , C , D , E } \{A,B,C,D,E\} {A,B,C,D,E},要估计取各个值的概率 P ( A ) , P ( B ) , P ( C ) , P ( D ) , P ( E ) P(A),P(B),P(C),P(D),P(E) P(A),P(B),P(C),P(D),P(E).学习其中的最大熵模型。已知概率值的约束条件 P ( A ) + P ( B ) = 3 10 P(A)+P(B)=\frac{3}{10} P(A)+P(B)=103

:为了方便,分别以 y 1 , y 2 , y 3 , y 4 , y 5 y_1,y_2,y_3,y_4,y_5 y1,y2,y3,y4,y5表示A,B,C,D和E,于是最大熵模型学习的最优化问题是
m i n   − H ( P ) = ∑ i = 1 5 P ( y i ) l o g P ( y i ) s . t . P ( y 1 ) + P ( y 2 ) = P ^ ( y 1 ) + P ^ ( y 2 ) = 3 10 ∑ i = 1 5 P ( y i ) = ∑ i = 1 5 P ^ ( y i ) = 1 min \,-H(P)=\sum_{i=1}^5P(y_i)logP(y_i) \\ s.t. \quad P(y_1)+P(y_2)=\hat P(y_1)+\hat P(y_2)=\frac{3}{10} \\ \sum_{i=1}^5P(y_i)=\sum_{i=1}^5\hat P(y_i)=1 minH(P)=i=15P(yi)logP(yi)s.t.P(y1)+P(y2)=P^(y1)+P^(y2)=103i=15P(yi)=i=15P^(yi)=1
引进拉格朗日乘子 w 0 , w 1 w_0,w_1 w0,w1,定义拉格朗日函数
L ( P , w ) = ∑ i = 1 5 P ( y i ) l o g P ( y i ) + w l ( P ( y 1 ) + P ( y 2 ) − 3 10 ) + w 0 ( ∑ i = 1 5 P ( y i ) − 1 ) L(P,w)=\sum_{i=1}^5P(y_i)logP(y_i)+w_l(P(y_1)+P(y_2)-\frac{3}{10})+w_0(\sum_{i=1}^5P(y_i)-1) L(P,w)=i=15P(yi)logP(yi)+wl(P(y1)+P(y2)103)+w0(i=15P(yi)1)
根据拉格朗日对偶性,可以通过求解对偶最优化问题得到原始最优化问题的解,所以求解
m a x w   m i n p L ( P , w ) max_w\,min_pL(P,w) maxwminpL(P,w)
首先求解 L ( P , w ) L(P,w) L(P,w)关于P的极小化问题。为此,固定 w 0 , w 1 w_0,w_1 w0,w1,求偏导数:
∂ L ( P , w ) ∂ P ( y 1 ) = 1 + l o g P ( y 1 ) + w 1 + w 0 ∂ L ( P , w ) ∂ P ( y 2 ) = 1 + l o g P ( y 2 ) + w 1 + w 0 ∂ L ( P , w ) ∂ P ( y 3 ) = 1 + l o g P ( y 3 ) + w 0 ∂ L ( P , w ) ∂ P ( y 4 ) = 1 + l o g P ( y 4 ) + w 0 ∂ L ( P , w ) ∂ P ( y 5 ) = 1 + l o g P ( y 5 ) + w 0 \frac{\partial L(P,w)}{\partial P(y_1)}=1+logP(y_1)+w_1+w_0 \\ \frac{\partial L(P,w)}{\partial P(y_2)}=1+logP(y_2)+w_1+w_0 \\ \frac{\partial L(P,w)}{\partial P(y_3)}=1+logP(y_3)+w_0 \\ \frac{\partial L(P,w)}{\partial P(y_4)}=1+logP(y_4)+w_0 \\ \frac{\partial L(P,w)}{\partial P(y_5)}=1+logP(y_5)+w_0 \\ P(y1)L(P,w)=1+logP(y1)+w1+w0P(y2)L(P,w)=1+logP(y2)+w1+w0P(y3)L(P,w)=1+logP(y3)+w0P(y4)L(P,w)=1+logP(y4)+w0P(y5)L(P,w)=1+logP(y5)+w0
令各偏导数等于0,解得
P ( y 1 ) = P ( y 2 ) = e − w 1 − w 0 − 1 P ( y 3 ) = P ( y 4 ) = P ( y 5 ) = e − w 0 − 1 P(y_1)=P(y_2)=e^{-w_1-w_0-1} \\ P(y_3)=P(y_4)=P(y_5)=e^{-w_0-1} P(y1)=P(y2)=ew1w01P(y3)=P(y4)=P(y5)=ew01
于是
m i n P L ( P , w ) = L ( P w , w ) = − 2 e − w 1 − w 0 − 1 − 3 e − w 0 − 1 − 3 10 w 1 − w 0 min_PL(P,w)=L(P_w,w)=-2e^{-w_1-w_0-1}-3e^{-w_0-1}-\frac{3}{10}w_1-w_0 minPL(P,w)=L(Pw,w)=2ew1w013ew01103w1w0
再求解 L ( P w , w ) L(P_w,w) L(Pw,w)关于w的极大化问题:
m a x w L ( P w , w ) = − 2 e − w 1 − w 0 − 1 − 3 e − w 0 − 1 − 3 10 w 1 − w 0 max_wL(P_w,w)=-2e^{-w_1-w_0-1}-3e^{-w_0-1}-\frac{3}{10}w_1-w_0 maxwL(Pw,w)=2ew1w013ew01103w1w0
分别求 L ( P w , w ) L(P_w,w) L(Pw,w) w 0 , w 1 w_0,w_1 w0,w1的偏导数并令其为0,得到
e − w 1 − w 0 − 1 = 3 20 e − w 0 − 1 = 7 30 e^{-w_1-w_0-1}=\frac{3}{20} \\ e^{-w_0-1}=\frac{7}{30} ew1w01=203ew01=307
于是得到所要求的的概率分布为
P ( y 1 ) = P ( y 2 ) = 3 20 P ( y 3 ) = P ( y 4 ) = P ( y 5 ) = 7 30 P(y_1)=P(y_2)=\frac{3}{20} \\ P(y_3)=P(y_4)=P(y_5)=\frac{7}{30} P(y1)=P(y2)=203P(y3)=P(y4)=P(y5)=307

2. 极大似然估计

从以上最大熵模型学习中可以看出,最大熵模型是由式(12)、式(13)表示的条件概率分布。下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。

已知训练数据的经验概率分布 P ^ ( X , Y ) \hat P(X,Y) P^(X,Y),条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)的对数似然函数表示为
L P ^ ( P w ) = l o g ∏ x , y P ( y ∣ x ) P ^ ( x , y ) = ∑ x , y P ^ ( x , y ) l o g P ( y ∣ x ) L_{\hat P}(P_w)=log\prod_{x,y}P(y|x)^{\hat P(x,y)}=\sum_{x,y}\hat P(x,y)logP(y|x) LP^(Pw)=logx,yP(yx)P^(x,y)=x,yP^(x,y)logP(yx)
当条件概率分布 P ( y ∣ x ) P(y|x) P(yx)是最大熵模型(12)和(13)时,对数似然函数 L p ^ ( P w ) L_{\hat p}(P_w) Lp^(Pw)
L P ^ ( P w ) = ∑ x , y P ^ l o g P ( y ∣ x ) = ∑ x , y P ^ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ^ ( x , y ) l o g Z w ( x ) = ∑ x , y P ^ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ^ ( x ) l o g Z w ( x ) ( 14 ) L_{\hat P}(P_w)=\sum_{x,y}\hat PlogP(y|x) \\ =\sum_{x,y}\hat P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x,y}\hat P(x,y)logZ_w(x) \\ =\sum_{x,y}\hat P(x,y)\sum_{i=1}^n w_if_i(x,y)-\sum_x\hat P(x)logZ_w(x) \quad (14) LP^(Pw)=x,yP^logP(yx)=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)(14)
再看对偶函数 Ψ ( w ) \Psi(w) Ψ(w)。由式(a)及式(b)可得
Ψ ( w ) = ∑ x , y P ^ ( x ) P w ( y ∣ x ) l o g P w ( y ∣ x ) + ∑ i = 1 n w i ( ∑ x , y P ^ ( x , y ) f i ( x , y ) − ∑ x , y P ^ ( x ) P w ( y ∣ x ) f i ( x , y ) ) = ∑ x , y P ^ ( x , y ) ∑ i = 1 n w i f i ( x , y ) + ∑ x , y P ^ ( x ) P w ( y ∣ x ) ( l o g P w ( y ∣ x ) − ∑ i = 1 n w i f i ( x , y ) ) = ∑ x , y P ^ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ^ ( x ) P w ( y ∣ x ) l o g Z w ( x ) = ∑ x , y P ^ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ^ ( x ) l o g Z w ( x ) ( 15 ) \Psi(w)=\sum_{x,y}\hat P(x)P_w(y|x)logP_w(y|x) + \sum_{i=1}^nw_i(\sum_{x,y}\hat P(x,y)f_i(x,y)-\sum_{x,y}\hat P(x)P_w(y|x)f_i(x,y)) \\ =\sum_{x,y}\hat P(x,y)\sum_{i=1}^nw_if_i(x,y)+\sum_{x,y}\hat P(x)P_w(y|x)(logP_w(y|x)-\sum_{i=1}^nw_if_i(x,y)) \\ =\sum_{x,y}\hat P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x,y}\hat P(x)P_w(y|x)logZ_w(x) \\ =\sum_{x,y}\hat P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\hat P(x)logZ_w(x) \quad(15) Ψ(w)=x,yP^(x)Pw(yx)logPw(yx)+i=1nwi(x,yP^(x,y)fi(x,y)x,yP^(x)Pw(yx)fi(x,y))=x,yP^(x,y)i=1nwifi(x,y)+x,yP^(x)Pw(yx)(logPw(yx)i=1nwifi(x,y))=x,yP^(x,y)i=1nwifi(x,y)x,yP^(x)Pw(yx)logZw(x)=x,yP^(x,y)i=1nwifi(x,y)xP^(x)logZw(x)(15)
最后一步用到 ∑ y P ( y ∣ x ) = 1 \sum_yP(y|x)=1 yP(yx)=1

比较式(14)和式(15),可得
Ψ ( w ) = L P ^ ( P w ) \Psi(w)=L_{\hat P}(P_w) Ψ(w)=LP^(Pw)
既然对偶函数 Ψ ( w ) \Psi(w) Ψ(w)等价于对数似然函数 L P ^ ( P w ) L_{\hat P}(P_w) LP^(Pw),于是证明了最大熵模型学习中的对偶函数极大化等价于最大熵模型的极大似然估计这一事实。

这样,最大熵模型的学习问题就转换为具体求解对数似然函数极大化或对偶函数极大化的问题。

可以将最大熵模型写成更一般的形式。
P w ( y ∣ x ) = 1 Z w ( x ) e x p ( ∑ i = 1 n w i f i ( x , y ) ) P_w(y|x)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y)) Pw(yx)=Zw(x)1exp(i=1nwifi(x,y))
其中,
Z w ( x ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) Z_w(x)=\sum_yexp(\sum_{i=1}^nw_if_i(x,y)) Zw(x)=yexp(i=1nwifi(x,y))
这里, x ∈ R n x\in \bold R^n xRn为输入, y ∈ { 1 , 2 , ⋯   , K } y\in \{1,2,\cdots,K\} y{1,2,,K}为输出, w ∈ R n w\in \bold R^n wRn为权值向量, f i ( x , y ) , i = 1 , 2 , ⋯   , n f_i(x,y),i=1,2,\cdots,n fi(x,y),i=1,2,,n为任意实值特征函数。

最大熵模型与逻辑斯谛回归模型有些类似的形式,它们又称为对数线性模型(log linear model)。模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值