控制算法学习 三、贝叶斯滤波(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(xnx1:n1,z1:n1)=p(xnxn1)p(znx1:n,z1:n1)=p(znxn)
为了简洁,系统没有增加控制输入 u i u_i ui,但不会影响推导过程。

贝叶斯滤波过程

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

预测

所谓预测,就是通过此前的观测 z 1 : n − 1 z_{1:n-1} z1:n1,预测本时刻的状态 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(xnz1:n1)=p(xnxn1,z1:n1)p(xn1z1:n1)dxn1=p(xnxn1)p(xn1z1:n1)dxn1
这是一个全概率公式,其含义是在预测中,通过上一时刻的状态转移概率与上一时刻的状态最优估计,预测本时刻的状态。

更新

所谓更新,就是通过本时刻的预测状态 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(xnz1:n)=p(znz1:n1)p(znxn,z1:n1)p(xnz1:n1)=p(znxn,z1:n1)p(xnz1:n1)dxnp(znxn)p(xnz1:n1)=p(znxn)p(xnz1:n1)dxnp(znxn)p(xnz1:n1)(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(xnz1:n)=p(znxn)p(xnz1:n1)dxnp(znxn)p(xnz1:n1)
用贝叶斯的思想来看, p ( x n ∣ z 1 : n ) p(x_n|z_{1:n}) p(xnz1:n)是后验概率, p ( x n ∣ z 1 : n − 1 ) p(x_n|z_{1:n-1}) p(xnz1:n1)是先验概率, p ( z n ∣ x n ) p(z_n|x_n) p(znxn)是似然。而这三者对应的是状态最优估计、状态预测、状态观测。

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

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

后记

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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值