习题6.3
写出最大熵模型学习的DFP算法。(关于一般的DFP算法参见附录B)
解答:
第1步:
最大熵模型为:
引入拉格朗日乘子,定义拉格朗日函数:
最优化原始问题为:
对偶问题为:
令
Ψ(𝑤) 称为对偶函数,同时,其解记作
求 L(P,w)对 P(y|x)的偏导数,并令偏导数等于0,解得:
其中:
则最大熵模型目标函数表示为
第2步:
DFP的的迭代公式为:
输入:目标函数 φ(w),梯度,精度要求 ε;
输出:φ(w)的极小值点
(1)选定初始点,取
为正定对称矩阵,置 k=0
(2)计算,若
,则停止计算,得近似解
,否则转(3)
(3)置
(4)一维搜索:求使得
(5)置
(6)计算,若
,则停止计算,得近似解
;否则,按照迭代式算出
(7)置 k=k+1,转(3)