• 1.摘要
  • 2.搜索极值
  • 3.与逆矩阵的关联
  • 4.实现

拟牛顿法

拟牛顿法是一种以牛顿法为基础设计的,求解非线性方程组或连续的最优化问题函数的零点或极大、极小值的算法。当牛顿法中所要求计算的雅可比矩阵或Hessian矩阵难以甚至无法计算时,拟牛顿法便可派上用场。

搜索极值

与牛顿法相同, 拟牛顿法是用一个二次函数以近似目标函数image. image的二阶泰勒展开是

image

其中, image表示image的梯度, image表示Hessian矩阵image的近似. 梯度image可进一步近似为下列形式

image

令上式等于image, 计算出Newton步长image,

image

然后构造image的近似image满足

image

上式称作割线方程组. 但当image是定义在多维空间上的函数时, 从该式计算image将成为一个不定问题 (未知数个数比方程式个数多). 此时, 构造image, 根据Newton步长更新当前解的处理需要回归到求解割线方程. 几乎不同的拟牛顿法就有不同的选择割线方程的方法. 而大多数的方法都假定image具有对称性 (即满足image). 另外, 下表所示的方法可用于求解image; 在此, image于某些范数与image尽量接近. 即对于某些正定矩阵image, 以以下方式更新image:

image

近似Hessian矩阵一般以单位矩阵等作为初期值. 最优化问题的解image由根据近似所得的image计算出的Newton步长更新得出.

以下为该算法的总结:

image

image

计算新一个迭代点下的梯度image

image

利用image, 直接近似Hessian矩阵的逆矩阵image. 近似的方法如下表:

Method

image

image

DFP法

image

image

BFGS法

image

image

Broyden法

image

image

Broyden族

image

SR1法

image

image