最大熵模型(二)

最大熵模型 - 最大熵模型的学习

对于给定的训练数据集 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 ) ,最大熵模型的学习等价于约束最优化问题:

maxpCH(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

将求最大值改为等价求最小值问题:
minpCH(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(1yp(y|x))+i=1nwi(Ep˜(fi)Ep(fi))=x,yp˜(x)p(y|x)logp(y|x)+w0(1yp(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 ) )

最优化问题的原始问题是:
minPCmaxwL(P,w) min P ∈ C max w L ( P , w )

对偶问题为:
maxwminPCL(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))w0i=1nwi(x,yp˜(x)fi(x,y))=x,yp˜(x)(1+logp(y|x))x,yp˜(x)w0x,yp˜(x)(i=1nwifi(x,y))=x,yp˜(x)(1+logp(y|x)w0i=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=w0xp˜(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)+w01)=exp(ni=1wifi(x,y))exp(1w0) 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(1w0)=1 ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) = 1

则:
exp(1w0)=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 )

你可能感兴趣的:(机器学习)