• 徐亦达机器学习: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\{

    P(y1,...,yt)evaluationargmentθlogP(y1,...,yt|θ)parameterlearningP(x1,...,xt|y1,...,yt)statedecodingP(xt|y1,..,yt)filtering" role="presentation">P(y1,...,yt)evaluationargmentθlogP(y1,...,yt|θ)parameterlearningP(x1,...,xt|y1,...,yt)statedecodingP(xt|y1,..,yt)filtering
    \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)
      在这里插入图片描述

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

  • 相关阅读:
    软件测试用例设计练习
    JavaScript---使用WebAPI操作页面元素完成与用户的交互
    Hudi Spark SQL源码学习总结-CTAS
    流量卡可以自己选地区吗?看完你就明白了!
    CSS: overflow-anchor 固定滚动到底部,随着页面内容增多滚动条自己滚动展示最新的内容
    大模型从入门到应用——LangChain:代理(Agents)-[工具(Tools):多输入工具和工具输入模式]
    WebBrowser 打印设置,打印预览,去页眉和页脚
    04.toRef 默认值
    HashMap 源码逐行分析,j + oldCap 桶位置重分配公式手写验证
    【ArcGIS微课1000例】0054:尺寸注记的创建与编辑
  • 原文地址:https://blog.csdn.net/CCCrunner/article/details/132838882