首页 > 其他分享 >【纯感性】【无数学公式】关于状态估计的总结和一点思考

【纯感性】【无数学公式】关于状态估计的总结和一点思考

时间:2023-01-18 15:13:28浏览次数:48  
标签:数学公式 后验 高斯 卡尔曼滤波 贝叶斯 思考 感性 线性化 高斯分布

推导的几种方法

贝叶斯推断

根据贝叶斯推断可以直接求出后验概率 且贝叶斯推断的分母一般可以忽略 或者涵盖在了分子前的系数那里

联合高斯概率密度

对于一对服从多元正态分布的变量我们很容易求得它们的联合概率密度函数 然后我们也可以很容易的将联合密度分解成两个因子的乘积形式 然后用联合概率除掉边缘概率就能得到条件概率 即我们要求的后验概率
其中广义高斯滤波采用的就是这种方式

批量优化

对于后验概率我们可以采用迭代的方式 这里包含牛顿法高斯牛顿法等 是从贝叶斯推断得不到解析解的情况下使用迭代的方式获得最优解 但本质其实还是贝叶斯推断(觉得不妥可以忽略这句话,毕竟也是从贝叶斯的基础上进行迭代的)

线性高斯系统

批量式估计

批量式估计的方法分为MAP即最大后验估计和贝叶斯推断
MAP求的是模 即最大的点 贝叶斯推断求的是分布 又因为是高斯分布 所以等同于求均值 因为是线性高斯系统 因此模即高斯分布的均值 求解出的解析解也是相等的

递归式估计

平滑算法

递归式估计中有平滑算法 平滑算法的求解用到了cholesky等分解方法 求解本质上是传递式求解
平滑算法分为前向和后向过程 前向过程其实就是卡尔曼滤波 或者可以理解为只是通过k时刻之前的数据就能推断出k时刻的状态
而后项过程是通过下一时刻的信息更新之前的估计
所以平滑算法无法在线运行

卡尔曼滤波

因平滑算法的后向过程需要下一时刻的信息更新之前的估计 所以我们可以只使用平滑算法的前向过程 其实就是卡尔曼滤波算法
本质上就是前一时刻的后验传递出去被当作当前时刻的先验
再通过观测 对当前时刻的先验进行调整 作为当前时刻的后验 输出
换种方式理解:就是从先验和观测中 根据协方差矩阵呢决定更相信先验还是更相信观测 二者取权重 综合二者作为后验的结果
卡尔曼滤波器可以从MAP得出 也可以从贝叶斯推断得出

三个重要假设

  1. 线性系统
  2. 高斯分布 状态和噪声全部都是高斯分布
  3. 马尔可夫性 即当前时刻仅和上一时刻的状态有关

非线性非高斯系统

扩展卡尔曼滤波

扩展卡尔曼滤波的推导是基于贝叶斯推导得出来的结果,这里做了很多假设:

  1. 马尔科夫性假设
  2. 噪声服从高斯分布且是线性 加在非线性函数的外面
  3. 状态也是服从高斯分布 或者可以理解用高斯分布去近似实际的分布
  4. 在均值处进行线性化

讨论如下:
NLNG系统本身大多数情况就不符合一个波峰的分布 因此贝叶斯滤波本质上是从高斯分布去近似 但真值如果是多个波峰的情况用高斯分布去近似本身就非常不准
另外均值出进行线性化说明EKF认为均值就是模或者至少很近似 但实际情况如果模和均值相差的很远 这种情况就会导致EKF不能收敛
所以EKF不能够保证在一般的非线性系统中能够充分的发挥作用(机器人学中的状态估计P91)

广义高斯滤波

广义高斯滤波上文提到过 是基于联合概率分解出条件概率和边缘概率得到的后验概率 对于非线性的情况我们大概能得到表达上的解析解 但是由于是非线性 很多变量我们实际情况中无法计算 因此也不适合处理NLNG系统 但是从广义高斯滤波我们能够推出下面的迭代扩展卡尔曼滤波IEKF

迭代扩展卡尔曼滤波

和扩展卡尔曼滤波的区别就是线性化点从均值(EKF)调整到了最开始随意一点 然后得到的结果传入广义高斯滤波中 得到的后验结果作为新的线性化点 直到线性化点和后验差值很小的时候认为收敛了才算完成迭代
讨论如下:
之前说道广义高斯滤波无法应用到NLNG系统是因为很多值无法求得 所以这里采用了线性化的方法使得很多值在这里能够求出 这是其一
其二这里仍然是用高斯分布近似NLNG 但是和EKF相比至少是一定可以收敛的 EKF不能收敛是算法本身最大的问题

其他方法

其他的方法除了蒙特卡罗和粒子滤波 大概都是线性化或高斯近似 例如UKF 这里不做过多感性的介绍并不是他们的效果不好 而是本质上差别不大
真正能够解决NLNG系统的其实是蒙特卡罗和粒子滤波算法

蒙特卡罗

