最大熵模型 - 最大熵模型的学习
对于给定的训练数据集
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
)
,最大熵模型的学习等价于约束最优化问题:
将求最大值改为等价求最小值问题:
引进拉格朗日乘子 w0,w1,⋅⋅⋅,wN w 0 , w 1 , ⋅ ⋅ ⋅ , w N ,定义拉格朗日函数:
最优化问题的原始问题是:
对偶问题为:
因为拉格朗日函数 L(P,w) L ( P , w ) 是 P P 的凸函数,原始问题与对偶问题的解是等价的。
首先计算内部计算极小值,拉个朗日函数对 P(Y|X) P ( Y | X ) 的偏倒数:
注: 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 的情况下,有:
由于 ∑yp(y|x)=1 ∑ y p ( y | x ) = 1 ,得:
于
则:
内部极大值得解为:
其中:
Zw(x) Z w ( x ) 称为规范化因子; fi(x,y) f i ( x , y ) 为特征值函数; wi w i 为特征权值; Pw(y|x) P w ( y | x ) 为最大熵模型。之后再求解外部极大值,用 w∗ w ∗ 表示其解,即: