一、问题的引出
最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。
对于给定的训练数据集T={(x1,y1),(x2,y2),…,(xn,yn)}及特征函数fi(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
上式等价于:
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
求解上式有约束的最优化问题,所得出的解,就是最大熵模型学习的解。
二、推导过程
将约束最优化的原问题转换为无约束最优化问题的对偶问题,通过求解对偶问题求解原问题。
首先,引入拉格朗日乘子w0,w1,⋯,wn, 定义拉格朗日函数L(P,w):
L(P,w)=−H(P)+w0(1−∑yP(y|x))+∑inwi(Ep(fi)−Ep˜(fi))=∑x,yP˜(x)P(y|x)logP(y|x)+w0(1−∑yP(y|x))+∑inwi(∑x,yP˜(x,y)fi(x,y)−∑x,yP˜(x)P(y|x)fi(x,y))
最优化的原始问题是:
minP∈CmaxwL(P,w)
对偶问题是:
maxwminP∈CL(P,w)
由于拉格朗日函数 L(P,w) 是 P的凸函数, 原问题的解与对偶问题的解是等价的。
首先求
Ψ(w)的解 记为:
Pw=argminP∈CL(P,w)=Pw(y|x)
求 L(P,w)对 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))
令 偏导数=0 ,当 P˜(x)>0时,
P(y|x)=exp(∑i=1nwifi(x,y)+w0−1)=exp(∑ni=1wifi(x,y))exp(1−w0)
由于 ∑yP(y|x)=1得:
exp(1−w0)=∑yexp(∑i=1nwifi(x,y))=Zw(x)Pw(y|x)=1Zw(x)exp(∑i=1nwifi(x,y))
其中, Zw(x)称为规范化因子, fi(x,y)为特征函数, wi是特征权值。 Pw(y|x)就是最大熵模型。之后,求解对偶问题的最大化:
maxwΨ(w)
将其解记为:
w∗=argmaxwΨ(w)