- 前言
- 什么是滤波
- 贝叶斯公式
- 贝叶斯递推关系
之前先写了卡尔曼滤波,事实上卡尔曼滤波只是贝叶斯滤波的一个特例。现在再来学习一下贝叶斯滤波,并引出从概率观点上的卡尔曼滤波推导。
什么是滤波首先要解释一下什么是滤波。字面意思上,滤波就是把噪声过滤掉,但是我们需要一种更加普遍的解释方法,便于进行系统建模。
假设某一时刻系统的真实状态 为 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(a∣b)=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(a∣bi)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(b∣a)=P(a)P(a∣b)P(b)=∑P(a∣bi)P(bi)P(a∣b)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(X∣Z)=P(Z)P(X)P(Z∣X)∝P(X)P(Z∣X) X X X是状态; Z Z Z是观测; P ( X ) P(X) P(X)是状态的先验估计; P ( X ∣ Z ) P(X|Z) P(X∣Z)是状态的后验估计; P ( Z ∣ X ) P(Z|X) P(Z∣X)是似然,即在状态分布 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(x∣y,z)=P(y,z)P(x,y,z)=P(y∣z)P(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(y∣x,z)P(x∣z)
扩展到多变量: 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(xn∣zn,z1:n−1)=P(zn∣z1:n−1)P(zn∣xn,z1:n−1)P(xn∣z1:n−1)=P(zn∣z1:n−1)P(zn∣xn,z1:n−1)P(xn∣z1:n−1)=P(zn∣z1:n−1)P(zn∣xn,z1:n−1)P(zn∣z1:n−2)P(zn−1∣xn,z1:n−2)P(xn∣z1:n−2) 假设系统满足一阶马尔可夫性,则以上递推公式有一个很美观的结果: 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(xn∣zn,z1:n−1)∝i=1,2,…n∏P(zi∣xn)P(xn)
有了以上的贝叶斯理论基础,接下来就可以推导贝叶斯滤波了。