机器人中的数值优化之线性共轭梯度法

欢迎大家关注我的B站:

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

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

目录

1.无约束优化方法对比

[2.Hessian-vec product](#2.Hessian-vec product)

3.线性共轭梯度方法的步长​编辑

4.共轭梯度方向的求解

5.线性共轭梯度方法整体流程


1.无约束优化方法对比

拟牛顿方法和牛顿共轭梯度方法 是最优的,实现收敛速率与iteration work之间的平衡

2.Hessian-vec product

hessian矩阵需要n方的复杂度,逆需要n三次方的复杂度,我们求解d需要hessian矩阵的逆

hessian与向量的乘积经过泰勒展开的简化可以变为只需求两次梯度

3.线性共轭梯度方法的步长

A应该也是未知的,我们只能输入x得到Ax的值

求解线性方程这个任务转化为求二次函数的最小值

最速下降法收敛比较慢

牛顿方法需要涉及Hessian求逆

如果A=I,那么等高线是圆,n维则是对应超球 ,但是每次的迭代都是相互垂直 的,只要n步这样正交的方向迭代搜索就能获得精确的最小值

对于A!=I时,等高线为椭球,相当于做了仿射变换,原来的正交,现在则是共轭,定义如上

这里对步长进行求导则可以得到步长的闭式解,并且由其形式可看出我们只需要知道Ax这样输入x得出Ax的值的接口就行

4.共轭梯度方向的求解

施密特正交化就是不断把基底方向的分量减掉,剩下的就是和已经存在的基底正交的另一个基底

共轭的施密特正交化与一般的施密特正交化的区别就是内积中间有系数矩阵A

按部就班来还是k方的复杂度,实际上可以增量式地计算

这里令每一次Vk是残差,但这个残差已经把在之前的共轭投影上都是零了

5.线性共轭梯度方法整体流程

相关推荐
火星机器人life33 分钟前
基于ceres优化的3d激光雷达开源算法
算法·3d
虽千万人 吾往矣42 分钟前
golang LeetCode 热题 100(动态规划)-更新中
算法·leetcode·动态规划
arnold661 小时前
华为OD E卷(100分)34-转盘寿司
算法·华为od
ZZTC2 小时前
Floyd算法及其扩展应用
算法
lshzdq2 小时前
【机器人】机械臂轨迹和转矩控制对比
人工智能·算法·机器人
2401_858286113 小时前
115.【C语言】数据结构之排序(希尔排序)
c语言·开发语言·数据结构·算法·排序算法
猫猫的小茶馆3 小时前
【数据结构】数据结构整体大纲
linux·数据结构·算法·ubuntu·嵌入式软件
u0107735143 小时前
【字符串】-Lc5-最长回文子串(中心扩展法)
java·算法
帅逼码农3 小时前
K-均值聚类算法
算法·均值算法·聚类
姚先生974 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode