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

    上节末尾谈到牛顿法中隐含的另外一个问题在于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 较小的值,然后缓慢增加,直到出现下降特性。

你可能感兴趣的:(最优化)