(1分钟速通面试) SLAM中的最小二乘问题

news2024/11/25 22:57:44

最小二乘拟合问题 求解超定方程

首先写这篇博客之前说一个背景,这个最小二乘拟合问题是我在去年面试实习的时候被问到的,然后当时是非常的尴尬,没有回答上来里面的问题。Hhh 所以这篇博客来进行一个补充学习一下下。感觉这个最小二乘问题还是比较重要的,废话不多说,开始讲解!

编辑切换为居中

添加图片注释,不超过 140 字(可选)

就是说这个背景,有多组观测值的时候如何拟合一条直线让他们的目标函数最小。这也即是求解一个超定方程的问题,因为你观测到了多组数据,而一条直线只有两个参数,那么这多出来的数据必然造成了方程的超定现象。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

画考点! 这里为什么要用二范数作为目标函数,其他范数可不可以呢。这是面试官问我的,当时我可能被问懵了 。。。 然后说了不知道。然后这个问题我之前搜了一下好像是实数域上的范数是等价的,那么二范数可以等价为一范数或者其他。那么这时候就可以说其他范数也可以。但是这里的话,说二范数最接近真实情形的,那么这作为数学和实际生活中的又一个分歧。这里到底为什么能用二范数的话,到下面再写。这里先把背景介绍完再说哈。

高斯证明的误差的平方和最小最能反应实际情况,高斯无敌!

编辑切换为居中

添加图片注释,不超过 140 字(可选)

然后这里的话就是最小二乘求解参数的公式啦!只要你按照这个公式,往里面一代入,那么求解出来的向量就是你所需要求解的参数啦!这个公式的推导也是非常的简单,就是考虑极值点导数为0的情况,然后求导数为0,那么最后一套流程下来以后,得到的解便是所要求解的参数啦!

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里的话就是最小二乘的几何含义,x是对A矩阵的列向量的线性组合,那么b不在这个组合中。我们就要想办法找一个p向量让他非常接近b向量,那么求出来的ax=p即是原方程的最小二乘解。总的来说,即我们找不到ax=b的解,那么我们找一个p,让它非常接近b,这样求出来的ax=p的解即是最小二乘解,也就是我们所要求解的那个解。

误差平方和相关:

这一部分主要讲解为什么目标函数使用二范数,而不是其他范数。这个地方是偏向于实际生活的,如果按照纯数学的角度来说,实数域上的一切范数都是等价的,那么用啥范数都是无所谓的。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里使用误差平方法是在各方程的误差之间建立了一种平衡,从而防止某一极端误差取得支配地位,而这有助于揭示系统的更接近真实的状态。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里的话进行一个快速的介绍。就是说撇开最小二乘不提的话,在求解观测参数的时候我们常用的方法就是最大似然,也即概率相乘,然后取log,然后求导,最后令导数为0,求解出来的那个参数就是最大似然估计出来的参数。然后这里又说了最大似然估计得到的其实就是最小二乘得到的东西,那么这里用最小二乘法其实就是误差满足正态分布的极大似然估计。那么就合情合理地解释了为什么使用误差平方和作为目标函数了。因为它符合误差数据的分布,这样能够更好地拟合模型。

https://blog.csdn.net/MoreAction_/article/details/121591653

上面是链接。

矩阵的正定问题:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

背景介绍,这里求解参数sita的时候,因为有一个求逆的操作,但是里面的矩阵不一定可逆,那么该如何解决呢,本小节讨论这个问题。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

最小二乘法里面如果遇到了不可逆和病态的问题,那么这种情况下就要引入岭回归。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里的话在括号里面加了莱姆大乘单位矩阵来保证了求逆运算的可行性。这个是不是非常眼熟!啊 对 就是LM方法,就是视觉slam14讲中介绍完高斯牛顿法以后紧接着介绍了LM方法就是在不可求逆的情况下该怎么让其变成能够求逆的方法。

https://blog.csdn.net/MoreAction_/article/details/125004112

附一个链接。

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

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

相关文章

根据报告20%的白领在一年内做过副业,你有做副业吗?

现在大部分人收入单一,收入都是来源于本职工作,当没有了工作就没有了收入的来源,而生活压力又很大,各种开支,各种消费。所以很多人想要增加收入来源,增加被动收入,同时通过副业提升自己的价值和…

LeetCode·每日一题·1223.掷骰子模拟·记忆化搜索

作者:小迅链接:https://leetcode.cn/problems/dice-roll-simulation/solutions/2103471/ji-yi-hua-sou-suo-zhu-shi-chao-ji-xiang-xlfcs/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权&#xff0…

libxlsxwriter中文报错问题

libxlsxwriter库在windows系统下VS中存在中文输入报错问题。这在小白关于libxlsxwriter的第一篇博客libxlsxwriter初体验里有所阐述。当时小白给出的解决方案是将文件编码修改成不带签名的utf-8。后来在使用中,小白发现这样并没有完全解决问题。有的中文可以正常写入…

