一、问题的引出
最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。
对于给定的训练数据集 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 的凸函数, 原问题的解与对偶问题的解是等价的。
首先求
minP∈CL(P,w) ,
minP∈CL(P,w) 是
w 的函数,记为:
Ψ(w)=minP∈CL(Pw,w),
Ψ(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)