最大熵(二)| 约束最优化问题(拉格朗日对偶性)+最大熵模型的极大似然估计 | 《统计学习方法》学习笔记(二十四)
1. 最大熵模型的学习最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。对于给定的训练数据集T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1,y1),(x2,y2),⋯,(xN,yN)}以及特征函数fi(x,y),i=1,2,⋯ ,nf_i
1. 最大熵模型的学习
最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。
对于给定的训练数据集T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1,y1),(x2,y2),⋯,(xN,yN)}以及特征函数fi(x,y),i=1,2,⋯ ,nf_i(x,y),i=1,2,\cdots,nfi(x,y),i=1,2,⋯,n,最大熵模型的学习等价于约束最优化问题:
maxP∈CH(P)=−∑x,yP^(x)P(y∣x)logP(y∣x)s.t.Ep(fi)=EP^(fi),i=1,2,⋯ ,n∑yP(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 maxP∈CH(P)=−x,y∑P^(x)P(y∣x)logP(y∣x)s.t.Ep(fi)=EP^(fi),i=1,2,⋯,ny∑P(y∣x)=1
按照最优化问题的习惯,将求最大值问题改写为等价的求最小值问题:
minp∈C−H(P)=∑x,yP^(x)P(y∣x)logP(y∣x)(7)s.t.EP(fi)−EP^(fi)=0,i=1,2,⋯ ,n(8)∑yP(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) minp∈C−H(P)=x,y∑P^(x)P(y∣x)logP(y∣x)(7)s.t.EP(fi)−EP^(fi)=0,i=1,2,⋯,n(8)y∑P(y∣x)=1(9)
求解约束最优化问题(7)~(9),所得出的解,就是最大熵模型学习的解。下面给出具体推导
这里,将约束最优的原始问题转化为无约束最优化的对偶问题。通过求解对偶问题求原始问题。
首先,引进拉格朗日乘子w0,w1,w2,⋯ ,wnw_0,w_1,w_2,\cdots,w_nw0,w1,w2,⋯,wn,定义拉格朗日函数L(P,w)L(P,w)L(P,w):
L(P,w)≡−H(P)+w0(1−∑yP(y∣x))+∑i=1nwi(EP^(fi)−Ep(fi))=∑x,yP^(x)P(y∣x)logP(y∣x)+w0(1−∑yP(y∣x))+∑i=1nwi(∑x,yP^(x,y)fi(x,y)−∑x,yP^(x)P(y∣x)fi(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(1−y∑P(y∣x))+i=1∑nwi(EP^(fi)−Ep(fi))=x,y∑P^(x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P^(x,y)fi(x,y)−x,y∑P^(x)P(y∣x)fi(x,y))(a)
最优化的原始问题是
minP∈CmaxwL(P,w)(10) min_{P\in C}max_wL(P,w) \tag{10} minP∈CmaxwL(P,w)(10)
对偶问题是
maxwminP∈CL(P,w)(11) max_wmin_{P\in C}L(P,w) \tag{11} maxwminP∈CL(P,w)(11)
由于拉格朗日函数L(P,w)L(P,w)L(P,w)是P的凸函数,原始问题(10)的解与对偶问题(11)的解是等价的。这样,可以通过求解对偶问题(11)来求解原始问题(10)。
首先,求解对偶问题(11)内部的极小化问题minP∈CL(p,w)min_{P\in C}L(p,w)minP∈CL(p,w)。minP∈CL(P,w)min_{P\in C}L(P,w)minP∈CL(P,w)是w的函数,将其记作
Ψ(w)=minP∈CL(P,w)=L(Pw,w)(b) \Psi(w)=min_{P\in C}L(P,w)=L(P_w,w) \tag{b} Ψ(w)=minP∈CL(P,w)=L(Pw,w)(b)
Ψ(w)\Psi(w)Ψ(w)称为对偶函数。同时,将其解记作
Pw=arg minP∈CL(P,w)=Pw(y∣x) P_w=arg\,min_{P\in C}L(P,w)=P_w(y|x) Pw=argminP∈CL(P,w)=Pw(y∣x)
具体地,求L(P,w)L(P,w)L(P,w)对P(y∣x)P(y|x)P(y∣x)的偏导数
∂L(P,w)∂P(y∣x)=∑x,yP^(x)(logP(y∣x)+1)−∑yw0−∑x,y(P^(x)∑i=1nwifi(x,y))=∑x,yP^(x)(logP(y∣x)+1−w0−∑i=1nwifi(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)) ∂P(y∣x)∂L(P,w)=x,y∑P^(x)(logP(y∣x)+1)−y∑w0−x,y∑(P^(x)i=1∑nwifi(x,y))=x,y∑P^(x)(logP(y∣x)+1−w0−i=1∑nwifi(x,y))
令偏导数等于0,在p^(x)>0\hat p(x)>0p^(x)>0的情况下,解得
P(y∣x)=exp(∑i=1nwifi(x,y)+w0−1)=exp(∑i=1nwifi(x,y))exp(1−w0) 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(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(∑i=1nwifi(x,y))
由于∑yP(y∣x)=1\sum_yP(y|x)=1∑yP(y∣x)=1,得
Pw(y∣x)=1Zw(x)exp(∑i=1nwifi(x,y))(12) P_w(y|x)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y)) \tag{12} Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))(12)
其中,
Zw(x)=∑yexp(∑i−1nwifi(x,y))(13) Z_w(x)=\sum_yexp(\sum_{i-1}^nw_if_i(x,y)) \tag{13} Zw(x)=y∑exp(i−1∑nwifi(x,y))(13)
Zw(x)Z_w(x)Zw(x)称为规范化因子;fi(x,y)f_i(x,y)fi(x,y)是特征函数;wiw_iwi是特征的权值。由式(12)、式(13)表示的模型Pw=Pw(y∣x)P_w=P_w(y|x)Pw=Pw(y∣x)就是最大熵模型。这里,w是最大熵模型中的参数向量。
之后,求解对偶问题外部的极大化问题
maxwΨ(w) max_w\Psi(w) maxwΨ(w)
将其解即为w∗w^*w∗,即
w∗=arg maxwΨ(w) w^*=arg\,max_w\Psi(w) w∗=argmaxwΨ(w)
这就是说,可以应用最优化算法求对偶函数Ψ(w)\Psi(w)Ψ(w)的极大化,得到w∗w^*w∗,用来表示P∗∈CP^*\in CP∗∈C。这里,P∗=Pw∗=Pw∗(y∣x)P^*=P_{w^*}=P_{w^*}(y|x)P∗=Pw∗=Pw∗(y∣x)是学习到的最优模型(最大熵模型)也就是说,最大熵模型的学习归结为对偶函数Ψ(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)=310P(A)+P(B)=\frac{3}{10}P(A)+P(B)=103
解:为了方便,分别以y1,y2,y3,y4,y5y_1,y_2,y_3,y_4,y_5y1,y2,y3,y4,y5表示A,B,C,D和E,于是最大熵模型学习的最优化问题是
min −H(P)=∑i=15P(yi)logP(yi)s.t.P(y1)+P(y2)=P^(y1)+P^(y2)=310∑i=15P(yi)=∑i=15P^(yi)=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 min−H(P)=i=1∑5P(yi)logP(yi)s.t.P(y1)+P(y2)=P^(y1)+P^(y2)=103i=1∑5P(yi)=i=1∑5P^(yi)=1
引进拉格朗日乘子w0,w1w_0,w_1w0,w1,定义拉格朗日函数
L(P,w)=∑i=15P(yi)logP(yi)+wl(P(y1)+P(y2)−310)+w0(∑i=15P(yi)−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=1∑5P(yi)logP(yi)+wl(P(y1)+P(y2)−103)+w0(i=1∑5P(yi)−1)
根据拉格朗日对偶性,可以通过求解对偶最优化问题得到原始最优化问题的解,所以求解
maxw minpL(P,w) max_w\,min_pL(P,w) maxwminpL(P,w)
首先求解L(P,w)L(P,w)L(P,w)关于P的极小化问题。为此,固定w0,w1w_0,w_1w0,w1,求偏导数:
∂L(P,w)∂P(y1)=1+logP(y1)+w1+w0∂L(P,w)∂P(y2)=1+logP(y2)+w1+w0∂L(P,w)∂P(y3)=1+logP(y3)+w0∂L(P,w)∂P(y4)=1+logP(y4)+w0∂L(P,w)∂P(y5)=1+logP(y5)+w0 \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+w0∂P(y2)∂L(P,w)=1+logP(y2)+w1+w0∂P(y3)∂L(P,w)=1+logP(y3)+w0∂P(y4)∂L(P,w)=1+logP(y4)+w0∂P(y5)∂L(P,w)=1+logP(y5)+w0
令各偏导数等于0,解得
P(y1)=P(y2)=e−w1−w0−1P(y3)=P(y4)=P(y5)=e−w0−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)=e−w1−w0−1P(y3)=P(y4)=P(y5)=e−w0−1
于是
minPL(P,w)=L(Pw,w)=−2e−w1−w0−1−3e−w0−1−310w1−w0 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)=−2e−w1−w0−1−3e−w0−1−103w1−w0
再求解L(Pw,w)L(P_w,w)L(Pw,w)关于w的极大化问题:
maxwL(Pw,w)=−2e−w1−w0−1−3e−w0−1−310w1−w0 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)=−2e−w1−w0−1−3e−w0−1−103w1−w0
分别求L(Pw,w)L(P_w,w)L(Pw,w)对w0,w1w_0,w_1w0,w1的偏导数并令其为0,得到
e−w1−w0−1=320e−w0−1=730 e^{-w_1-w_0-1}=\frac{3}{20} \\ e^{-w_0-1}=\frac{7}{30} e−w1−w0−1=203e−w0−1=307
于是得到所要求的的概率分布为
P(y1)=P(y2)=320P(y3)=P(y4)=P(y5)=730 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(Y∣X)的对数似然函数表示为
LP^(Pw)=log∏x,yP(y∣x)P^(x,y)=∑x,yP^(x,y)logP(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,y∏P(y∣x)P^(x,y)=x,y∑P^(x,y)logP(y∣x)
当条件概率分布P(y∣x)P(y|x)P(y∣x)是最大熵模型(12)和(13)时,对数似然函数Lp^(Pw)L_{\hat p}(P_w)Lp^(Pw)为
LP^(Pw)=∑x,yP^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)(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,y∑P^logP(y∣x)=x,y∑P^(x,y)i=1∑nwifi(x,y)−x,y∑P^(x,y)logZw(x)=x,y∑P^(x,y)i=1∑nwifi(x,y)−x∑P^(x)logZw(x)(14)
再看对偶函数Ψ(w)\Psi(w)Ψ(w)。由式(a)及式(b)可得
Ψ(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)(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,y∑P^(x)Pw(y∣x)logPw(y∣x)+i=1∑nwi(x,y∑P^(x,y)fi(x,y)−x,y∑P^(x)Pw(y∣x)fi(x,y))=x,y∑P^(x,y)i=1∑nwifi(x,y)+x,y∑P^(x)Pw(y∣x)(logPw(y∣x)−i=1∑nwifi(x,y))=x,y∑P^(x,y)i=1∑nwifi(x,y)−x,y∑P^(x)Pw(y∣x)logZw(x)=x,y∑P^(x,y)i=1∑nwifi(x,y)−x∑P^(x)logZw(x)(15)
最后一步用到∑yP(y∣x)=1\sum_yP(y|x)=1∑yP(y∣x)=1
比较式(14)和式(15),可得
Ψ(w)=LP^(Pw) \Psi(w)=L_{\hat P}(P_w) Ψ(w)=LP^(Pw)
既然对偶函数Ψ(w)\Psi(w)Ψ(w)等价于对数似然函数LP^(Pw)L_{\hat P}(P_w)LP^(Pw),于是证明了最大熵模型学习中的对偶函数极大化等价于最大熵模型的极大似然估计这一事实。
这样,最大熵模型的学习问题就转换为具体求解对数似然函数极大化或对偶函数极大化的问题。
可以将最大熵模型写成更一般的形式。
Pw(y∣x)=1Zw(x)exp(∑i=1nwifi(x,y)) P_w(y|x)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y)) Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
其中,
Zw(x)=∑yexp(∑i=1nwifi(x,y)) Z_w(x)=\sum_yexp(\sum_{i=1}^nw_if_i(x,y)) Zw(x)=y∑exp(i=1∑nwifi(x,y))
这里,x∈Rnx\in \bold R^nx∈Rn为输入,y∈{1,2,⋯ ,K}y\in \{1,2,\cdots,K\}y∈{1,2,⋯,K}为输出,w∈Rnw\in \bold R^nw∈Rn为权值向量,fi(x,y),i=1,2,⋯ ,nf_i(x,y),i=1,2,\cdots,nfi(x,y),i=1,2,⋯,n为任意实值特征函数。
最大熵模型与逻辑斯谛回归模型有些类似的形式,它们又称为对数线性模型(log linear model)。模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)