机器人中的数值优化之最速下降法

欢迎大家关注我的B站:

偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)

本文ppt来自深蓝学院《机器人中的数值优化》

目录

1 迭代方向 

2 步长的选择 

3 Armijo condition

4 非精确线搜索的优势


1 迭代方向 

梯度方向是函数上升最快的方向,而负梯度方向则是函数下降最快的方向,因此最速下降法就是以负梯度方向为迭代方向,当函数非光滑时,迭代点不存在梯度时,以次梯度集合内的取最小模长的负方向为迭代方向。对于次梯度的介绍,读者请参考(1条消息) 机器人中的数值优化之凸函数_无意2121的博客-CSDN博客

2 步长的选择 

 

前面我们讨论了迭代方向如何选择,现在讨论在迭代方向上走多少步长合适,这里列出了四种方法

  • 恒定步长
  • 不断衰减的步长
  • 精确线搜索
  • 非精确线搜索

 

如果采用恒定步长迭代,将导致不停的震荡,始终无法收敛

如果采用衰减步长迭代,可以保证收敛,但是随着步长越来越短,收敛越来越慢

因此我们需要一个兼顾收敛性与收敛速度的步长调整方法

精确线搜索:相当于以步长为自变量又进行一次求最优解的过程,这能保证每次迭代得到的优化最彻底,但实际上这导致我们又需要去求解子优化问题,本来就是在求解优化问题,又化归成一系列子优化问题,只不过变成一维优化问题,但是求解时间还是有较大损耗

非精确线搜索:我们不希望再求解子优化问题,也就是只希望每次得到一个接近最优解的步长,即满足一些条件,接下来将详细介绍这个条件(Armijo condition)

3 Armijo condition

迭代步长看作自变量画出图,然后对当前迭代点进行一阶近似,然后对此直线的斜率进行松弛也就是乘上一个0到1的系数,得到另一条直线,在这条直线下方的区域都是下降比较充分的

而这里也采用了一种二分的方法,当二分到满足Armijo condition时,就可以停止二分,取此步长

迭代的终止条件是梯度足够小,或者次梯度包含0

4 非精确线搜索的优势

这两张图表明非精确线搜索在工程上由于精确线搜索,一般来说迭代时间与迭代次数和每次迭代需要的时间乘积成正比,虽然精确线搜索iteration很小,但每次iteration的time cost很大,就使得总耗时大,非精确线搜索与之相反,iteration虽然多,但每次iteration的time cost很小

这里我们还需要考虑条件数的问题,条件数很大将导致最速下降法每次迭代震荡很厉害,因此当条件数很大时,不适用最速下降法,对于条件数,不清楚的读者可以参考机器人中的数值优化之凸函数_无意2121的博客-CSDN博客

可见当条件数很大时,曲率信息我们不能忽略,下一节我们将介绍包含curvature info 的优化算法

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无意2121

创作不易,多多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值