• 【ML算法基础】卡尔曼滤波Kalman Filter的理解和实现


    概率密度函数f(x,y),分布函数F(x,y);联合概率密度函数;

     边缘分布;边缘密度函数;条件密度函数;

    两个阶段三个数值:

    预测值 >>>>> 测量值 >>>>> 最优估计值;循环;

    运动模型;

    随机高斯分布;

    协方差矩阵;对称;

    预测矩阵;

    cov(AX,BY)=Acov(X,Y)B'

    预测值的更新;

    协方差矩阵的更新;

    外界影响;控制矩阵;控制向量;

    外部不确定性;噪音(高斯);协方差;

    估计值:

    协方差:表示不确定性;

    In other words, the new best estimate is a prediction made from previous best estimate, plus a correction for known external influences.

    And the new uncertainty is predicted from the old uncertainty, with some additional uncertainty from the environment.

    测量值:

    通过测量值来修正估计值;

    联合高斯分布:联合概率密度函数;

    卡尔曼增益;

    测量转换矩阵Hk;

    状态转换矩阵Fk;

    理解完原理之后,重点是如何构建模型,如何设置变量数值,包括xk,Fk,Pk,Qk,Rk,以及Bk,Uk;Fk(状态转换矩阵)和Hk(测量转换矩阵)可以通过运动模型的关系得到;Pk(协方差矩阵),Qk(系统/过程噪声),Rk(测量噪声)根据经验得到;Bk,Uk一般没有,除非模型中包含控制量;

    FilterPy 是python提供的贝叶斯滤波器,主要是Kalman滤波器。需要之前安装Numpy和SCipy。显示的时候也会用到matplotlib。

    KF可以对任何线性系统建模。 对于非线性系统,我们使用扩展卡尔曼滤波器EKF,其通过简单地线性化关于它们的平均值的预测和测量来工作。

    参考

    1. How a Kalman filter works, in pictures

    2. X,Y是随机变量,A,B是常数矩阵,如何证明cov(AX,BY)=Acov(X,Y)B'?

  • 相关阅读:
    论自己电脑如何搭建服务器
    nodejs + express + art-template + mongodb简单项目
    npm和yarn使用
    Linux内核编译
    Linux 网络编程
    Linux进程管理
    LeetCode1576. 替换所有的问号
    LeetCode392. 判断子序列
    LeetCode674. 最长连续递增序列
    剑指 Offer 48. 最长不含重复字符的子字符串
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/16700131.html
Copyright © 2020-2023  润新知