一起自学SLAM算法:7.3 估计理论

news2024/9/27 15:21:58

连载文章,长期更新,欢迎关注:

不管是用贝叶斯网络还是因子图,一旦SLAM问题用概率图模型得到表示后,接下来就是利用可观测量(u_{k}z_{k})推理不可观测量(m_{i}x_{k}),也就是说SLAM问题的求解过程是一个状态估计。在讲解7.4和7.5节具体状态估计方法之前,大家需要先对估计理论[3] p110~138有所了解。

7.3.1 估计量的性质

所谓估计,就是研究某问题时感兴趣的参数\theta不能够通过精确测量得知,只能通过一组观测样本值Z=\left \{ z_{1},z_{2},...,z_{k} \right \}猜测参数\theta的可能取值\hat{\theta },猜测出来的这个\hat{\theta }就是估计量。估计量\hat{\theta }有时候比较直观,比如研究问题是室内温度,感兴趣的参数\theta就是室温,通过温度计可以在室内得到一组测量样本值Z=\left \{ z_{1},z_{2},...,z_{k} \right \},对样本值求平均这样最简单的处理可以得到估计温度\hat{\theta }。而有些估计量\hat{\theta }就不太直观,比如研究问题是机械零件的精密度,感兴趣的参数\theta就是机械零件误差分布,误差分布需要根据经验设定为某个分布函数f\theta是分布函数f的特征量,而观测样本值Z=\left \{ z_{1},z_{2},...,z_{k} \right \}是分布函数f上的样本点,也就是说观测样本值Z=\left \{ z_{1},z_{2},...,z_{k} \right \}需要通过f与待估计参数\theta建立联系;再比如研究问题是曲线拟合,感兴趣的参数\theta是曲线方程f的各个系数,还有很多例子就不一一列举了。

那么估计既然是一种猜测行为,可以毫无根据的瞎猜,也可以依据严密的逻辑策略进行科学的猜测。这就涉及到如何评价估计量的好坏程度,借助估计量的性质可以对估计好坏程度进行评价。估计量的性质主要是一致性偏差性,下面进一步讨论。

1.一致性

由于估计结果依靠观测样本,当样本数量少的时候可能对真实情况描述不够充分,随样本数量逐渐增多,估计量\hat{\theta }应该收敛到参数\theta的实际取值,也就是说估计值应该与实际值保持一致。一致性可以用式(7-51)和式(7-52)表述,第一种是弱一致收敛,当观测值规模k趋于无穷大时,\hat{\theta }依概率收敛于\theta;第二种是强一致收敛,当观测值规模k趋于无穷大时,\hat{\theta }严格收敛于\theta。这两种一致性的直观表达,如图7-1所示。一致性必须保证,不然估计没有意义。

 2. 偏差性

实际情况,观测到的样本数量不可能无穷多,因此一致性只是理论上需要满足的条件。在样本数量有限时,讨论估计值与实际值之间的偏差将更有意义,也就是偏差性。可以用估计量的k阶矩来描述,k阶矩在数学中的定义分为k阶原点矩和k阶中心矩,分别如式(7-53)和式(7-54)所示。

一阶原点矩E[\hat{\theta }]就是期望,二阶中心矩E[(\hat{\theta}-E[\hat{\theta}])^{2}]就是方差,二阶以上的高阶矩过于复杂一般不讨论。如果估计量\hat{\theta }的期望等于参数\theta的实际取值,称为无偏估计。无偏估计只是保证估计量在期望上是正确的,估计量本身还是有不确定性,方差描述了估计量的不确定性,方差越小估计不确定性越小,这就是最小方差估计。显然这里最小是一个模糊的概念,在数学上需要给出严谨的设定,这就是克拉美罗下界(CRLB)[3] p125,由于超出了本书的讨论范围,就不展开了。

7.3.2 估计量的构建

