关于SLAM中高斯牛顿法的一些理解

记录一下高斯牛顿法,首先介绍一下背景,假如是一个误差函数求最小值,那么通常情况下就是求取导数为0时的值,然后取其中最小值,但多变量情况下求导是比较困难的,这时可以通过给定一组x的方法进行估算,也就是给出f(x+\Delta x),假如该值较小并且\Delta x也足够小时就可以认定x为最小值。而牛顿法以及高斯牛顿法就是对\Delta x的计算。

牛顿法是对目标函数进行二阶泰勒展开,此时该函数为一个变量为\Delta x的二次函数,可以进行求导计算,然而牛顿法的二阶导数矩阵,也即海塞矩阵计算过慢,所以使用改进的高斯牛顿法,该方法求取的是目标函数误差的平方和,而且泰勒展开时对目标函数的一部分进行求解,然后对\Delta x进行求导,最终可以得到如下方程:

\frac{\partial ||f(x_{k}+J(x_{k})^{T}\Delta x_{k})||^{2}}{\partial\Delta x_{k}}=0

J(x_{k})J(x_{k})^{T}\Delta x_{k}=-J(x_{k})f(x_{k})

然后可以得到公式:

H(x_{k})=J(x_{k})J(x_{k})^{T},g(x_{k})=-J(x_{k})f(x_{k})

所以高斯牛顿法的增量方程为

H(x_{k})\Delta x_{k}=g(x_{k})

也就是说高斯牛顿的过程应当如下图所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值