牛顿法的特点就是收敛快。但是运用牛顿法需要计算二阶偏导数,而且目标函数的Hesse矩阵可能非正定。为了克服牛顿法的缺点,人们提出了拟牛顿法,它的基本思想是用不包含二阶导数的矩阵近似牛顿法中的Hesse矩阵的逆矩阵。
牛顿法的迭代公式
x ( k + 1 ) = x ( k ) + λ d ( k ) x^{(k+1)}=x^{(k)}+\lambda d^{(k)} x(k+1)=x(k)+λd(k) d ( k ) = − ▽ 2 f ( x ( k ) ) − 1 ▽ f ( x ( k ) ) d^{(k)}=-\bigtriangledown ^{2}f(x^{(k)})^{-1}\bigtriangledown f(x^{(k)}) d(k)=−▽2f(x(k))−1▽f(x(k))
为了构造 ▽ 2 f ( x ( k ) ) − 1 \bigtriangledown ^{2}f(x^{(k)})^{-1} ▽2f(x(k))−1的近似矩阵 H k H_{k} Hk,我们先来分析 ▽ 2 f ( x ( k ) ) − 1 \bigtriangledown ^{2}f(x^{(k)})^{-1} ▽2f(x(k))−1与一阶导数的关系。将 f ( x ) f(x) f(x)在点 x ( k + 1 ) x^{(k+1)} x(k+1)展开成泰勒级数 f ( x ) = f ( x ( k + 1 ) ) + ▽ f ( x ( k + 1 ) ) T ( x − x ( k + 1 ) ) f(x)=f(x^{(k+1)})+\bigtriangledown f(x^{(k+1)})^{T}(x-x^{(k+1)}) f(x)=f(x(k+1))+▽f(x(k+1))T(x−x(k+1)) + 1 2 ( x − x ( k + 1 ) ) T ▽ 2 f ( x ( k + 1 ) ) ( x − x ( k + 1 ) ) +\frac{1}{2}(x-x^{(k+1)})^{T} \bigtriangledown ^{2}f(x^{(k+1)})(x-x^{(k+1)}) +21(x−x(k+1))T▽2f(x(k+1))(x−x(k+1))由此可知,在 x ( k + 1 ) x^{(k+1)} x(k+1)附近有 ▽ f ( x ) ≈ ▽ f ( x ( k + 1 ) ) + ▽ 2 f ( x ( k + 1 ) ) ( x − x ( k + 1 ) ) \bigtriangledown f(x) \approx \bigtriangledown f(x^{(k+1)})+\bigtriangledown ^{2}f(x^{(k+1)})(x-x^{(k+1)}) ▽f(x)≈▽f(x(k+1