习题6.3

  写出最大熵模型学习的DFP算法。(关于一般的DFP算法参见附录B)


解答:

第1步:

最大熵模型为:
习题6.3 - 图1

引入拉格朗日乘子,定义拉格朗日函数:
习题6.3 - 图2
最优化原始问题为:
习题6.3 - 图3
对偶问题为:
习题6.3 - 图4

习题6.3 - 图5
Ψ(𝑤) 称为对偶函数,同时,其解记作
习题6.3 - 图6
求 L(P,w)对 P(y|x)的偏导数,并令偏导数等于0,解得:
习题6.3 - 图7
其中:
习题6.3 - 图8
则最大熵模型目标函数表示为
习题6.3 - 图9


第2步:

DFP的习题6.3 - 图10的迭代公式为:
习题6.3 - 图11

输入:目标函数 φ(w),梯度习题6.3 - 图12,精度要求 ε;
输出:φ(w)的极小值点习题6.3 - 图13
(1)选定初始点习题6.3 - 图14,取习题6.3 - 图15为正定对称矩阵,置 k=0
(2)计算习题6.3 - 图16,若习题6.3 - 图17,则停止计算,得近似解习题6.3 - 图18,否则转(3)
(3)置习题6.3 - 图19
(4)一维搜索:求习题6.3 - 图20使得
习题6.3 - 图21
(5)置习题6.3 - 图22
(6)计算习题6.3 - 图23,若习题6.3 - 图24,则停止计算,得近似解习题6.3 - 图25;否则,按照迭代式算出习题6.3 - 图26
(7)置 k=k+1,转(3)