zoukankan      html  css  js  c++  java
  • 条件高斯分布和卡尔曼滤波

    这段时间有个卡尔曼滤波的作业,正好在刑波(Eric Xing)的概率图模型课程上也谈到了这一点,所以从这个角度来阐述卡尔曼滤波,同时介绍其中用到的条件高斯分布的推导过程。这一推导过程来自于《模式识别与机器学习》(PRML)。

    1. 条件高斯分布

        本节要解决的问题是已知gifgif[1],计算gif[2]

        按照的划分方法,可以将均值和协方差矩阵分块如下所示。(其中协方差矩阵是对称的)

    gif[3]

    gif[4]

        为简单起见,记gif[5],同时分块为

    gif[6]

        多维高斯分布可表示为

        计算

    gif[7]

        该式同时可表示为

    gif[8]

        gif[2]也服从高斯分布,所以我们只需计算均值和协方差矩阵即可。由上式可知协方差矩阵对应二次项,而均值对于一次项(协方差矩阵已知),那么对应有

    gif[9]

    gif[10]

        分块矩阵的逆满足下式(左侧少了一个-1)

        其中

    gif[12]

        故可求条件高斯分布的协方差矩阵和期望分别为

    gif[13]

        至此可得条件高斯分布的概率密度。

    2. 卡尔曼滤波

        卡尔曼滤波公式可表现为

        从这个式子中可以看出之间的关系,可以通过贝叶斯网络描述。image

        不考虑初始时刻(这个时刻可以认为只有观测值,没有先验知识,采用ML等准则比较容易估计),中间时刻可以认为通过两个步骤估计状态,其一是先验知识,其二是观测数据。如下图所示

    image

        当然,之前的数据也是通过之前的观测量估计出来的,所以先验实际上是该时刻之前的观测量给出的现在时刻的状态估计。卡尔曼滤波中假设噪声服从高斯分布,此处我们计算均值和协方差有

        注意:我实在是转不过来了,下面的X是状态,而Y是观测值,和上面的是反的。

       

        上式实际上就构成了通过之前时刻的观测值预测当前时刻状态和观测值的过程,概率满足多维高斯分布。其中代表的是k时刻的预测协方差矩阵。接下来要处理的实际上是观测到此刻的观测值后,计算后验概率。也就是说应用上述的条件高斯分布,求更新值的过程。

        这一过程通过上节公式易求,此处不再说明。

  • 相关阅读:
    函数式编程
    scala 有 + 运算符吗?
    使用 Idea 打 scala程序的 jar 包
    相见恨晚的 scala
    半夜思考,为什么 String 具有不变性
    我的常用
    DataTable学习笔记
    Js 操作cookie
    嵌套的 ajax 请求
    Jquery插件收集【m了慢慢学】
  • 原文地址:https://www.cnblogs.com/sea-wind/p/4515606.html
Copyright © 2011-2022 走看看