你真的搞懂贝叶斯滤波了吗?

 一谈到贝叶斯滤波,就开始联系到各种随机过程、概率密度函数等等,那些曾经上课都听不进去的东西,这里能讲清楚吗?我自己也会有这个疑惑,不过要看懂贝叶斯滤波原理还是需要一定基础的。这篇博客,我会结合自己的理解尽量讲得通俗、方便理解一点。
 
 这篇博客大部分参考了b站视频:忠厚老实的王大头
 感谢up主做的视频

一、先验知识

1. 随机过程与概率论

 两门都是大学学过的课程,那它们之间到底有什么关系呢?呃…其实大学期间自己也没理解,笑cry。

  • 随机过程:研究的随机变量之间不独立,由于不独立,无法做随机实验,难度较高。
  • 概率论:研究的随机变量之间需要独立,比如大数定律等,都以这个为前提。
  • 什么叫随机实验?随机实验需要满足3个条件:①相同条件下,可重复进行; ②一次试验,结果不确定,但所有结果已知(比如抛硬币,要么正要么反,所有结果已知); ③试验之前,结果未知。

2. 先验、似然、后验概率

 大家可能都清楚,就是先验是因,后验是果,似然就是在因的条件下,发生果的概率。那么到底什么是因,什么是果呢?

还是举个例子讲一下先验、似然、观测、后验。

比如在相机和IMU融合SLAM中(由于博主是做这个的,就以这个为例子了,可能对不是做这个的不友好,所以博主上面给了参考博客链接),机器人的状态(包括位姿、速度、偏置等)的概率分布是先验,相机拍摄的图像信息(特征点、特征匹配等)和IMU提供的运动信息(加速度、角速度积分成速度、位移、旋转),都是观测,你得先有机器人的状态,才会有这些观测。

