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

欢迎大家关注我的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.线性共轭梯度方法整体流程

相关推荐
OPEN-F13 分钟前
ROS2系列教程:上位机建图与导航(原理综合)
算法·机器人
weixin_3077791314 分钟前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
OPEN-F18 分钟前
ROS2系列教程:完整实体机器人项目实战(软硬协同)
机器人
tomwang032230 分钟前
路径优化建模、优化算法分类及工程化小结
算法·数学建模·分类
小羊没烦恼!32 分钟前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
专一的咸鱼哥39 分钟前
预训练 ONNX 模型转换为 .eim
嵌入式硬件·机器人
2501_926978331 小时前
人机通信协议--人和机器之间的交互想象
人工智能·经验分享·算法·ai写作
行者全栈架构师1 小时前
【鸿蒙心迹】互动卡片全链路——把核心功能放到桌面(FormKit 实战)(HarmonyOS 7.x)
前端·算法·架构
Pocker_Spades_A1 小时前
70座训练场、50万小时数据——机器人数据采集的现状与缺口
机器人
无定义_1 小时前
10.11日常训练
算法