您当前的位置: 首页 >  算法

RuiH.AI

暂无认证

  • 0浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

控制算法学习 三、贝叶斯滤波(2)算法流程

RuiH.AI 发布时间:2021-10-29 22:19:12 ,浏览量:0

控制算法学习 三、贝叶斯滤波(2)算法流程
  • 前言
  • 系统建模
    • 系统的马尔可夫性
  • 贝叶斯滤波过程
    • 预测
    • 更新
  • 贝叶斯滤波思想与本质
  • 后记

前言

概率论基础部分已经记录了全概率公式、贝叶斯定理、贝叶斯递推公式。这一部分将快速介绍贝叶斯滤波过程。

系统建模

假设某系统具有马尔可夫性,其有噪状态观测是 Z = { z 1 ,   z 2 ,   … , z n } Z=\{ z_1,\ z_2, \ \dots, z_n \} Z={z1​, z2​, …,zn​},本时刻的观测是 z n z_n zn​,估计本时刻系统的真实状态 x n x_n xn​。

系统的马尔可夫性

在这里插入图片描述 所谓马尔可夫性,就是指系统当前的状态只与上一时刻的状态和控制输入有关,系统的观测只与当前的状态有关,即: p ( x n ∣ x 1 : n − 1 , z 1 : n − 1 ) = p ( x n ∣ x n − 1 ) p ( z n ∣ x 1 : n , z 1 : n − 1 ) = p ( z n ∣ x n ) \begin{aligned} &p(x_n|x_{1:n-1},z_{1:n-1})=p(x_n|x_{n-1}) \\ &p(z_n|x_{1:n}, z_{1:n-1})=p(z_n|x_n) \end{aligned} ​p(xn​∣x1:n−1​,z1:n−1​)=p(xn​∣xn−1​)p(zn​∣x1:n​,z1:n−1​)=p(zn​∣xn​)​ 为了简洁,系统没有增加控制输入 u i u_i ui​,但不会影响推导过程。

贝叶斯滤波过程

贝叶斯滤波包含预测和更新两个步骤。

预测

所谓预测,就是通过此前的观测 z 1 : n − 1 z_{1:n-1} z1:n−1​,预测本时刻的状态 x n x_n xn​ : p ( x n ∣ z 1 : n − 1 ) = ∫ p ( x n ∣ x n − 1 , z 1 : n − 1 ) p ( x n − 1 ∣ z 1 : n − 1 ) d x n − 1 = ∫ p ( x n ∣ x n − 1 ) p ( x n − 1 ∣ z 1 : n − 1 ) d x n − 1 \begin{aligned} p(x_n|z_{1:n-1}) &= \int p(x_n|x_{n-1},z_{1:n-1})p(x_{n-1}|z_{1:n-1}) dx_{n-1} \\ & = \int p(x_n|x_{n-1})p(x_{n-1}|z_{1:n-1}) dx_{n-1} \end{aligned} p(xn​∣z1:n−1​)​=∫p(xn​∣xn−1​,z1:n−1​)p(xn−1​∣z1:n−1​)dxn−1​=∫p(xn​∣xn−1​)p(xn−1​∣z1:n−1​)dxn−1​​ 这是一个全概率公式,其含义是在预测中,通过上一时刻的状态转移概率与上一时刻的状态最优估计,预测本时刻的状态。

更新

所谓更新,就是通过本时刻的预测状态 x n x_n xn​,与观测状态 z n z_n zn​融合,得到本时刻的状态最优估计 x n x_n xn​: p ( x n ∣ z 1 : n ) = p ( z n ∣ x n , z 1 : n − 1 ) p ( x n ∣ z 1 : n − 1 ) p ( z n ∣ z 1 : n − 1 ) ( 1 ) = p ( z n ∣ x n ) p ( x n ∣ z 1 : n − 1 ) ∫ p ( z n ∣ x n , z 1 : n − 1 ) p ( x n ∣ z 1 : n − 1 ) d x n ( 2 ) = p ( z n ∣ x n ) p ( x n ∣ z 1 : n − 1 ) ∫ p ( z n ∣ x n ) p ( x n ∣ z 1 : n − 1 ) d x n ( 3 ) \begin{aligned} p(x_n|z_{1:n}) & = \frac {p(z_n|x_n,z_{1:n-1})p(x_n|z_{1:n-1})} {p(z_n|z_{1:n-1})} &\quad (1)\\ & =\frac {p(z_n|x_n)p(x_n|z_{1:n-1})} {\int p(z_n|x_n,z_{1:n-1})p(x_n|z_{1:n-1})dx_n} &\quad (2) \\ & = \frac {p(z_n|x_n)p(x_n|z_{1:n-1})} {\int p(z_n|x_n)p(x_n|z_{1:n-1})dx_n} &\quad (3) \end{aligned} p(xn​∣z1:n​)​=p(zn​∣z1:n−1​)p(zn​∣xn​,z1:n−1​)p(xn​∣z1:n−1​)​=∫p(zn​∣xn​,z1:n−1​)p(xn​∣z1:n−1​)dxn​p(zn​∣xn​)p(xn​∣z1:n−1​)​=∫p(zn​∣xn​)p(xn​∣z1:n−1​)dxn​p(zn​∣xn​)p(xn​∣z1:n−1​)​​(1)(2)(3)​ 以上(1)是贝叶斯定理,(2)中的分母是全概率公式,(3)是马尔可夫性。

到这里,本时刻n的贝叶斯滤波就结束了,本时刻的状态最优估计 x n x_n xn​将用于下一时刻的预测和更新。

贝叶斯滤波思想与本质

把目光放在状态更新方程上: p ( x n ∣ z 1 : n ) = p ( z n ∣ x n ) p ( x n ∣ z 1 : n − 1 ) ∫ p ( z n ∣ x n ) p ( x n ∣ z 1 : n − 1 ) d x n p(x_n|z_{1:n}) = \frac {p(z_n|x_n)p(x_n|z_{1:n-1})} {\int p(z_n|x_n)p(x_n|z_{1:n-1})dx_n} p(xn​∣z1:n​)=∫p(zn​∣xn​)p(xn​∣z1:n−1​)dxn​p(zn​∣xn​)p(xn​∣z1:n−1​)​ 用贝叶斯的思想来看, p ( x n ∣ z 1 : n ) p(x_n|z_{1:n}) p(xn​∣z1:n​)是后验概率, p ( x n ∣ z 1 : n − 1 ) p(x_n|z_{1:n-1}) p(xn​∣z1:n−1​)是先验概率, p ( z n ∣ x n ) p(z_n|x_n) p(zn​∣xn​)是似然。而这三者对应的是状态最优估计、状态预测、状态观测。

同时,先验又是上一时刻的后验的衍生。

于是贝叶斯滤波的本质一目了然:在一条马尔可夫链(系统状态)上,做贝叶斯递推估计。

后记

终于把贝叶斯滤波理清了,下次从贝叶斯滤波的角度上,理解卡尔曼滤波。

关注
打赏
1658651101
查看更多评论
立即登录/注册

微信扫码登录

0.0634s