拟牛顿法分为五部分来讲,本文这部分作为引言,第二部分讲Hessian矩阵逆矩阵的近似,第三部分秩1修正公式,第四部分为DFP算法,最后BFGS算法。
牛顿法是一种具有较高实用性的优化问题的求解方法。牛顿法如果收敛,收敛阶数至少是2。但是,当目标函数为一般性的非线性函数时,牛顿法就不能保证从任意起始点
x(0)
收敛到函数的极小点。也就是说,如果初始点
x(0)
不足够接近极小点,那么牛顿法可能不具备下降性。
牛顿法的基本思路是在每次迭代中,利用二次型函数的局部近似目标函数
f
,并求解近似函数的极小点作为下一个迭代点,迭代公式为:
x(k+1)=x(k)−F(x(k))−1g(k)
对上式进行适当修正,可以保证牛顿法具有下降性:
x(k+1)=x(k)−αkF(x(k))−1g(k)
其中,
αk
为步长,合理确定步长,使得:
f(x(k+1))<f(x(k))
牛顿法的另外一个缺陷是必须计算Hessian矩阵
F(x(k))
和求解方程
F(x(k))d(k)=−g(k)
,即
d(k)=−F(x(k))−1g(k)
,为了避免求解
F(x(k))(−1)
这种矩阵求逆运算,可以通过设计
F(x(k))(−1)
的近似矩阵来代替,这就是拟牛顿法的基本思路。
命题 函数
f
是一阶连续可微
f∈C1,x(k)∈Rn,g(k)=∇f(x(k))≠0,Hk
是
n×n
对称正定实矩阵, 如果令
x(k+1)=x(k)−αkHkg(k)
,其中,
αk=argminα≥0f(x(k)−αkHkg(k))
,那么有
αk>0,f(x(k+1))<f(x(k))
。
在拟牛顿法中,构造Hessian矩阵逆矩阵的近似矩阵时,只需要用到目标函数值和梯度。因此,只要确定了合适的近似矩阵
Hk
的构造方法,那么迭代过程中不需要任何涉及Hessian矩阵以及现行方程求解的计算工作。