最大熵模型(二)

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

对于给定的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x N , y N ) } 以及特征函数 f i ( x , y ) ,最大熵模型的学习等价于约束最优化问题:

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

将求最大值改为等价求最小值问题:
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

引进拉格朗日乘子 w 0 , w 1 , , w N ,定义拉格朗日函数:
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 ) )

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

对偶问题为:
max w min P C L ( P , w )

因为拉格朗日函数 L ( P , w ) P 的凸函数,原始问题与对偶问题的解是等价的。
首先计算内部计算极小值,拉个朗日函数 L ( P , w ) P ( Y | X ) 的偏倒数:
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 ) )

注: w 0 = w 0 × 1 = w 0 x p ~ ( x ) = x , y p ~ ( x ) w 0
令偏导数为0,在 p ~ ( x ) > 0 的情况下,有:
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 )

由于 y p ( y | x ) = 1 ,得:
y e x p ( i = 1 n w i f i ( x , y ) ) e x p ( 1 w 0 ) = 1

则:
e x p ( 1 w 0 ) = y e x p ( i = 1 n w i f i ( x , y ) )

内部极大值得解为:
P w ( y | x ) = 1 Z w e x p ( i = 1 n w i f i ( x , y ) ) )

其中:
Z w ( x ) = y e x p ( i = 1 n w i f i ( x , y ) )

Z w ( x ) 称为规范化因子; f i ( x , y ) 为特征值函数; w i 为特征权值; P w ( y | x ) 为最大熵模型。之后再求解外部极大值,用 w 表示其解,即:
w = a r g max w Ψ ( w )

猜你喜欢

转载自blog.csdn.net/chuqidecha/article/details/80470488