一、牛顿法存在的问题
在单变量的情况下,如果函数的二阶导数
f′′<0
,牛顿法就无法收敛到极小点。类似的,在多变量的情况下,目标函数的hessian矩阵
F(x(k))
非正定,牛顿法的搜索方向并不一定是目标函数值的下降方向。甚至在某些情况下
F(x(k))>0
, 牛顿法也不具有下降特性。比如,当初始点远离目标函数极小值点时,就有可能出现这种情况。
牛顿法虽然有上述缺陷,但是如果初始点离极小值点比较近,牛顿法将表现出相当好的收敛特性。
二、两个定理
首先选定目标函数为二次型函数
f
,牛顿法只需一次迭代就可以从任意点收敛到极小点。令目标函数如下:
它的梯度和hessian矩阵分别是:
当 ∇f(x)=0 时,可求得 f 的极小值点
利用牛顿法迭代公式可得:
下边直接给出定理1:
定理1 函数 f 三阶连续可微,点
上述定理证明略过。上述定理说明如果初始点离极小值点比较近,牛顿法将表现出相当好的收敛特性。否则,可能导致hessian矩阵为奇异矩阵,方法失效。
先给出定理2,然后再解决上述问题。
定理2 {
x(k)
}是为利用牛顿法求解目标函数
f(x)
极小点时得到的迭代点序列,如果
F(x(k))>0
且
g(x(k))=∇f(x(k))≠0
,那么从点
x(k)
到点
x(k+1)
的搜索方向
是一个下降方向,即存在一个 a¯>0 ,使得对于所有 α∈(0,a¯) , 都有
成立。
三、牛顿法的修正
根据定理2, 可以对牛顿法的修正如下:
其中,
也就是说,每一次的迭代都在方向 −F(x(k))−1g(x(k))) 上开展一次一维搜索,由此确定每次搜索的步长。修正的牛顿法具有下降特性,当 g(x(k))≠0 时,有:
四、修正后存在的问题
当目标函数维数比较大时,计算hessian矩阵需要计算量比较大,况且还要求解线性方程组 F(x(k))d(k)=−g(x(k)) ,这个问题后续继续讨论。