拟牛顿法之BFGS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拟牛顿法之BFGS相关的知识,希望对你有一定的参考价值。
参考技术A 考虑无约束最优化问题假设 有二阶连续偏导,且 表示第 次迭代的值。可以将 在 附近做二阶泰勒展开
其中, 是 的梯度在点 的值, 是 的海塞矩阵
在点 的值。
每次迭代从 开始,求目标函数的极小点。假设 满足
由泰勒展开,有
即
因此有
或者以 定义搜索方向,即有
以式 迭代就是牛顿法
在牛顿法的迭代中,需要计算海塞矩阵的逆矩阵 ,这一计算比较复杂,考虑用一个 阶矩阵 代替 。就是拟牛顿法的基本想法。
由梯度的基本定义,可知 满足以下关系
令 ,则 ,称为拟牛顿条件。如果 正定,则可以保证搜索方向式下降的。
这是由于搜索方向是 ,根据牛顿法的迭代规则,有
所以在前述的泰勒展开中, 可以改写为
由于 正定, 。故当 充分小时,总有
拟牛顿法同样满足这个条件,以一正定矩阵 代替 ,同时令其满足拟牛顿条件,即 按照拟牛顿法,在每次迭代中可以选择更新矩阵 。
DFP方法选择正定矩阵逼近的是海塞矩阵的逆矩阵,仍未达到最优化。故BFGS方法用正定矩阵 逼近海塞矩阵 本身。此时相应的拟牛顿条件为 。
假设每次迭代中,
考虑使 和 满足
得到BFGS迭代公式
输入:目标函数 ,梯度函数 ,精度要求
输出: 的极小点
(1)选定初始点 ,取 为正定对称矩阵,置
(2)计算 ,如果 ,停止迭代,找到最优点,否则继续迭代
(3)由 求出
(4)求 使得
(5)更新
(6)计算 ,比较误差,如果不符合停止条件,计算 ,进行下一次迭代
(7)
以上是关于拟牛顿法之BFGS的主要内容,如果未能解决你的问题,请参考以下文章
牛顿法|阻尼牛顿法|拟牛顿法|DFP算法|BFGS算法|L-BFGS算法
最优化方法 拟牛顿法(Quasi-Newton Method)