当前位置: 首页 > news >正文

徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)

在这里插入图片描述

P ( x t P(x_t P(xt| x t − 1 ) x_{t-1}) xt1) P ( y t P(y_t P(yt| x t ) x_t) xt) P ( x 1 ) P(x_1) P(x1)
Discrete State DM A X t − 1 , X t A_{X_{t-1},X_t} AXt1,XtAny π \pi π
Linear Gassian Kalman DM N ( A X t − 1 + B , Q ) N(AX_{t-1}+B,Q) N(AXt1+B,Q) N ( H X t + C , R ) N(HX_t+C,R) N(HXt+C,R) N ( μ 0 , ϵ 0 ) N(\mu_0,\epsilon_0) N(μ0,ϵ0)
No-Linear NoGaussian DM f ( x t − 1 ) f(x_{t-1}) f(xt1) g ( y t ) g(y_t) g(yt) f ( x 1 ) f(x_1) f(x1)

{ P ( y 1 , . . . , y t ) − − e v a l u a t i o n a r g m e n t θ log ⁡ P ( y 1 , . . . , y t ∣ θ ) − − p a r a m e t e r l e a r n i n g P ( x 1 , . . . , x t ∣ y 1 , . . . , y t ) − s t a t e d e c o d i n g P ( x t ∣ y 1 , . . , y t ) − f i l t e r i n g \left\{ \begin{aligned} P(y_1,...,y_t)--evaluation\\ argment \theta \log{P(y1,...,y_t|\theta)}--parameter learning \\ P(x_1,...,x_t|y_1,...,y_t)-state decoding \\ P(x_t | y_1,..,y_t)-filtering \end{aligned} \right. P(y1,...,yt)evaluationargmenlogP(y1,...,ytθ)parameterlearningP(x1,...,xty1,...,yt)statedecodingP(xty1,..,yt)filtering
在这里插入图片描述

线性高斯噪声的动态模型

在这里插入图片描述

P ( x t ∣ y 1 , . . . , y t ) P(x_t|y_1,...,y_t) P(xty1,...,yt)
假设转移概率是 P ( x t ∣ X t − 1 ) = N ( A X t − 1 + B , Q ) P(x_t|X_{t-1})= N(AX_{t-1}+B,Q) P(xtXt1)=N(AXt1+B,Q)
X t = A X t − 1 + B + ω X_t = AX_{t-1}+B+\omega Xt=AXt1+B+ω , ω ∼ N ( 0 , Q ) \omega \sim N(0,Q) ωN(0,Q)

measurement probility
P ( y t ∣ x t ) = N ( H X t + C , R ) P(y_t|x_t) = N(HX_t+C,R) P(ytxt)=N(HXt+C,R)
y t = H X t + C + v y_t = HX_t+C+v yt=HXt+C+v
v ∼ N ( 0 , R ) v \sim N(0,R) vN(0,R)
以下都是参数。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

filter公式推导

在这里插入图片描述
在这里插入图片描述
HMM模型,当隐变量确定的时候,观测就变成独立的了。
在这里插入图片描述

  • 卡尔曼滤波,当t = 1的时候,我们就知道 P ( x 1 ∣ y 1 ) ∼ N ( u ^ 1 , σ ^ 1 ) P(x_1|y_1) \sim N(\hat u_1,\hat \sigma_1) P(x1y1)N(u^1,σ^1)
  • t = 2的时候, P ( x 2 ∣ y 2 ) ∼ N ( u ‾ 2 , σ ‾ 2 ) P(x_2|y_2) \sim N(\overline u_2,\overline \sigma_2) P(x2y2)N(u2,σ2)
    在这里插入图片描述

个人理解

  • 卡尔曼滤波可以理解为滤波器的一种,用数学表达就是用观测量 y 1 , y 2 , y 3 . . . , y t y_1,y_2,y_3...,y_t y1,y2,y3...,yt来获得t时刻的估计量 x t x_t xt,数学公式为
    P ( x t ∣ y 1 , . . . , y t ) P(x_t|y_1,...,y_t) P(xty1,...,yt)正比与 P ( x t , y 1 , . . . , y t ) P(x_t,y_1,...,y_t) P(xt,y1,...,yt)可以理解为前置条件 y 1 , . . . , y t y_1,...,y_t y1,...,yt发生的条件下有发生 x t x_t xt的概率与两类事件同时发生的概率是成正比的。可以简单理解为 P ( A ∣ B ) P(A|B) P(AB) P ( A , B ) P(A,B) P(A,B)成正比。
  • 那么得出 P ( x t ∣ y 1 , . . . , y t ) ∝ P ( x t , y 1 , . . . , y t ) ∝ P ( y t ∣ x t , y 1 , . . . , y t − 1 ) ∗ P ( x t ∣ y 1 , . . . , y t − 1 ) P(x_t|y_1,...,y_t) \propto P(x_t,y_1,...,y_t) \propto P(y_t|x_t,y_1,...,y_{t-1}) * P(x_t|y_1,...,y_{t-1}) P(xty1,...,yt)P(xt,y1,...,yt)P(ytxt,y1,...,yt1)P(xty1,...,yt1)
  • 有HMM可以得知, P ( y t ) P(y_t) P(yt)发生的概率是只跟 x t x_t xt相关,因此 P ( y t ∣ x t , y 1 , . . . , y t − 1 ) = P ( y t ∣ x t ) P(y_t|x_t,y_1,...,y_t-1) = P(y_t|x_t) P(ytxt,y1,...,yt1)=P(ytxt),而 x t x_t xt的估计量,是通过上一次观测获得, x t x_t xt y 1 , . . . , y t − 1 y_1,...,y_{t-1} y1,...,yt1相关。
  • 那么得出预测为 P ( x t ∣ y 1 , . . . , y t − 1 ) P(x_t|y_1,...,y_{t-1}) P(xty1,...,yt1),前t-1时刻的观测值估计下一刻t的状态。
  • x t x_t xt看为常量,将 x t − 1 x_{t-1} xt1看为变量,那么就得到了预测公式的推导公式为 P ( x t ∣ y 1 , . . . , y t − 1 ) = ∫ d ( x t − 1 ) P ( x t , x t − 1 ∣ y 1 , . . . , y t ) d x t − 1 ∝ ∫ x t − 1 P ( x t ∣ x t − 1 ) P ( x t − 1 ∣ y 1 , . . . , y t − 1 ) d ( x t − 1 ) P(x_t|y_1,...,y_{t-1})=\int_{d(x_{t-1})}{P(x_t,x_{t-1}|y_1,...,y_t)dx_{t-1}} \propto \int_{x_{t-1}}P(x_t|x_{t-1})P(x_{t-1}|y_1,...,y_{t-1})d(x_{t-1}) P(xty1,...,yt1)=d(xt1)P(xt,xt1y1,...,yt)dxt1xt1P(xtxt1)P(xt1y1,...,yt1)d(xt1)
    在这里插入图片描述

总结

  • 预测:不知道当前时刻的观测,用上一时刻观测与预测当前时刻的状态
    P ( x t ∣ y 1 , . . . , y t − 1 ) = ∫ P ( x t ∣ x t − 1 ) P ( x t − 1 ∣ y 1 , . . . , y t − 1 ) P(x_t|y_1,...,y_{t-1})= \int P(x_t|x_{t-1})P(x_{t-1}|y_1,...,y_{t-1}) P(xty1,...,yt1)=P(xtxt1)P(xt1y1,...,yt1)
  • 更新:已经知道当前时刻的观测,用当前的观测更新当前可是的状态
    P ( x t ∣ y 1 , . . . , y t ) = P ( y t ∣ x t ) P ( x t ∣ y 1 , . . . , y t − 1 ) P(x_t|y_1,...,y_t)=P(y_t|x_t)P(x_t|y_1,...,y_{t-1}) P(xty1,...,yt)=P(ytxt)P(xty1,...,yt1)
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

结论

  • x t ∣ y 1 , . . . , y t − 1 = A E [ x t − 1 ] + A Δ X t − 1 + ω x_t|y_1,...,y_{t-1}=AE[x_{t-1}]+A\Delta X_{t-1}+\omega xty1,...,yt1=AE[xt1]+AΔXt1+ω = E [ x t ] + Δ x t =E[x_t]+\Delta x_t =E[xt]+Δxt
  • y t ∣ y 1 , . . . y t − 1 = H A E [ X t − 1 ] + H A Δ x t − 1 + H ω + v = E [ y t ] + Δ y t y_t|y_1,...y_{t-1} = HAE[X_{t-1}]+HA \Delta x_{t-1}+H\omega + v = E[y_t] + \Delta y_t yty1,...yt1=HAE[Xt1]+HAΔxt1+Hω+v=E[yt]+Δyt
  • P ( x t ∣ y 1 , . . . , y t ) = N ( A E [ x t − 1 ] , E [ ( Δ x ) ( Δ x ) T ] ) P(x_t|y_1,...,y_t) = N(AE[x_{t-1}],E[(\Delta x)(\Delta x)^T]) P(xty1,...,yt)=N(AE[xt1],E[(Δx)(Δx)T])
  • P ( y t ∣ y 1 , . . . , y t − 1 ) = N ( H A E [ X t − 1 ] , E [ ( Δ y ) ( Δ y ) T ] ) P(y_t|y1,...,y_{t-1}) = N(HAE[X_{t-1}],E[(\Delta y)(\Delta y)^T]) P(yty1,...,yt1)=N(HAE[Xt1],E[(Δy)(Δy)T])
    以上为边缘分布
    P ( x t , y t ∣ y 1 , . . . , y t − 1 ) P(x_t,y_t|y_1,...,y_{t-1}) P(xt,yty1,...,yt1)
    在这里插入图片描述

非线性非高斯噪声的动态模型

相关文章:

徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)

P ( x t P(x_t P(xt​| x t − 1 ) x_{t-1}) xt−1​) P ( y t P(y_t P(yt​| x t ) x_t) xt​) P ( x 1 ) P(x_1) P(x1​)Discrete State DM A X t − 1 , X t A_{X_{t-1},X_t} AXt−1​,Xt​​Any π \pi πLinear Gassian Kalman DM N ( A X t − 1 B , Q ) N(AX_{t-1}B,Q)…...

Java和vue的包含数组组件contains、includes

List<String> tempList Arrays.asList("10018","1007","10017","1012"); if(tempList.contains(initMap.get("asset_type_id").toString())){// todo 计算运营终点桩号-起点桩号BigDecimal diffSum collectNum(col…...

OpenCV_CUDA_VS编译安装

一、OpenCV 我这里是下载的OpenCV4.5.4&#xff0c;但是不知道到在vs里面build时一直报错&#xff0c;后面换了4.7.0的版本测试&#xff0c;安装成功。 Release OpenCV 4.5.4 opencv/opencv GitHub 这个里面有官方预编译好的OpenCV库&#xff0c;可以直接食用。 扩展包&am…...

基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

记录第一个启动代码的诞生

核使用R52&#xff0c;参考汇编模板&#xff0c;一步一步来实现。 首先是ld文件&#xff0c;这个没啥好说的&#xff0c;主要是关注给vector_table划一块地址、stack地址&#xff0c;如下&#xff1a; .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…...

基于STM32的简化版智能手表

一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目&#xff0c;使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换&#xff0c;搭配DHT11&#xff0c;RTC&#xff0c;LED&#xff0c;KEY等器…...

揭秘弹幕游戏制作

最近好多人问弹幕游戏&#xff0c;甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系&#xff0c;别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术&#xff0c;于是乎我决定下场写这篇帖子&am…...

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想&#xff1a;动态规划&#xff0c;每天的人可以分为三种&#xff0c;可分享秘密的人&#xff0c;不可分享秘密的人&#xff0c;忘记秘密的人。定义f[i]为第i天可分享秘密的人&#xff0c;那么第(idelay ,iforget)天&#xff0c;会增加f[i]个可分…...

【TCPDF】使用TCPDF导出PDF文件

目录 一、安装TCPDF类库 二、安装字体 三、使用TCPDF导出PDF文件 目的&#xff1a;PHP通过TCPDF类库导出文件为PDF。 开发语言及类库&#xff1a;ThinkPHP、TCPDF 效果图如下 一、安装TCPDF类库 在项目根目录使用composer安装TCPDF&#xff0c;安装完成后会在vendor目录下…...

MacBook苹果电脑重装、降级系统

1、下载balenaEtcher镜像启动盘制作工具 https://tails.net/etcher/balenaEtcher-portable.exe 2、选择从文件烧录选择下载好的Mac 镜像文件 百度网盘 请输入提取码&#xff08;Mac OS 10.10-12版本镜像文件&#xff09; 第二步选择目标磁盘&#xff0c;这里需要准备一块1…...

Java 解决long类型数据在前后端传递失真问题

问题&#xff1a;雪花算法的id长度为19位&#xff0c;前端能够接收的数字最多只能是16位的&#xff0c;因此就会造成精度丢失&#xff0c;得到的ID不是真正的ID。 解决&#xff1a; 在拦截器中加入Long类型转换&#xff0c;返回给前端string package io.global.iot.common.c…...

IDEA的快捷键大全

快捷键 说明 IntelliJ IDEA 的便捷操作性&#xff0c;快捷键的功劳占了一大半&#xff0c;对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的&#xff0c;所以各种快捷键组合层出不穷&#xff0c;对于快捷键设置也有各种支持&#xff0c;对…...

简单记一下Vue router 路由中使用 vue-i18n 进行标题国际化

引入状态管理和国际化文件 import store from ../store import i18n from /configs/i18n使用状态管理设置路由当前国际化选项 // 使用状态管理 i18n.locale store.state.setStore.i18n??zh路由中使用i18n { path: /login, name: login, component: LoginPage, meta: { ti…...

【Gitea】 Post “http://localhost:3000/api/internal/hook/pre-receive/aa/bbb“ 异常

引 使用 JGit 做了一个发布代码到 Gitea 的接口&#xff0c;使用该接口发布代码到 http://xxx-local/{name}/{project} &#xff0c;报了 Post "http://localhost:3000/api/internal/hook/pre-receive/{name}/{project} 相关的异常。具体内容如下&#xff1a; Gitea: In…...

如何使用element-ui相关组件如:el-select,el-table,el-switch,el-pagination,el-dialog

element-ui 官方链接&#xff1a; 组件 | Elementhttps://element.eleme.cn/#/zh-CN/component/installation el-select <!-- 用户类型选择框<template> 看情况使用value选择框绑定的值 命名必须是value不能改v-for"item in Options" options数据源来自于…...

微信小程序+echart实现点亮旅游地图

背景 最近看抖音有个很火的特效就是点亮地图&#xff0c;去过哪些地方&#xff0c;于是乎自己也想做一个&#xff0c;结合自己之前做的以家庭为单位的小程序&#xff0c;可以考虑做一个家庭一起点亮地图的功能。 效果图 过程 1&#xff0c;首先就是得去下微信小程序适配的ec…...

Git(8)——Git命令总结

一、简介 本篇文章将基于Git&#xff08;4&#xff09;——Git命令小总结&#xff0c;补充后续的Git使用命令 二、总结 # 添加远程连接 git remote add origin 远端地址# 推送本地代码 git push origin 分支名称# 拉取远端代码(第一次) git clone 远端克隆地址# 更新远端代码…...

9.15 滴滴笔试

T1&#xff08;二分&#xff09; #include <bits/stdc.h>#define endl \nusing namespace std;typedef long long LL;const int N 1e5 10;int n, k; int a[N];bool check(int mid) {int rec 1e9, cnt 1;for(int i 0; i < n; i ) {int j i;while(j < n &…...

有趣的设计模式——适配器模式让两脚插头也能使用三孔插板

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 场景与问题 众所周知&#xff0c;我们国家的生活用电的电压是220V而笔记本电脑、手机等电子设备的工作压没有这么高。为了使笔记本、手机等设备可以使用220V的生活用电就需…...

2.10 PE结构:重建重定位表结构

Relocation&#xff08;重定位&#xff09;是一种将程序中的一些地址修正为运行时可用的实际地址的机制。在程序编译过程中&#xff0c;由于程序中使用了各种全局变量和函数&#xff0c;这些变量和函数的地址还没有确定&#xff0c;因此它们的地址只能暂时使用一个相对地址。当…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...