梯度下降、牛顿法、高斯牛顿法、LM法之间的区别与联系之感性理解

文章概述

对于最小二乘问题,求解方法主要有梯度下降法、牛顿法、高斯牛顿法、LM法,按照这些方法的排序来看,后面一种方法可以说是前面一种方法的改进,每种方法都改进了它前面方法的一些缺点。

最速下降法(也叫梯度下降法)--最简单暴力的方法

问题:我们能求出每一个x处的导数J(函数下降速度与方向), 怎样求这个函数的最小值?

核心思想:沿着函数变小的方向移动,

导数J代表了函数的变化趋势,因此只要顺着函数值变小趋势的方向移动自变量就能迭代得到函数最小值了。

缺点:步长不好确定

往函数最小值方向移动的步长需要人为确定,步长取得太大则容易在最低点附近来回波动,甚至不收敛。取得太小则收敛速度慢

改进思路:利用其他信息来确定步长

想办法确定每一步的步长,使函数技能比较快速的下降,又不会出现不收敛的情况。

牛顿法--计算量大,但是收敛速度快且精确的方法

问题:求F(x0 + dx) 的最小值。注意自变量是dx

核心思想:把F(x0 + dx)泰勒展开成二次函数求最值(注意这里dx是自变量)。

缺点:二阶导数H计算量大

改进思路:避免使用二阶导数H,是否有其他可用信息。

高斯牛顿法--一种近似型解法,用线性函数近似二次曲线

问题:求F(x0 + dx) 的最小值。注意自变量是dx

核心思想:把F(x0 + dx)泰勒展开成一次函数求最值(注意一次函数必须有限制条件才能求到最值),这样可以避免求H矩阵。利用限制条件F(x0 + dx)>= 0(针对SLAM问题,因为SLAM中原函数F(x)代表误差大小)

缺点:

1、JTJ只有半正定性,若JTJ为奇异矩阵,则会导致算法不收敛。

2、步长取太大也可能导致算法不收敛

LM法--在近似型解法的基础上添加上了可信区间

问题:求F(x0 + dx) 的最小值。注意自变量是dx

核心思想::把F(x0 + dx)泰勒展开成一次函数求最值,利用函数在每个迭代点处的线性度来指导更多的使用梯度下降法还是高斯牛顿法

缺点:速度有所降低

 

参考: https://www.cnblogs.com/Jessica-jie/p/7739775.html

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值