VHDL语言基础-时序逻辑电路-触发器

目录 触发器: D触发器: 触发器的VHDL描述: 触发器的仿真波形如下:​编辑 时钟边沿检测的三种方法: 方法一: 方法二: 方法三: 带有Q非的D触发器: 带有Q非的D触发器的描述&am…

微信小程序 Springboot高校课堂教学管理系统-java

小程序端 学生在小程序端进行注册并且进行登录。 填写自己的个人信息进行注册 登录成功后可以看到有首页、课程资源、测试、互动论坛、我的功能模块。 课程资源学生可以点击想要查看的资源进行观看。 课程分类学生可以按照自己想要的分类进行搜索并且进行观看。 互动论坛可以查…

四种方式的MySQL安装过程 数据库(2)

目录 1. 仓库安装: 1.1 卸载数据库软件: 2. 本地安装: 2.1 卸载数据库软件: 3. 容器安装: 4. 源码安装: 4.1 使用systemctl命令启动进程 1. 仓库安装: (1)查看版本…

超级详细GitBook和GitLab集成步骤【linux环境】

介绍 本文主要是在 gitlab 上集成 gitbook 实现提交时 gitbook 自动刷新部署 ,以及在 linux 环境上搭建 gitlab gitbook,集成 GitLab CI 实现一个企业级或个人的 Wiki 系统 环境准备 1.一台 linux 服务器 2.安装 node 以及 npm 环境 (这里注意 node 环境不要过高 不…

CS反制之批量伪装上线

分析原理: 我们利用Wireshark抓包工具分析一下Cobalt Strike的上线过程是怎么样的 点击木马,主机上线并抓包 查看数据包 可以看到cookie是一串非对称RSA加密类型,需要一个私钥Private Key才能对其进行解密 我们对Cookie解密看看&#xff…

Django框架之系列二

为什么要搭建虚拟环境? 在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装 比如联网安装Django框架django的1.11.11版本 sudo pip install django1.11.11提示:使用如上命令, 会将Django安装到/usr/local/lib/python2.7/dist-packages路径下问题&…

常见的10种网络安全攻击类型

1. DoS 和 DDoS 攻击DoS 是 Denial of Service 的简称,即拒绝服务。单一的 DoS 攻击一般是采用一对一方式的,通过制造并发送大流量无用数据,造成通往被攻击主机的网络拥塞,耗尽其服务资源,致使被攻击主机无法正常和外界…

57 长短期记忆网络(LSTM)【动手学深度学习v2】

57 长短期记忆网络(LSTM)【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV1JU4y1H7PC/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 长短期记忆网络(LSTM&#xff09…

Element UI框架学习篇(四)

Element UI框架学习篇(四) 1 准备工作 1.0 创建Emp表并插入相应数据的sql语句 /*MySQL数据库*/SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CRE…

为什么需要内存对齐

内存对齐 为什么需要内存对齐? 平台原因:不是所有的硬件平台都能访问任意内存地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。为了同一个程序可以在多平台运行,需要内存对齐…

阻塞式队列-生产者消费者模型

1.阻塞队列是什么 阻塞队列是一种特殊的队列. 也遵守 "先进先出" 的原则. 阻塞队列能是一种线程安全的数据结构, 并且具有以下特性: 当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素.当队列空的时候, 继续出队列也会阻塞, 直到有其他线程往队…

HLNet代码debug记录

昨天跑HLNet的代码,配环境的时候又双叒叕遇到了一些问题,记录一下: 1.error: identifier “AT_CHECK“ is undefined 出现在python setup.py build develop的时候 参照https://blog.csdn.net/sinat_29957455/article/details/113334944 根据报…

如何在腾讯云服务器上安装Jupyter Notebook示例?

Jupyter简介及服务器端安装 首先,服务器端安装Jupyter。 sudo pip3 install jupyterlab: 启动Jupyter服务 # 设置jupyter web的密码jupyter-notebook password# 创建jupyter工作目录mkdir ~/jupyter_workspace# 启动jupyter (两次ctrlc停止服务)jup…

图解LeetCode——剑指 Offer 32 - III. 从上到下打印二叉树 III

一、题目 请实现一个函数按照之字形顺序打印二叉树,即:第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 二、示例 2.1> 示例1 提示: …

【软件测试】资深测试工程师说:你真的能做好bug分析吗?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 bug报告&#xff0c…

Revive:从间谍软件进化成银行木马

2022 年 6 月,Cleafy 研究人员发现了一个新的安卓银行木马 Revive。之所以选择 Revive 这个名称,是因为恶意软件为防止停止工作启用的一项功能名为 revive。 Revive 属于持续潜伏的那一类恶意软件,因为它是为特定目标开发和定制的。这种类型…

Python 四种推导式,包含实例演示

嗨害大家好鸭!我是小熊猫~ 这次继续来给大家带来python基础内容~ 源码资料电子书:点击此处跳转文末名片获取 Python 推导式 Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。 Python 支持各种数据结构的推…