蒙特卡罗方法是真的大哥 将所有的样本都输入进非线性函数中求得非常是准确的分布 蒙特卡罗是无敌的 但是由于这种大数的方法 导致非常低效 非常非常低效导致一般不会使用它在线估计(不排除有黑魔法之类的我没体会到)

粒子滤波

粒子滤波是唯一一种能够处理非高斯噪声 非线性观测模型和运动模型的实用技术 甚至不需要知道解析表达式(机器人学中的状态估计P100)
大意为抽取一定数量的样本 然后将这些样本传入非线性函数中 得到后验分布的预测(这里只是后验分布的预测而不是后验分布 强调一下) 然后因为我们在当前时刻产生了一些实际的观测 然后我们将上面得到的预测再传入非线性观测模型中同样能够得到不一样的观测 根据这个我们可以对不同的粒子赋予不同的权重 称为重采样(重采样的方法有很多 这里不细说 感性认识)然后重复上述步骤知道和当前的观测分布差不多 则认为粒子的分布就是后验的分布

非线性批量优化问题

这里即是一些牛顿法高斯牛顿法的地盘 和线性高斯系统的区别就是这里没有办法得到解析解 只能找到误差函数减小的方向 然后沿着这个方向一直做迭代 直到更新的状态量小于一定阈值为止。从贝叶斯推断和MAP都可以推导出迭代的解析式(Hx=b)两种推导方式本质上没有区别 都是线性化+用高斯分布去近似。因为二者都是使用线性化的方式在得到的均值附近进行迭代 所以两者的方法解析上得到相同的均值表达式 这里不做过多的介绍

最大似然的偏差估计

这里其实是因为最大似然对期望的估计是有偏差的嘛 那我在更新线性化点的时候减掉这个偏差的期望 理论上能够得到更为理想的结果 但是感觉上这种方法好像网上资料不多 从状态估计的书中感觉这种方法比较脆弱 只能在轻度非线性系统中使用?

连续时间的批量优化问题

所有的变量都是和时间有关的 你能想到的 全部 都是和时间有关的 有时间整死我吧还是 这里不做探讨

标签:数学公式,后验,高斯,卡尔曼滤波,贝叶斯,思考,感性,线性化,高斯分布
From: https://www.cnblogs.com/linglingdog/p/17059848.html

相关文章

  • 【开发思考】约束是在数据库中定义还是在业务层中实现?
    [1]现状  首先,数据库的约束有:  ·主键​​primarykey​​​  ·外键​​foreignkey​​  ·非空​​notnull​​  ·默认​​default​​  ·唯......
  • 【MySQL思考】触发器是否应该在生产环境中使用?
    [1]触发器简单介绍  MySQL触发器​​trigger​​​是一种存储程序,它和一个指定的表相关联,当该表中的数据发生变化(增加、更新、删除)时自动执行。这些修改数据行的操作......
  • 服务器Raid配置的一些思考
    背景随着公司软件的发展.客户越来越多.测试环境和兼容环境也越来越多.不管是虚拟化,还是裸金属做数据库存储都是绕不开的一道门槛.最近又上架了几台服务器,所以想趁......
  • 杂想闲思录——关于小孩教育的思考
    关于中国的教育,其实有很多这方面分析的文章,下面是我自己的一些思考和体会,如有不对的地方,欢迎讨论和纠正。中国教育的模式基本上是参考、照搬前苏联的教育模式,而前苏联的教......
  • 关于 Serverless 应用架构对企业价值的一些思考
    作者:寒斜前言对于企业方而言,最关心的核心诉求就是如何能获取更多的营收,更高的利润,通俗点说就是如何赚更多的钱;企业赚钱的方式主要是通过出售企业服务,当用户购买更多的企......
  • 没有银弹,只有取舍 - Serverless Kubernetes 的思考与征程(一)
    作者:易立(微垣)Kubernetes作为云原生计算的基础项目,已经在开发者和企业中获得广泛的支持。然而其自身复杂性和陡峭的学习曲线依然让人望而生畏。在CNCF2020年度调研报......
  • Flutter异常监控 - 伍 | 关于异常监控框架设计的思考
    前言最近阅读Catcher、BugSnag、Rollbar三个Flutter异常监控开源框架,文章链接如下:Flutter异常监控-壹|从Zone说起Flutter异常监控-贰|框架Catcher原......
  • 关于取值范围题的一些思考
    先看个题若实数\(a,b,c,d\)满足\(a\gec\geb\ged>0\),则\(S=\frac{b}{a+b}+\frac{c}{b+c}+\frac{d}{c+d}+\frac{a}{d+a}\)的取值范围是?解答过程:先......
  • 关于range和切片的思考
    运行一下下面的代码,猜一猜结果会是什么?functest03(){ number03:=[]int{1,2,3,4,5,6} maxlen:=len(number03)-1 fori,e:=rangenumber03{ if......
  • 思考:“高手”释义
    思考:“高手”释义    一、正文  高手,能够以“多个角度”观察同一问题;高手,同一个问题有“多种角度”的解决办法。高手者,同一个平面“多个角度”观察和解......