Particle_filter 粒子滤波器 的学习笔记

Particle_filter 粒子滤波器 的学习笔记粒子滤波是一种基于蒙特卡洛模拟的非线性滤波方法,其核心思想是用随机采样的粒子表达概率密度分布。粒子滤波的三个重要步骤为:1)粒子采样,从建议分布中抽取一组粒子;2)粒子加权,根据观测概率分布,重要

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

粒子滤波是一种基于蒙特卡洛模拟的非线性滤波方法,其核心思想是用随机采样的粒子表达概率密度分布。

粒子滤波的三个重要步骤为:1)粒子采样,从建议分布中抽取一组粒子;2) 粒子加权,根据观测概率分布,重要性分布以及贝叶斯公式计算每个粒子的权值;3)估计输出,输出系统状态的均值协方差等。此外 ,为了应对粒子退化现象,还采用了重采样等策略。

1. 蒙特卡洛模拟 

蒙特卡洛是一种利用随机数来计算物理和数学问题的计算方法。其基本原理:

对于高维空间 X 上的高维积分:

                                Particle_filter 粒子滤波器 的学习笔记

其中p(x) 是随机变量X 的概率分布,f(X) 是关于p(x)的任意可积函数。如果从概率分布p(x) 上抽取N 个独立样本Particle_filter 粒子滤波器 的学习笔记则样本集是独立同分布。而且有P(x)可以表示为:

                     Particle_filter 粒子滤波器 的学习笔记

 

则高维积分可以近似的表示为:

                                    Particle_filter 粒子滤波器 的学习笔记

这种基于随机模拟的积分称为蒙特卡洛积分。

如果概率分布p(x)具有标准固定的形式,比如高斯分布,则直接从p(x)中抽取粒子,但是通常p(x) 的分布未知,或者十分复杂,所以需要其他的采样策略进行采样,在后续小节中介绍重要性采样。

2.标准的粒子滤波器

 由上述分析我们可以得出,对于系统的后验概率 p(X0:k|Z1:k),对其进行采样会非常困难,那么我们选取一个非高斯非线性的容易抽样的分布 q(X0:k|Z1:k),则称

q(X0:k|Z1:k)为建议性分布(重要性函数),则从q(X0:k|Z1:k)中抽取N 个粒子有:

                                       Particle_filter 粒子滤波器 的学习笔记

则对于后验概率p(X0:k|Z1:k),

                                       Particle_filter 粒子滤波器 的学习笔记

 

Particle_filter 粒子滤波器 的学习笔记 为归一化权值,且有: Particle_filter 粒子滤波器 的学习笔记

由此可见,后验概率p(X0:k|Z1:k) 可以由 一组加权的粒子近似。而这样的采样方法称为重要性采样。

为了实现递推的贝叶斯状态估计,把建议性分布写成递推形式:Particle_filter 粒子滤波器 的学习笔记……(1),并且 由递推的贝叶斯估计公式,我们有:

Particle_filter 粒子滤波器 的学习笔记…..(2),将式子一和二带入权值  Particle_filter 粒子滤波器 的学习笔记公式,进行化简有:

                         Particle_filter 粒子滤波器 的学习笔记

如果假设状态 X 是一马尔科夫过程,且观测条件是相互独立的,则上式改写为:

                                             Particle_filter 粒子滤波器 的学习笔记

于是后验概率 p(X0:k|Z1:k)为:

Particle_filter 粒子滤波器 的学习笔记

3.重采样策略

 在标准粒子滤波中,经常出现退化现象,其表现为:经过若干次的地推计算后,除了少数粒子外,其余粒子的权值可以忽略不计,从而使得大量递推计算浪费在对几乎不起任何作用的粒子更新上,甚至最后只剩下一个权值很大的有效粒子,而其他粒子的权值几乎为零,从而产生一个退化分布。

 针对粒子退化的问题,Gordon 等提出了一种Bootstrap 的粒子滤波的算法,该算法在每部迭代的过程中,根据粒子权值对粒子进行重采样,在一定的程度上克服了这个问题。重采样的方法舍弃了权值较小的粒子,代之以权值较大的粒子。重采样的策略包括固定时间间隔重采样,以及根据粒子权值就行动态重采样。

 

 标准粒子滤波的算法流程:

        ( 1 ) 初始化:对于 K =0,

Particle_filter 粒子滤波器 的学习笔记

 

 

 此博客部分内容资料来源与网络,仅供学习

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166841.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【MyBatis】 动态SQL——模糊查询 LIKE

    【MyBatis】 动态SQL——模糊查询 LIKE一、like’%?%’SELECT*FROMt_usrWHEREnamelike’%${name}%’SQL解析为:SELECT*FROMt_usrWHEREnamelike’%海%’传参必须用${}不能用#{},这样写的弊端是不安全,不能防sql注入有关LIKE使用,请参见:https://blog.csdn.net/wrs120/articl…

    2022年5月28日
    147
  • 圣杯布局三种方式

    圣杯布局三种方式圣杯布局是经典的css布局,左右两栏是定宽,中间那一栏是自适应,下面将用felx、float、position三种方法进行圣杯布局,实现效果如下:圣杯布局之flexcss代码:header{ height:80px; background-color:#cccccc; } .box{ height:200px; background-color:…

    2022年6月29日
    98
  • java基本变量和引用变量_引用类型与值类型的区别

    java基本变量和引用变量_引用类型与值类型的区别Java中数据类型分为两大类:基本数据类型与复合数据类型。相应地,变量也有两种类型:基本类型与引用类型。Java的8中基本类型的变量称为基本类型变量,而类、接口和数组变量时引用类型变量。这两种类型变量的结构和含义不同,系统对他们的处理也不相同。1.基本类型与引用类型变量*基本类型(primitivetype)基本数据类型的变量包含了单个值,这个值的长度和格式符合变量所属数据类型的要求,可以是一个…

    2022年10月21日
    4
  • Dataset之CIFAR-10:CIFAR-10数据集的简介、下载、使用方法之详细攻略

    Dataset之CIFAR-10:CIFAR-10数据集的简介、下载、使用方法之详细攻略Dataset之CIFAR-10:CIFAR-10数据集的简介、下载、使用方法之详细攻略目录CIFAR-10的简介1、与MNIST数据集中目比,CIFAR-10真高以下不同点2、TensorFlow官方示例的CIFAR-10代码文件3、CIFAR-10数据集的数据文件名及用途4、基于CIFAR-10数据集最新算法预测准确率对比CIFAR-10的下载1、下载CIFAR-10数据集的全部数据CIFAR-10使用方法1、使用TF读取CIFAR-10数据官网链接:TheCIFAR-10datas

    2022年10月17日
    7
  • webstorm激活码最新2021 4月【在线注册码/序列号/破解码】

    webstorm激活码最新2021 4月【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    119
  • 计算机网络-常见洪水攻击「建议收藏」

    计算机网络-常见洪水攻击「建议收藏」什么是洪水攻击洪水攻击(FLOODATTACK)是指利用计算机网络技术向目标主机发送大量无用的数据报文,使得目标主机忙于处理无用的数据报文而无法提供正常服务的网络行为。主要原理:利用了网络协议中安

    2022年8月6日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号