最优化学习笔记(七)——Levenberg-Marquardt修正(牛顿法修正)

来源:互联网 发布:推荐充电宝 知乎 编辑:程序博客网 时间:2024/05/21 09:19

    上节末尾谈到牛顿法中隐含的另外一个问题在于hessian矩阵可能不是正定的。因此,d(k)=F(x(k))1g(x(k))可能不会是下降方向。Levenberg-Marquardt修正可以解决这个问题,保证每次产生的方向是下降方向,修正后的迭代公式是:

x(k+1)=x(k)(F(x(k))+μkI)1g(x(k))

其中,μk0
    下面对此进行说明。F为对称矩阵,并不要求是正定的。F的特征值为λ1,λ2,,λn,分别对应特征向量v1,v2,,vn.特征值全部为实数,但不要求全部为正数。对F进行简单的修正,得到矩阵G=F+μI,其中,μ0。可知矩阵G的特征值为:λ1+μ,λ2+μ,,λn+μ,且满足:
Gvi=(F+μI)vi=Fvi+μIvi=λivi+μvi=(λi+μ)vi

这说明只要μ足够大,就可以保证G的特征值都为正数,也就是说G为正定矩阵。同理,如果Levenberg-Marquardt中的μk足够大的话,总能保证搜索方向d(k)=F(x(k))1g(x(k))是一个下降方向。引入一个搜索步长αk,可以得到新的迭代公式:
x(k+1)=x(k)αk(F(x(k))+μkI)1g(x(k))

在实际应用中,一开始可以选择μk较小的值,然后缓慢增加,直到出现下降特性。

0 0
原创粉丝点击