P(状态) - 先验 , 记为 P(A)
P(状态/图像和运动信息) - 后验,在知道观测的条件下,状态的概率(知果求因) , 记为P(A/B)
P(图像和运动信息/状态) - 似然概率,在知道状态的条件下,发生这些观测的概率(知因求果),记为P(B/A)
贝叶斯公式: P(B/A)P(A)=P(A/B)P(B)P(B/A)*P(A) = P(A/B)*P(B)P(B/A)∗P(A)=P(A/B)∗P(B), 变形为:P(B/A)=(P(A/B)P(B)P(A)P(B/A)=\frac{(P(A/B)*P(B)}{P(A)}P(B/A)=P(A)(P(A/B)∗P(B)​
若有多个观测,那么P(Bj/A)=(P(A/Bj)P(Bj)i=1i=nP(A/Bi)P(Bi)P(B_j/A)=\frac{(P(A/B_j)*P(B_j)}{\sum_{i=1}^{i=n}P(A/B_i)*P(B_i)}P(Bj​/A)=∑i=1i=n​P(A/Bi​)∗P(Bi​)(P(A/Bj​)∗P(Bj​)​

有一个问题,不知道大家是否想过,为什么状态会是一个概率,难道它是随机事件吗?
个人认为,是因为我们通常会认为我们估计出来的状态,由于传感器观测会包含随机噪声,所以状态也可认为服从一个高斯分布,它的均值就是最优的状态结果。

二、贝叶斯滤波

1. 问题建模

(1) 符号定义:

  • X 表示先验,也就是状态变量,x 表示状态变量的一个取值。Y 表示观测,y 表示观测的一个取值。
  • Q 表示建模误差,R表示传感器误差,都认为服从高斯分布。
  • fk(x)f_k{(x)}fk​(x)表示第k时刻的状态概率密度函数(pdf),它是P(Xk<x)P(X_k<x)P(Xk​<x)对x的导数。
    fk(x)=dP(Xk<x)dxf_k{(x)} = \frac{dP(X_k<x)}{dx}fk​(x)=dxdP(Xk​<x)​
  • fQk(x)f_{Q_k}(x)fQk​​(x)表示预测噪声QkQ_kQk​的概率密度函数,fRk(x)f_{R_k}(x)fRk​​(x)表示观测噪声(传感器精度)RkR_kRk​的概率密度函数
  • 下面推导中,注意fk(x)f_k{(x)}fk​(x)、f(x)f{(x)}f(x)和fYkXk(ykxk)f_{Y_k|X_k}(y_k|x_k)fYk​∣Xk​​(yk​∣xk​)的区别,f(x)f{(x)}f(x)里面的fff是状态转移函数,就是下面状态方程里面那个fff ; 而fk(x)f_k{(x)}fk​(x)表示k时刻状态量XkX_kXk​概率密度函数,同理,fk1(x)f_{k-1}{(x)}fk−1​(x)就表示Xk1X_{k-1}Xk−1​概率密度函数 ; 如果是fYkXk(ykxk)f_{Y_k|X_k}(y_k|x_k)fYk​∣Xk​​(yk​∣xk​),就表示P(YkXk)P(Y_k|X_k)P(Yk​∣Xk​)的概率密度函数。 它们没有关系。

(2) 问题描述

  • 问题一:我们求的是状态,为什么扯这么多概率?
     因为状态服从一个高斯分布,没有贝叶斯滤波前,随机性很高噪声很大,通过这些预测和观测我们把噪声很大的状态的先验概率分布,转化为经过预测和观测纠正的后验概率,降低它的随机性和噪声,噪声的降低体现在概率分布中的方差减小了(后验概率方差<先验概率方差)。后验概率分布的均值就是我们要求的最优状态估计结果。
    XkX_kXk​表示状态xkx_kxk​的概率分布,fk(x)f_k{(x)}fk​(x)表示状态xkx_kxk​的概率密度函数,我们要求k时刻状态xkx_kxk​的最优估计,那就是求XkX_kXk​的均值即可。那
    μk=+xfk(x)dx\mu_k = \int^{+\infty}_{-\infty}x*f_k{(x)}dxμk​=∫−∞+∞​x∗fk​(x)dx
    如果fk(x)f_k{(x)}fk​(x)是高斯分布,那可以从fk(x)f_k{(x)}fk​(x)的公式中直接获取。
    所以我们的求解步骤: 求解fk+(x)f_k^+{(x)}fk+​(x) -> 计算均值得到最优xkx_kxk​
  • 问题二:怎么求解fk+(x)f_k^+{(x)}fk+​(x)呢?
    现在我们有的数据是这样的:k-1时刻的状态xk1x_{k-1}xk−1​已知 ; xkx_{k}xk​有传感器的观测数据
    两部分信息我们都不想浪费掉,因此我们分两步计算fk+(x)f_k^+{(x)}fk+​(x)

    1] 根据上一时刻状态预测,称为预测步,对应着状态方程,预测得到fk(x)f_k^-{(x)}fk−​(x)。
    2] 根据当前时刻的观测来估计,称为更新步,对应着观测方程,更新得到fk+(x)f_k^+{(x)}fk+​(x)。

(3)状态方程和观测方程

{Xk=f(Xk1)+QkYk=h(Xk)+Rk\begin{cases} X_k = f(X_{k-1})+Q_k \\ Y_k = h(X_k)+R_k \end{cases}{Xk​=f(Xk−1​)+Qk​Yk​=h(Xk​)+Rk​​
 假设X0Q1Q2...QkR1R2...RkX_0、Q_1、Q_2...Q_k、R_1、R_2...R_kX0​、Q1​、Q2​...Qk​、R1​、R2​...Rk​相互独立。
状态量可能是一个向量,因为状态量通常不只有一个,在机器人里面,就包含位姿、速度、偏置等,因此大多数情况下,状态量是一个向量,那么QkRkQ_k、R_kQk​、Rk​都是矩阵。另外,如果有多个传感器,那么每个时刻都会有多个观测,这里只写了一个传感器时候的例子。
 现在有一组观测值,y1y2...yky_1、y_2...y_ky1​、y2​...yk​分别表示时刻x1x2...xkx_1 、x_2...x_kx1​、x2​...xk​对应的观测(或者叫传感器测量数据,R其实是表示的是传感器的精度)。

2、预测步推导(求先验)

我们首先要根据上一时刻k-1的状态来预测当前状态,得到fk(x)f^-_k(x)fk−​(x),其实就是求先验
fk(x)=dP(Xk<x)dxf_k{(x)} = \frac{dP(X_k<x)}{dx}fk​(x)=dxdP(Xk​<x)​
 要求解fk(x)f_k{(x)}fk​(x),可以先求解P(Xk<x)P(X_k<x)P(Xk​<x),求解方法类似与泰勒一阶展开,展开到上一时刻状态量。
P(Xk<x)=u=xP(Xk=u),uP(Xk=u)=v=+P(Xk=uXk1=v)P(Xk1=v)=v=+P[Xkf(Xk1)=uf(v)Xk1=v]P(Xk1=v)=v=+P[QK=uf(v)Xk1=v]P(Xk1=v)=v=+P[QK=uf(v)]P(Xk1=v)Xk1Qk=limε>0v=+fQk[uf(v)]εfk1(v)ε,1=limε>0+fQk[uf(v)]fk1(v)dvε2,P(Xk<x)=u=xlimε>0+fQk1[uf(v)]fk1(v)dvε=x+fQk[uf(v)]fk1(v)dvdufk(x)=dP(Xk<x)dx=+fQk[xf(v)]fk1(v)dv\begin{aligned} P(X_k < x) &= \sum_{u = -\infty}^x{P(X_k = u)} , u连续取值 \\ P(X_k = u) &= \sum_{v=\infty}^{+\infty}P(X_k=u|X_{k-1} =v)P(X_{k-1} =v) \\ & = \sum_{v=\infty}^{+\infty}P[X_k-f(X_{k-1})=u-f(v)|X_{k-1}=v]*P(X_{k-1}=v) \\ &=\sum_{v=\infty}^{+\infty}P[Q_K=u-f(v)|X_{k-1}=v]*P(X_{k-1}= v) \\ &=\sum_{v=\infty}^{+\infty}P[Q_K=u-f(v)]*P(X_{k-1}= v) , 因为X_{k-1}和Q_k独立 \\ &=\lim_{\varepsilon->0}\sum_{v=\infty}^{+\infty}f_{Q_k}[u-f(v)]*\varepsilon*f_{k-1}(v)*\varepsilon,见下面注解1 \\ &=\lim_{\varepsilon->0}\int_{-\infty}^{+\infty}f_{Q_k}[u-f(v)]*f_{k-1}(v)dv*\varepsilon ,见下面注解2\\ 所以,P(X_k<x)&=\sum_{u=-\infty}^x\lim_{\varepsilon ->0}\int_{-\infty}^{+\infty}f_{Q_{k-1}}[u-f(v)]f_{k-1}(v)dv * \varepsilon \\ &=\int_{-\infty}^x\int_{-\infty}^{+\infty}f_{Q_k}[u-f(v)]*f_{k-1}(v)dvdu \\ 因此:f_k^-(x) &= \frac{dP(X_k<x)}{dx}=\int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]*f_{k-1}(v)dv \\ \end{aligned}P(Xk​<x)P(Xk​=u)所以,P(Xk​<x)因此:fk−​(x)​=u=−∞∑x​P(Xk​=u),u连续取值=v=∞∑+∞​P(Xk​=u∣Xk−1​=v)P(Xk−1​=v)=v=∞∑+∞​P[Xk​−f(Xk−1​)=u−f(v)∣Xk−1​=v]∗P(Xk−1​=v)=v=∞∑+∞​P[QK​=u−f(v)∣Xk−1​=v]∗P(Xk−1​=v)=v=∞∑+∞​P[QK​=u−f(v)]∗P(Xk−1​=v),因为Xk−1​和Qk​独立=ε−>0lim​v=∞∑+∞​fQk​​[u−f(v)]∗ε∗fk−1​(v)∗ε,见下面注解1=ε−>0lim​∫−∞+∞​fQk​​[u−f(v)]∗fk−1​(v)dv∗ε,见下面注解2=u=−∞∑x​ε−>0lim​∫−∞+∞​fQk−1​​[u−f(v)]fk−1​(v)dv∗ε=∫−∞x​∫−∞+∞​fQk​​[u−f(v)]∗fk−1​(v)dvdu=dxdP(Xk​<x)​=∫−∞+∞​fQk​​[x−f(v)]∗fk−1​(v)dv​

  • 注解1,这里顺便把连续贝叶斯公式推导一下,看完推导也就明白上面公式了:
    P(X<xY=y)=u=x(P(X=uY=y)=u=xP(Y=yX=u)P(x=u)p(Y=y)=limε>0u=xP(y<Y<y+εX=u)P(u<X<u+ε)P(y<Y<y+ε)=limε>0u=xfYX(η1u)εfX(η2)εfY(η3)εη1(y,y+ε),η2(u,u+ε),η3(y,y+ε)=limε>0u=xfYX(yu)fX(u)εfY(y),η1η3(y,y+ε),ε0,η1η3=y,η2u=xfYX(yu)fX(u)fY(y)du2=xfYX(yx)fX(x)fY(y)dx:P(X<xY=y)=xfXY(xy)dx:xfXY(xy)dx=xfYX(yx)fX(x)fY(y)dxfXY(xy)=fYX(yx)fX(x)fY(y)()\begin{aligned} P(X<x|Y=y) &= \sum_{u=-\infty}^x (P(X=u|Y=y)=\sum_{u=-\infty}^x \frac{P(Y=y|X=u)P(x=u)}{p(Y=y)} \\ &= \lim_{\varepsilon ->0}\sum_{u=-\infty}^x \frac{P(y<Y<y+\varepsilon |X=u)P(u<X<u+\varepsilon)}{P(y<Y<y+\varepsilon)} \\ &=\lim_{\varepsilon ->0}\sum_{u=-\infty}^x \frac{f_{Y|X}(\eta_1 |u)*\varepsilon*f_X(\eta_2)*\varepsilon}{f_Y(\eta_3)*\varepsilon} ,其中\eta_1\in(y,y+\varepsilon),\eta_2\in(u,u+\varepsilon),\eta_3\in(y,y+\varepsilon) \\ &=\lim_{\varepsilon ->0}\sum_{u=-\infty}^x\frac{f_{Y|X}(y|u)*f_X(u)*\varepsilon}{f_Y(y)},因为\eta_1、\eta_3\in(y,y+\varepsilon),而\varepsilon\to0,所以取\eta_1、\eta_3=y,\eta_2取u \\ &=\int_{-\infty}^x\frac{f_{Y|X}(y|u)*f_X(u)}{f_Y(y)}du ,这里利用了定积分定义,参考注解2的知乎链接 \\ &=\int_{-\infty}^x\frac{f_{Y|X}(y|x)*f_X(x)}{f_Y(y)}dx \\ 又因为:\\ P(X<x|Y=y) &=\int_{-\infty}^xf_{X|Y}(x|y)dx \\ 因此:\\ \int_{-\infty}^xf_{X|Y}(x|y)dx&=\int_{-\infty}^x\frac{f_{Y|X}(y|x)*f_X(x)}{f_Y(y)}dx \\ 所以,&对连续随机变量,也有:\\ f_{X|Y}(x|y)&=\frac{f_{Y|X}(y|x)*f_X(x)}{f_Y(y)}(贝叶斯公式) \end{aligned}P(X<x∣Y=y)又因为:P(X<x∣Y=y)因此:∫−∞x​fX∣Y​(x∣y)dx所以,fX∣Y​(x∣y)​=u=−∞∑x​(P(X=u∣Y=y)=u=−∞∑x​p(Y=y)P(Y=y∣X=u)P(x=u)​=ε−>0lim​u=−∞∑x​P(y<Y<y+ε)P(y<Y<y+ε∣X=u)P(u<X<u+ε)​=ε−>0lim​u=−∞∑x​fY​(η3​)∗εfY∣X​(η1​∣u)∗ε∗fX​(η2​)∗ε​,其中η1​∈(y,y+ε),η2​∈(u,u+ε),η3​∈(y,y+ε)=ε−>0lim​u=−∞∑x​fY​(y)fY∣X​(y∣u)∗fX​(u)∗ε​,因为η1​、η3​∈(y,y+ε),而ε→0,所以取η1​、η3​=y,η2​取u=∫−∞x​fY​(y)fY∣X​(y∣u)∗fX​(u)​du,这里利用了定积分定义,参考注解2的知乎链接=∫−∞x​fY​(y)fY∣X​(y∣x)∗fX​(x)​dx=∫−∞x​fX∣Y​(x∣y)dx=∫−∞x​fY​(y)fY∣X​(y∣x)∗fX​(x)​dx对连续随机变量,也有:=fY​(y)fY∣X​(y∣x)∗fX​(x)​(贝叶斯公式)​

  • 注解2:参考链接:利用定积分定义求极限的原理与套路,你会了吗?

3、更新步推导(求后验)

假设有一个传感器,在k时刻有观测Yk=ykY_k=y_kYk​=yk​,我们需要利用观测去更新fk(x)f_k^-(x)fk−​(x)成fk+(x)f_k^+(x)fk+​(x),其实就是后验概率fk(xyk)f_k(x|y_k)fk​(x∣yk​)
fYkXk(ykx)=limε0P(yk<Yk<yk+εXk=x)ε=limε0P(ykh(x)<Ykh(Xk)<ykh(x)+εXk=x)ε=limε0P(ykh(x)<Rk<ykh(x)+εXk=x)ε=limε0P(ykh(x)<Rk<ykh(x)+ε)ε,RkXk=fRk[ykh(x)]fk+(x)=fk(xyk)=fYkXk(ykx)fk(x)fYk(yk)=fRk[ykh(x)]fk(x)fYk(yk)=ηfRk[ykh(x)]fk(x)ηη={+fRk([ykh(x)]fk(x)dx}1\begin{aligned} f_{Y_k|X_k}(y_k|x) &=\lim_{\varepsilon \to 0}\frac{P(y_k<Y_k<y_k+\varepsilon|X_k=x)}{\varepsilon} \\ &=\lim_{\varepsilon\to 0}\frac{P(y_k-h(x)<Y_k-h(X_k)<y_k-h(x)+\varepsilon|X_k=x)}{\varepsilon} \\ &=\lim_{\varepsilon\to0}\frac{P(y_k-h(x)<R_k<y_k-h(x)+\varepsilon|X_k=x)}{\varepsilon} \\ &=\lim_{\varepsilon\to0}\frac{P(y_k-h(x)<R_k<y_k-h(x)+\varepsilon)}{\varepsilon},因为R_k和X_k独立\\ &=f_{R_k}[y_k-h(x)] \\ 所以,有: \\ f_k^+(x)&=f_k(x|y_k)=\frac{f_{Y_k|X_k}(y_k|x)*f_k^-(x)}{f_{Y_k}(y_k)} \\ &=\frac{f_{R_k}[y_k-h(x)]*f_k^-(x)}{f_{Y_k}(y_k)} \\ &=\eta*f_{R_k}[y_k-h(x)]*f_k^-(x) \\ 其中,\eta为:\\ \eta&=\{\int_{-\infty}^{+\infty}f_{R_k}([y_k-h(x)]*f_k^-(x)dx\}^{-1} \end{aligned}fYk​∣Xk​​(yk​∣x)所以,有:fk+​(x)其中,η为:η​=ε→0lim​εP(yk​<Yk​<yk​+ε∣Xk​=x)​=ε→0lim​εP(yk​−h(x)<Yk​−h(Xk​)<yk​−h(x)+ε∣Xk​=x)​=ε→0lim​εP(yk​−h(x)<Rk​<yk​−h(x)+ε∣Xk​=x)​=ε→0lim​εP(yk​−h(x)<Rk​<yk​−h(x)+ε)​,因为Rk​和Xk​独立=fRk​​[yk​−h(x)]=fk​(x∣yk​)=fYk​​(yk​)fYk​∣Xk​​(yk​∣x)∗fk−​(x)​=fYk​​(yk​)fRk​​[yk​−h(x)]∗fk−​(x)​=η∗fRk​​[yk​−h(x)]∗fk−​(x)={∫−∞+∞​fRk​​([yk​−h(x)]∗fk−​(x)dx}−1​
经过更新步之后,状态量的方差大大降低,也就是经过贝叶斯滤波后减少了噪声,得到更优更可靠的状态估计值.

三、贝叶斯滤波递推过程

f0(x)f1(x)=+fQ1[xf(v)]f0(v)dvf1+(x)=η1fR1[y1h(x)]f1(x)f2(x)=+fQ2[xf(v)]f1+(x)dvf2+(x)=η2fR2[y2h(x)]f2(x)fk(x)=+fQk[xf(v)]fk1+(x)dvfk+(x)=ηkfRk[ykh(x)]fk(x)ηk={+fRk[ykh(x)]fk(x)dx}1,\begin{aligned} f_0(x)&\xRightarrow{预测}f_1^-(x)=\int_{-\infty}^{+\infty}f_{Q_1}[x-f(v)]f_0(v)dv\xRightarrow{观测更新}f_1^+(x)=\eta_1*f_{R_1}[y_1-h(x)]*f_1^-(x) \\ &\xRightarrow{预测}f_2^-(x)=\int_{-\infty}^{+\infty}f_{Q_2}[x-f(v)]f_1^+(x)dv\xRightarrow{观测更新}f_2^+(x)=\eta_2*f_{R_2}[y_2-h(x)]*f_2^-(x) \\ &…… \\ &\xRightarrow{预测}f_k^-(x)=\int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]f_{k-1}^+(x)dv\xRightarrow{观测更新}f_k^+(x)=\eta_k*f_{R_k}[y_k-h(x)]*f_k^-(x) \\ 其中,\eta_k&=\{\int_{-\infty}^{+\infty}f_{R_k}[y_k-h(x)]*f_k^-(x)dx\}^{-1},其实就是后面那一坨的积分的倒数。\end{aligned}f0​(x)其中,ηk​​预测​f1−​(x)=∫−∞+∞​fQ1​​[x−f(v)]f0​(v)dv观测更新​f1+​(x)=η1​∗fR1​​[y1​−h(x)]∗f1−​(x)预测​f2−​(x)=∫−∞+∞​fQ2​​[x−f(v)]f1+​(x)dv观测更新​f2+​(x)=η2​∗fR2​​[y2​−h(x)]∗f2−​(x)……预测​fk−​(x)=∫−∞+∞​fQk​​[x−f(v)]fk−1+​(x)dv观测更新​fk+​(x)=ηk​∗fRk​​[yk​−h(x)]∗fk−​(x)={∫−∞+∞​fRk​​[yk​−h(x)]∗fk−​(x)dx}−1,其实就是后面那一坨的积分的倒数。​
公式中,除了初值即可认为是先验,又可以认为是后验,其他都需要经过预测和更新两个步骤,实验证明,初值即使很差,也不会影响后面时刻状态量的估计值。
这里递推的都是概率密度函数,要求各时刻的状态估计,只需要求均值即可。
x^k=+xfk+(x)dx\hat{x}_k=\int_{-\infty}^{+\infty}x*f_k^+(x)dxx^k​=∫−∞+∞​x∗fk+​(x)dx

四、贝叶斯滤波算法流程

(1) 设初值:初始状态x0x_0x0​和它的概率密度函数f0(x)f_0(x)f0​(x)

(2) 预测步fk(x)=+fQk[xf(v)]fk1+(v)dvf_k^-(x)=\int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]*f_{k-1}^+(v)dvfk−​(x)=∫−∞+∞​fQk​​[x−f(v)]∗fk−1+​(v)dv

(3) 更新步fk+(x)=ηkfRk[ykh(x)]fk(x),ηk={+fRk[ykh(x)]fk(x)dx}1f_k^+(x)=\eta_k * f_{R_k}[y_k-h(x)]*f_k^-(x),其中,\eta_k=\{\int_{-\infty}^{+\infty}f_{R_k}[y_k-h(x)]*f_k^-(x)dx\}^{-1}fk+​(x)=ηk​∗fRk​​[yk​−h(x)]∗fk−​(x),其中,ηk​={∫−∞+∞​fRk​​[yk​−h(x)]∗fk−​(x)dx}−1
 这里要提一下有些博客不准确的说法:P(xkyk)=ηP(ykxk)+P(xkxk1)P(xk1)dxk1P(x_k|y_k)=\eta*P(y_k|x_k)*\int_{-\infty}^{+\infty}P(x_k|x_{k-1})*P(x_{k-1})dx_{k-1}P(xk​∣yk​)=η∗P(yk​∣xk​)∗∫−∞+∞​P(xk​∣xk−1​)∗P(xk−1​)dxk−1​

(4) 求状态量x^k=+xfk+(x)dx\hat{x}_k=\int_{-\infty}^{+\infty}x*f_k^+(x)dxx^k​=∫−∞+∞​x∗fk+​(x)dx

五、贝叶斯滤波算法优缺点

  • 可以有效滤除噪声,得到比较精准的状态估计;
  • 缺点也很明显,从fk1+(x)fk(x)f_{k-1}^+(x)\to f_k^-(x)fk−1+​(x)→fk−​(x),计算η\etaη,计算期望x^k\hat{x}_kx^k​,都需要做无穷积分,大多数情况下没有解析解。
     
到这里,贝叶斯滤波就讲完了,后面会写一写关于卡尔曼滤波的博客,搞清楚贝叶斯滤波之后,卡尔曼滤波就非常好理解了,因为它就是在贝叶斯滤波基础上,将状态方程里面的函数fff和观测方程里的hhh假设是线性的,没有了非线性,计算也就发便多了。
上一篇:datawhale 10月学习——树模型与集成学习:决策树


下一篇:【JZOJ6370】基础 fake 练习题