最大熵模型 - 最大熵模型的学习
对于给定的训练数据集 T={(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋅ ⋅ ⋅ , ( x N , y N ) } 以及特征函数 fi(x,y) f i ( x , y ) ,最大熵模型的学习等价于约束最优化问题:
maxp∈CH(p)s.t.Ep(fi)∑yp(y|x)=−∑x,yp˜(x)p(y|x)logp(y|x)=Ep˜(fi)=1 max 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 ) ∑ y p ( y | x ) = 1
将求最大值改为等价求最小值问题:
minp∈C−H(p)s.t.Ep(fi)∑yp(y|x)=sumx,yp˜(x)p(y|x)logp(y|x)=Ep˜(fi)=1 min p ∈ C − H ( p ) = s u m x , y p ~ ( x ) p ( y | x ) l o g p ( y | x ) s . t . E p ( f i ) = E p ~ ( f i ) ∑ y p ( y | x ) = 1
引进拉格朗日乘子
w0,w1,⋅⋅⋅,wN w 0 , w 1 , ⋅ ⋅ ⋅ , w N ,定义拉格朗日函数:
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)) 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 ) )
最优化问题的原始问题是:
minP∈CmaxwL(P,w) min P ∈ C max w L ( P , w )
对偶问题为:
maxwminP∈CL(P,w) max w min P ∈ C L ( P , w )
因为拉格朗日函数
L(P,w) L ( P , w ) 是
P P 的凸函数,原始问题与对偶问题的解是等价的。
首先计算内部计算极小值,拉个朗日函数
L(P,w) L ( P , w ) 对
P(Y|X) P ( Y | X ) 的偏倒数:
∂L(P,w)∂P=∑x,yp˜(x)(1+logp(y|x))−w0−∑i=1nwi(∑x,yp˜(x)fi(x,y))=∑x,yp˜(x)(1+logp(y|x))−∑x,yp˜(x)w0−∑x,yp˜(x)(∑i=1nwifi(x,y))=∑x,yp˜(x)(1+logp(y|x)−w0−∑i=1Nwifi(x,y)) ∂ L ( P , w ) ∂ P = ∑ x , y p ~ ( x ) ( 1 + l o g p ( y | x ) ) − w 0 − ∑ i = 1 n w i ( ∑ x , y p ~ ( x ) f i ( x , y ) ) = ∑ x , y p ~ ( x ) ( 1 + l o g p ( y | x ) ) − ∑ x , y p ~ ( x ) w 0 − ∑ x , y p ~ ( x ) ( ∑ i = 1 n w i f i ( x , y ) ) = ∑ x , y p ~ ( x ) ( 1 + l o g p ( y | x ) − w 0 − ∑ i = 1 N w i f i ( x , y ) )
注: w0=w0×1=w0∑xp˜(x)=∑x,yp˜(x)w0 w 0 = w 0 × 1 = w 0 ∑ x p ~ ( x ) = ∑ x , y p ~ ( x ) w 0
令偏导数为0,在
p˜(x)>0 p ~ ( x ) > 0 的情况下,有:
p(y|x)=exp(∑i=1nwifi(x,y)+w0−1)=exp(∑ni=1wifi(x,y))exp(1−w0) 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 )
由于
∑yp(y|x)=1 ∑ y p ( y | x ) = 1 ,得:
于
∑yexp(∑ni=1wifi(x,y))exp(1−w0)=1 ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) = 1
则:
exp(1−w0)=∑yexp(∑i=1nwifi(x,y)) e x p ( 1 − w 0 ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) )
内部极大值得解为:
Pw(y|x)=1Zwexp(∑i=1nwifi(x,y))) P w ( y | x ) = 1 Z w e x p ( ∑ i = 1 n w i f i ( x , y ) ) )
其中:
Zw(x)=∑yexp(∑i=1nwifi(x,y)) Z w ( x ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) )
Zw(x) Z w ( x ) 称为规范化因子;
fi(x,y) f i ( x , y ) 为特征值函数;
wi w i 为特征权值;
Pw(y|x) P w ( y | x ) 为最大熵模型。之后再求解外部极大值,用
w∗ w ∗ 表示其解,即:
w∗=argmaxwΨ(w) w ∗ = a r g max w Ψ ( w )