经过上面对估计量性质的讨论,好的估计量应该是最小方差无偏估计(Minimum Variance Unbiased Estimation,MVUE),然而这会非常困难,因此需要寻找近似方法,下面就介绍工程中常用的一些估计量构建方法。

1.最大似然估计

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

2.最小二乘估计

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

3.贝叶斯估计

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

7.3.3 各估计量对比

上面已经介绍了很多常用的估计,既有经典估计(比如最大似然估计、最小二乘估计、...),也有效果可能会更好的贝叶斯估计(比如最小均方误差估计、最大后验估计、……)。当然,这些估计之间既有关联也有区别,往往相互关系还错综复杂,让很多初学者往往摸不着头脑。所以,下面从几个不同的角度对这些估计进行对比,这样将易于读者去理解。

不过,估计理论涉及众多基础数学理论,很多数学理论和学派之间本来就存在各种争论。所以,下面将要讨论对比的角度难免会存在一些不严谨和受争论的点,读者清楚即可。

1.从策略角度对比

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

2.从模型角度对比

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

3.等价转换关系

 (先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

参考文献

【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初识C语言(上)

写在前面 我们正式开始接触到C语言,这是我在学习过C语言后重新写的博客,我把之前的稍微优化了一下,希望能用更加朴素的语言和大家分享,我希望给大家带来一个可以看的懂,理论和实践并行的内容.当然里面也会存在一些错误和不恰当的地方,还请诸位指正. 为何学习C语言 我想从两个…

mac 疑难问题汇总

macos 更改zsh到bash查看当前系统有哪些bash命令行:cat /etc/shells切换成bash命令行:chsh -s /bin/bashmac触摸屏轻点设置Mac通过crontab设置定时任务报错Operation not permitted1、系统偏好设置->安全性和隐私->完全磁盘访问权限2、解除锁定允许…

【双向链表】java代码实现

前言: 大家好,我是良辰丫🍓🍓🍓,上一篇文章我和大家一起去探索了单链表的知识世界,今天我们去接触双向链表,什么?没听错,就是双向链表,比单链表更…

UE INI文件操作 INI File Operation [ Read / Write ] 插件说明

在 Windows 平台上的 INI 文件读写操作 1. Write INI String 输入: Directory: 选择保存目录 Project Directory : 当前项目目录Project Content Directory:当前项目 Content 目录Project Config Directory:当前项目…

JVM内存区域的划分

根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 程序计数器(线程私有): 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,这类内存也称为…

Java基础08:面向对象进阶(上)

Java基础08:面向对象进阶(上)一、static1. 静态变量2. 静态方法3. 工具类4. static注意事项5. 重新认识main方法二、继承1. 继承的概念2. 继承的特点3. 继承中访问成员变量4. 继承中访问成员方法(方法重写)5. 继承中访…

给大家准备了程序员专属红包封面,审核通过后我哭了,太心酸了(┬_┬)

大家好,我是小悟 今天就是除夕了,也就是大年三十,小伙伴们应该都回家了吧,小悟祝大家新年快乐,身体健康,万事如意,兔飞猛进哦。 春节临近,收到微信定制红包封面并送了四千个名额的…

【深度学习】详解 MoCo

目录 摘要 一、引言 二、相关工作 三、方法 3.1 Contrastive Learning as Dictionary Look-up 3.2 Momentum Contrast 3.3 Pretext Task 四、实验 4.1 Linear Classification Protocol 总结 ☆ 实现 参考资料 Title:Momentum Contrast for Unsupervised…

AlmaLinux 9 安装Kasm Workspaces

今天尝试一下AlmaLinux 9 安装Kasm Workspaces。 前提条件 安装了Docker和Docker Compose,已经最新版本要求, docker 18.06 docker compose 2.1.1 创建一个Swap分区 下面的步骤将创建一个2千兆字节(2048MB)的交换分区。请根据…

我的创作纪念日——“永远相信美好的事情即将发生”

作者:非妃是公主 专栏:《程序人生》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录序与CSDN的往事机缘收获憧憬碎碎念序 第一次写创作纪念日的文章!哈哈哈哈,今…

一起自学SLAM算法:7.5 基于因子图的状态估计

连载文章,长期更新,欢迎关注: 虽然式(7-90)所示的完全SLAM系统可以用滤波方法求解,比如著名的Fast-SLAM实现框架。但是,贝叶斯网络表示下的完全SLAM系统能很方面地转换成因子图表示,…

字符串匹配: BF与KMP算法

文章目录一. BF算法1. 算法思想2. 代码实现二. KMP算法1. 算法思想概述2. 理解基于最长相等前后缀进行匹配3. 代码中如何实现next数组5. 代码实现6. next数组的优化一. BF算法 1. 算法思想 BF 算法, 即暴力(Brute Force)算法, 是普通的模式匹配算法, 假设现在我们面临这样一个…

24/365 java 观测线程状态 线程优先级

1.观测线程 JDK中定义的线程的六个状态 &#xff1a; 可以用getState()来观测线程 public static void main(String[] args) throws InterruptedException {Thread thread new Thread(()->{for (int i 0; i < 10; i) {try {Thread.sleep(100);} catch (InterruptedExc…

2023适合新手的免费编曲软件FL Studio水果21中文版

水果软件即FL Studio&#xff0c;这是一款较为专业的编曲软件&#xff0c;这款软件自带高品质打击乐、钢琴、弦乐以及吉他等107种乐器效果&#xff0c;内置了包括经典电子音色、合成利器3xosc、sytrus、slicex等多种插件&#xff0c;可以帮助音乐制作人创作不同的音乐曲风&…

数据结构进阶 哈希表

作者&#xff1a;小萌新 专栏&#xff1a;数据结构进阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;模拟实现高阶数据结构 哈希表 哈希表 哈希桶哈希概念举例哈希冲突哈希函数哈希冲突的解决方式之一闭散列 --开放定址法哈希表的…

Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程

文章目录CalmAn简介安装要求我的设备1>CalmAn压缩包解压&#xff08;caiman文件夹要改名&#xff09;2>conda创建虚拟环境3>requirements依赖包配置&#xff08;包括tensorflow&#xff09;4>caiman安装(mamba install)5>caimanmanager.py install6>PyCharm添…

51单片机独立按键

文章目录前言一、按键原理图二、代码编写三、模块化管理按键总结前言 本篇文章将带大家学习独立按键按键的基本操作。 独立按键式直接用I/O口线构成的单个按键电路&#xff0c;其特点是每个按键单独占用一根I/O口线&#xff0c;每个按键的工作不会影响其他I/O口线的状态。 一…

MongoDB学习笔记【part5】基于 MongoRepository 开发CURD

一、MongoRepository Spring Data 提供了对 mongodb 数据访问的支持&#xff0c;只需继承 MongoRepository 类&#xff0c;并按照 Spring Data 规范就可以实现对 mongodb 的操作。 SpringData 方法定义规范&#xff1a; 注意事项&#xff1a; 不能随便声明&#xff0c;必须要…

汇编语言学习笔记 下

本文承接汇编语言学习笔记 上 上篇文章记录了汇编语言寄存器&#xff0c;汇编语言基本组成部分&#xff0c;数据传送指令&#xff0c;寻址指令&#xff0c;加减法指令&#xff0c;堆栈&#xff0c;过程&#xff0c;条件处理&#xff0c;整数运算的内容 高级过程 大多数现代编程…

day24-网络编程02

1.NIO 1.1 NIO通道客户端【应用】 客户端实现步骤 打开通道指定IP和端口号写出数据释放资源 示例代码 public class NIOClient {public static void main(String[] args) throws IOException {//1.打开通道SocketChannel socketChannel SocketChannel.open();//2.指定IP和端…