Quasi-Newton拟牛顿法(共轭方向法)

本文介绍了优化方法中的Quasi-Newton法,特别是共轭方向法和BFGS算法。牛顿法由于Hessian矩阵的计算复杂性和可能的收敛问题,催生了拟牛顿法。共轭方向法通过一系列共轭方向迭代求解二次型函数,而BFGS是拟牛顿法的一种,通过秩1修正公式构建近似Hessian矩阵的逆。BFGS在ceres库中有实现,适合解决非线性优化问题。
摘要由CSDN通过智能技术生成

1. Introduction

拟牛顿法可以理解为使用迭代的方法近似Hessian矩阵,但是拟牛顿法本质上其实是共轭方向法,所以用共轭方向法来理解拟牛顿法更加贴切。

本文的主要内容来自于《最优化导论》(《An introduction to optimization》)

2. 牛顿法

牛顿法在很多地方都有详细的说明,就不在这里赘述了。

2.1 不能保证收敛

一般的非线性函数,牛顿法不能保证从任意起始点都可以收敛到极小值点。结果可能会随着迭代在极小值附件震荡,甚至越走越远。这就要求我们设置合理的步长。

2.2 Hessian计算复杂

另外牛顿法中Hessian矩阵计算十分复杂,于是就引入了拟牛顿法,可以设计近似矩阵来代替复杂的Hessian矩阵。

3. 共轭方向法

共轭方向法的求解的主要是n维的二次型函数:
Alt
通过找到关于Q的一系列共轭方向d,然后分别从每个共轭方向上优化,最终可以在n步之内得到结果。
在这里插入图片描述
同时为了更方便的找到共轭方向,引入使用迭代求出共轭方向的方法,如下的共轭梯度法:
在这里插入图片描述
为了说明清楚,我们需要:

  • 定义共轭方向
  • 通过朝共轭方向更新x,可以收敛到极小值
  • 共轭梯度法构造得到的是共轭方向

3.1 共轭方向

共轭方向的定义如下,Q是上面所述的二次型函数中的表达。
在这里插入图片描述
关于共轭方向还有一个重要引理:
在这里插入图片描述

3.2 共轭方向上可以收敛到极小

在这里插入图片描述

3.3 共轭梯度法得到的是Q上的共轭方向

这个可以通过数学归纳法证明,证明可以参见原书。我们只需要知道共轭梯度法得到的d确实是Q的共轭方向。
在这里插入图片描述

3.4 算法效果

  • 共轭方向法的效率在最速下降法和牛顿法之间。
  • 对n维的二次型问题,n步之内可以得到结果。
  • 不需要计算Hessian矩阵。
  • 也不需要存储n*n的矩阵,不需
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值