信息滤波(Information Filter)的推导过程
本文是Jesse Chen在阅读Information Filter时候所做的笔记,原创。如有转载,请注明出处。谢谢。
介绍
Kalman Filter的对偶形式是信息滤波器(information filter或者IF)。和EKF一样,信息滤波器也是用高斯分布表示置信度(belief)。IF和Kalman Filter的主要区别是表达高斯分布的方式有区别。
在Kalman Filter族的算法中,高斯函数采用它们的矩来表示(均值和协方差)。而Information Filter采用正则参数(信息矩阵和信息向量)表示高斯函数。这两种表示形式互为对偶。
正则参数/Canonical Parameterization
多维高斯的正则参数表示为一个矩阵 Ω \Omega Ω和一个向量 ξ \boldsymbol{\xi} ξ。信息矩阵 Ω \Omega Ω是协方差矩阵的逆:
Ω = Σ − 1 \Omega = \Sigma^{-1} Ω=Σ−1
信息向量 ξ \boldsymbol{\xi} ξ用矩表示为:
ξ = Σ − 1 μ \boldsymbol{\xi} = \Sigma^{-1}\boldsymbol{\mu} ξ=Σ−1μ
易知 Ω \Omega Ω和 ξ \boldsymbol{\xi} ξ是高斯概率分布的完备参数。由正则参数推导矩参数的方程如下:
Σ = Ω − 1 μ = Ω − 1 ξ \begin{aligned} \Sigma &= \Omega^{-1} \\ \mu &= \Omega^{-1}\boldsymbol{\xi} \end{aligned} Σμ=Ω−1=Ω−1ξ
多维高斯概率分布函数:
P ( x ) = det ( 2 π Σ ) − 1 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } P\left(\mathbf{x}\right) = \det\left(2\pi\Sigma\right)^{-\frac{1}{2}}\exp\left\{-\frac{1}{2}\left(\mathbf{x} - \boldsymbol{\mu}\right)^T\Sigma^{-1}\left(\mathbf{x} - \boldsymbol{\mu}\right)\right\} P(x)=det(2πΣ)−21exp{
−21(x−μ)TΣ−1(x−μ)}
将 − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) -\frac{1}{2}\left(\mathbf{x} - \boldsymbol{\mu}\right)^T\Sigma^{-1}\left(\mathbf{x} - \boldsymbol{\mu}\right) −21(x−μ)TΣ−1(x−μ)展开,可以得到 P ( x ) P\left(\mathbf{x}\right) P(x)的表达式:
P ( x ) = det ( 2 π Σ ) − 1 2 exp { − 1 2 x T Σ − 1 x + x T Σ − 1 μ − 1 2 μ T Σ − 1 μ } = det ( 2 π Σ ) − 1 2 exp { − 1 2 μ T Σ − 1 μ } ⎵ const. exp { − 1 2 x T Σ − 1 x + x T Σ − 1 μ } \begin{aligned} P\left(\mathbf{x}\right) &= \det\left(2\pi\Sigma\right)^{-\frac{1}{2}}\exp\left\{-\frac{1}{2}\mathbf{x}^T\Sigma^{-1}\mathbf{x} + \mathbf{x}^T\Sigma^{-1}\boldsymbol{\mu} - \frac{1}{2}\boldsymbol{\mu}^T\Sigma^{-1}\boldsymbol{\mu}\right\} \\ &= \underbrace{\det\left(2\pi\Sigma\right)^{-\frac{1}{2}}\exp\left\{-\frac{1}{2}\boldsymbol{\mu}^T\Sigma^{-1}\boldsymbol{\mu}\right\}}_{\text{const.}}\exp\left\{-\frac{1}{2}\mathbf{x}^T\Sigma^{-1}\mathbf{x} + \mathbf{x}^T\Sigma^{-1}\boldsymbol{\mu}\right\} \end{aligned} P(x)=det(2πΣ)−21exp{
−21xTΣ−1x+xTΣ−1μ−21μTΣ−1μ}=const.
det(2πΣ)−21exp{
−21μTΣ−1μ}exp{
−21xTΣ−1x+xTΣ−1μ}
标为const的部分和 x \mathbf{x} x无关,因此我们可以用 η \eta η代替这部分。
P ( x ) = η exp { − 1 2 x T Ω x + x T ξ } P\left(\mathbf{x}\right) = \eta\exp\left\{-\frac{1}{2}\mathbf{x}^{T}\Omega\mathbf{x} + \mathbf{x}^T\boldsymbol{\xi}\right\} P(x)=ηexp{
−21xTΩx+xTξ}
信息滤波的推导过程
和Kalman滤波器一样,系统的状态转移方程和测量方程如下:
x t = A t x t − 1 + B t u t + ε t z t = C t x t + δ t \begin{aligned} \mathbf{x}_t &= A_t\mathbf{x}_{t-1} + B_t\mathbf{u}_t + \boldsymbol{\varepsilon}_t \\ \mathbf{z}_t &= C_t\mathbf{x}_t + \boldsymbol{\delta}_t \end{aligned} xtzt=Atxt−1+Btut+εt=Ctxt+δt
因为信息滤波器是Kalman滤波器的对偶,我们可以从Kalman方程对应到信息滤波器方程。Kalman滤波器方程:
Predict
μ ˉ t = A t μ t − 1 + B t u t Σ ˉ t = A t Σ t − 1 A t T + R t \begin{aligned} \bar{\boldsymbol{\mu}}_t &= A_t\boldsymbol{\mu}_{t-1} + B_t\mathbf{u}_t \\ \bar{\Sigma}_t &= A_t\Sigma_{t-1}A_t^T + R_t \end{aligned} μˉtΣˉt=Atμt−1+Btut=AtΣt−1AtT+Rt
Update
K t = Σ