控制算法学习 三、贝叶斯滤波(1)概率论基础

控制算法学习 三、贝叶斯滤波

前言

之前先写了卡尔曼滤波,事实上卡尔曼滤波只是贝叶斯滤波的一个特例。现在再来学习一下贝叶斯滤波,并引出从概率观点上的卡尔曼滤波推导。

什么是滤波

首先要解释一下什么是滤波。字面意思上,滤波就是把噪声过滤掉,但是我们需要一种更加普遍的解释方法,便于进行系统建模。

假设某一时刻系统的真实状态 为 x n 为x_n xn,我们可以通过传感器观测到系统的含噪状态 Z = { z 1 , z 2 , … , z n } Z=\{ z_1, z_2, \dots, z_n \} Z={z1,z2,,zn},滤波就是通过 Z Z Z估计 x n x_n xn的过程。进一步还可以通过 Z Z Z估计 x n + 1 , x n + 2 x_{n+1}, x_{n+2} xn+1,xn+2,也就是预测。

贝叶斯公式

回顾一下概率论,假设有a,b是两个事件, B = { b i } B=\{ b_i \} B={bi}是一个完备事件组。

条件概率公式:
P ( a ∣ b ) = P ( a , b ) P ( b ) P(a|b)=\frac {P(a, b)} {P(b)} P(ab)=P(b)P(a,b)

全概率公式:
P ( a ) = ∑ P ( a ∣ b i ) P ( b i ) P(a)=\sum P(a|b_i)P(b_i) P(a)=P(abi)P(bi)

贝叶斯定理:
P ( b ∣ a ) = P ( a ∣ b ) P ( b ) P ( a ) = P ( a ∣ b ) P ( b ) ∑ P ( a ∣ b i ) P ( b i ) P(b|a)=\frac {P(a|b)P(b)} {P(a)}=\frac {P(a|b)P(b)} {\sum P(a|b_i)P(b_i)} P(ba)=P(a)P(ab)P(b)=P(abi)P(bi)P(ab)P(b)
单独解释一下系统过程中的贝叶斯定理:
假设系统的真实状态分布为 X X X,观测到的状态分布为 Z Z Z,则有:
P ( X ∣ Z ) = P ( X ) P ( Z ∣ X ) P ( Z ) ∝ P ( X ) P ( Z ∣ X ) P(X|Z)=\frac {P(X)P(Z|X)} {P(Z)} \propto {P(X)P(Z|X)} P(XZ)=P(Z)P(X)P(ZX)P(X)P(ZX)
X X X是状态;
Z Z Z是观测;
P ( X ) P(X) P(X)是状态的先验估计;
P ( X ∣ Z ) P(X|Z) P(XZ)是状态的后验估计;
P ( Z ∣ X ) P(Z|X) P(ZX)是似然,即在状态分布 X X X下观测到 Z Z Z的可能;
P ( Z ) P(Z) P(Z)是观测证据。

贝叶斯递推关系

由于滤波中需要考虑 Z = { z 1 : n } Z=\{ z_{1:n} \} Z={z1:n}个观测量,因此需要获得多变量之间的贝叶斯关系。

对于三个变量的贝叶斯定理:
P ( x ∣ y , z ) = P ( x , y , z ) P ( y , z ) = P ( y ∣ x , z ) P ( x , z ) P ( y ∣ z ) P ( z ) = P ( y ∣ x , z ) P ( x ∣ z ) P ( z ) P ( y ∣ z ) P ( z ) = P ( y ∣ x , z ) P ( x ∣ z ) P ( y ∣ z ) \begin{aligned} P(x|y, z) & = \frac {P(x,y,z)} {P(y, z)} \\ &= \frac {P(y|x,z)P(x,z)} {P(y|z)P(z)} \\ & = \frac {P(y|x,z)P(x|z)P(z)} {P(y|z)P(z)} \\ & = \frac {P(y|x,z)P(x|z)} {P(y|z)} \end{aligned} P(xy,z)=P(y,z)P(x,y,z)=P(yz)P(z)P(yx,z)P(x,z)=P(yz)P(z)P(yx,z)P(xz)P(z)=P(yz)P(yx,z)P(xz)

扩展到多变量:
P ( x n ∣ z n , z 1 : n − 1 ) = P ( z n ∣ x n , z 1 : n − 1 ) P ( x n ∣ z 1 : n − 1 ) P ( z n ∣ z 1 : n − 1 ) = P ( z n ∣ x n , z 1 : n − 1 ) P ( z n ∣ z 1 : n − 1 ) P ( x n ∣ z 1 : n − 1 ) = P ( z n ∣ x n , z 1 : n − 1 ) P ( z n ∣ z 1 : n − 1 ) P ( z n − 1 ∣ x n , z 1 : n − 2 ) P ( z n ∣ z 1 : n − 2 ) P ( x n ∣ z 1 : n − 2 ) \begin{aligned} P(x_n|z_n, z_{1:n-1}) & = \frac {P(z_{n}|x_n,z_{1:n-1})P(x_n|z_{1:n-1})} {P(z_n|z_{1:n-1})} \\ & = \frac {P(z_{n}|x_n,z_{1:n-1})} {P(z_n|z_{1:n-1})} P(x_n|z_{1:n-1}) \\ & = \frac {P(z_{n}|x_n,z_{1:n-1})} {P(z_n|z_{1:n-1})} \frac {P(z_{n-1}|x_{n},z_{1:n-2})} {P(z_{n}|z_{1:n-2})} P(x_{n}|z_{1:n-2}) \\ \end{aligned} P(xnzn,z1:n1)=P(znz1:n1)P(znxn,z1:n1)P(xnz1:n1)=P(znz1:n1)P(znxn,z1:n1)P(xnz1:n1)=P(znz1:n1)P(znxn,z1:n1)P(znz1:n2)P(zn1xn,z1:n2)P(xnz1:n2)
假设系统满足一阶马尔可夫性,则以上递推公式有一个很美观的结果:
P ( x n ∣ z n , z 1 : n − 1 ) ∝ ∏ i = 1 , 2 , … n P ( z i ∣ x n ) P ( x n ) \begin{aligned} P(x_n|z_n, z_{1:n-1}) & \propto \prod_{i=1,2,\dots n} P(z_i|x_n)P(x_n) \end{aligned} P(xnzn,z1:n1)i=1,2,nP(zixn)P(xn)

有了以上的贝叶斯理论基础,接下来就可以推导贝叶斯滤波了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值