卡尔曼滤波

1:卡尔曼滤波是一种线性动态模型,
在这里插入图片描述
针对的也是有隐状态 和观测状态的模型,和HMM不同的是:
卡尔曼滤波不要求隐状态是离散的,并且前一个状态和后一个状态满足线性关系,也叫线性高斯模型,噪声服从正态分布
在这里插入图片描述
前提条件也符合HMM的前提假设条件:

  • 齐次马尔科夫假设
  • 观测独立假设
    公式满足:
    在这里插入图片描述
    卡尔曼滤波属于推断问题的一种,已知 x 1 , x 2 , x 3 , . . x t x_1,x_2,x_3,..x_t x1,x2,x3,..xt时刻的观测状态,求 z t 隐 状 态 的 概 率 : z_t隐状态的概率: zt
    p ( z t ∣ x 1 , x 2 , . . x t ) p(z_t|x_1,x_2,..x_t) p(ztx1,x2,..xt)
    公式推导:
    p ( z t ∣ x 1 , x 2 , . . x t ) = p ( z t , x 1 , x 2 , . . x t ) p ( x 1 , x 2 , . . x t ) p(z_t|x_1,x_2,..x_t)=\displaystyle \frac{p(z_t,x_1,x_2,..x_t)}{p(x_1,x_2,..x_t)} p(ztx1,x2,..xt)=p(x1,x2,..xt)p(zt,x1,x2,..xt)
    由于 p ( x 1 , x 2 , . . x t ) p(x_1,x_2,..x_t) p(x1,x2,..xt)可以直接求出,和 z t z_t zt没有关系,这里可以视作常量
    = 1 C ∗ p ( x 1 , x 2 , . . x t , z t ) = \frac{1}{C}*p(x_1,x_2,..x_t,z_t) =C1p(x1,x2,..xt,zt)
    吸出 x t x_t xt
    = 1 C ∗ p ( x t ∣ x 1 , x 2 , . . x t − 1 , z t ) p ( x 1 , x 2 , . . x t − 1 , z t ) = \frac{1}{C}*p(x_t|x_1,x_2,..x_{t-1},z_t)p(x_1,x_2,..x_{t-1},z_t) =C1p(xtx1,x2,..xt1,zt)p(x1,x2,..xt1,zt)
    应用观测独立假设和贝叶斯公式
    = 1 C ∗ p ( x t ∣ z t ) p ( z t ∣ x 1 , x 2 , . . x t − 1 ) p ( x 1 , x 2 , . . x t − 1 ) = \frac{1}{C}*p(x_t|z_t)p(z_t| x_1,x_2,..x_{t-1})p(x_1,x_2,..x_{t-1}) =C1p(xtzt)p(ztx1,x2,..xt1)p(x1,x2,..xt1)
    这里 p ( x 1 , x 2 , . . x t − 1 ) p(x_1,x_2,..x_{t-1}) p(x1,x2,..xt1)也可以作为常量处理
    = 1 C ∗ p ( x t ∣ z t ) p ( z t ∣ x 1 , x 2 , . . x t − 1 ) = \frac{1}{C}*p(x_t|z_t)p(z_t| x_1,x_2,..x_{t-1}) =C1p(xtzt)p(ztx1,x2,..xt1)
    应用联合分布和边缘分布关系
    = 1 C ∗ p ( x t ∣ z t ) ∫ z t − 1 p ( z t − 1 , z t ∣ x 1 , x 2 , . . x t − 1 ) d z t − 1 = \frac{1}{C}*p(x_t|z_t) \int_{z_{t-1}}p(z_{t-1},z_{t} |x_1,x_2,..x_{t-1})dz_{t-1} =C1p(xtzt)zt1p(zt1,ztx1,x2,..xt1)dzt1
    = 1 C ∗ p ( x t ∣ z t ) ∫ z t − 1 p ( z t ∣ x 1 , x 2 , . . x t − 1 , z t − 1 ) p ( z t − 1 ∣ x 1 , x 2 , . . x t − 1 ) d z t − 1 = \frac{1}{C}*p(x_t|z_t) \int_{z_{t-1}} p(z_t|x_1,x_2,..x_{t-1},z_{t-1}) p(z_{t-1} |x_1,x_2,..x_{t-1})dz_{t-1} =C1p(xtzt)zt1p(ztx1,x2,..xt1,zt1)p(zt1x1,x2,..xt1)dzt1
    应用齐次马尔科夫假设:
    = 1 C ∗ p ( x t ∣ z t ) ∫ z t − 1 p ( z t ∣ z t − 1 ) p ( z t − 1 ∣ x 1 , x 2 , . . x t − 1 ) d z t − 1 = \frac{1}{C}*p(x_t|z_t) \int_{z_{t-1}} p(z_t|z_{t-1}) p(z_{t-1} |x_1,x_2,..x_{t-1})dz_{t-1} =C1p(xtzt)zt1p(ztzt1)p(zt1x1,x2,..xt1)dzt1
    可以看到 p ( z t − 1 ∣ x 1 , x 2 , . . x t − 1 ) 是 t − 1 时 刻 的 卡 尔 曼 滤 波 p(z_{t-1} |x_1,x_2,..x_{t-1})是t-1时刻的卡尔曼滤波 p(zt1x1,x2,..xt1)t1

通常记作:
B e l ( z t ) = 1 C ∗ p ( x t ∣ z t ) B e l ( z t ) ‾ Bel(z_t)= \frac{1}{C}*p(x_t|z_t)\overline{Bel(z_t)} Bel(zt)=C1p(xtzt)Bel(zt) 叫做更新过程,也叫修正过程

B e l ( z t ) ‾ = ∫ z t − 1 p ( z t ∣ z t − 1 ) B e l ( z t − 1 ) d z t − 1 \overline{Bel(z_t)}=\int_{z_{t-1}} p(z_t|z_{t-1}) Bel(z_{t-1})dz_{t-1} Bel(zt)=zt1p(ztzt1)Bel(zt1)dzt1 叫做预测过程

2:正态分布:
一元正态分布:
p ( x ) ∼ N ( μ , σ 2 ) : p ( x ) = 1 2 π σ e − 1 2 ( x − μ ) 2 σ 2 \begin{array}{l} p(x)\sim N(\mu ,{\sigma ^2}):\\ p(x) = \frac{1}{{\sqrt {2\pi } \sigma }}{e^{ - \frac{1}{2}\frac{{{{(x - \mu )}^2}}}{{{\sigma ^2}}}}} \end{array} p(x)N(μ,σ2):p(x)=2π σ1e21σ2(xμ)2
多元正态分布:
p ( x ) ∼ N ( μ , Σ ) : p ( x ) = 1 ( 2 π ) n / 2 ∣ Σ ∣ 1 / 2 e − 1 2 ( x − μ ) t Σ − 1 ( x − μ ) \begin{array}{l} p({{x}})\sim {\rm N}({\bf{\mu }},{{\Sigma }}):\\ p({{x}}) = \frac{1}{{{{(2\pi )}^{n/2}}{{\left| {{\Sigma }} \right|}^{1/2}}}}{e^{ - \frac{1}{2}{{({{x}} - {{\mu }})}^t}{{{\Sigma }}^{ - 1}}({{x}} - {{\mu }})}} \end{array} p(x)N(μ,Σ):p(x)=(2π)n/2Σ1/21e21(xμ)tΣ1(xμ)
其中 μ ∈ R n , Σ ∈ R n ∗ n 是 半 正 定 方 差 矩 阵 , ∣ Σ ∣ 表 示 方 差 矩 阵 的 行 列 式 \mu \in R^n ,\Sigma \in R^{n*n}是半正定方差矩阵,\left| {{\Sigma }} \right| 表示方差矩阵的行列式 μRn,ΣRnnΣ

3:正态分布的特点:一代高斯,代代高斯

首先,高斯变量线性变换后,仍为高斯分布,均值和方差如下:
X ∼ N ( μ , Σ ) Y = A X + B    } ⇒ Y ∼ N ( A μ + B , A Σ A T ) \left. {\begin{array}{l} {X\sim N(\mu ,\Sigma )}\\ {Y = AX + B\quad \;} \end{array}} \right\}\quad \Rightarrow \quad Y\sim N(A\mu + B,A\Sigma {A^T}) XN(μ,Σ)Y=AX+B}YN(Aμ+B,AΣAT)
其次:两个高斯的线性组合仍然是高斯分布
X 1 ∼ N ( μ 1 , σ 1 2 ) X 2 ∼ N ( μ 2 , σ 2 2 ) } ⇒ k 1 X 1 + k 2 X 2 + c ∼ N ( k 1 μ 1 + k 2 μ 2 + c , k 1 2 σ 1 2 + k 2 2 σ 2 2 ) \left. {\begin{array}{l} {{X_1}\sim N({\mu _1},\sigma _1^2)}\\ {{X_2}\sim N({\mu _2},\sigma _2^2)} \end{array}} \right\} \Rightarrow k_1{X_1} +k_2 {X_2}+c \sim N\left( {{k_1\mu _1} + k_2{\mu _2}+c,k_1^2\sigma _1^2 + k_2^2\sigma _2^2} \right) X1N(μ1,σ12)X2N(μ2,σ22)}k1X1+k2X2+cN(k1μ1+k2μ2+c,k12σ12+k22σ22)
最后,两个相互独立的高斯变量的乘积,仍然为高斯分布,均值和方差如下:
X 1 ∼ N ( μ 1 , σ 1 2 ) X 2 ∼ N ( μ 2 , σ 2 2 ) } ⇒ p ( X 1 ) ⋅ p ( X 2 ) ∼ N ( σ 2 2 σ 1 2 + σ 2 2 μ 1 + σ 1 2 σ 1 2 + σ 2 2 μ 2 , σ 1 2 σ 2 2 σ 1 2 + σ 2 2 ) \left. {\begin{array}{l} {{X_1}\sim N({\mu _1},\sigma _1^2)}\\ {{X_2}\sim N({\mu _2},\sigma _2^2)} \end{array}} \right\} \Rightarrow p({X_1}) \cdot p({X_2}) \sim N\left( {\frac{{\sigma _2^2}}{{\sigma _1^2 + \sigma _2^2}}{\mu _1} + \frac{{\sigma _1^2}}{{\sigma _1^2 + \sigma _2^2}}{\mu _2}, \quad \frac{{\sigma _1^2\sigma _2^2}}{{\sigma _1^2 + \sigma _2^2}}} \right) X1N(μ1,σ12)X2N(μ2,σ22)}p(X1)p(X2)N(σ12+σ22σ22μ1+σ12+σ22σ12μ2,σ12+σ22σ12σ22)

4: Kalman滤波:
状态方程: z t = A z t − 1 + B u t + ε t z_t=Az_{t-1}+Bu_t+\varepsilon_t zt=Azt1+But+εt
观测方程: x t = H z t + δ t x_t=Hz_{t}+\delta_t xt=Hzt+δt
其中:
ε t ∼ N ( 0 , R t ) \varepsilon_t \sim N(0,R_t) εtN(0,Rt)
δ t ∼ N ( 0 , Q t ) \delta_t \sim N(0,Q_t) δtN(0,Qt)
z 0 ∼ N ( μ 0 , P t ) z_0 \sim N(\mu_0,P_t) z0N(μ0,Pt)
应用正态分布线性变换的特点有:
p ( x t ∣ z t ) ∼ N ( H z t , Q t ) p(x_t|z_t) \sim N(Hz_{t},Q_t) p(xtzt)N(Hzt,Qt)
p ( z t ∣ z t − 1 ) ∼ N ( A z t − 1 + B u t , R t ) p(z_t|z_{t-1}) \sim N(Az_{t-1}+Bu_t,R_t) p(ztzt1)N(Azt1+But,Rt)
p t = A P t − 1 A T + R t p_t=AP_{t-1}A^T+R_t pt=APt1AT+Rt

z t : 是 t 时 刻 的 状 态 , 是 n 维 向 量 z_t:是t时刻的状态,是n维向量 zt:tn
A t : 是 n ∗ n 状 态 转 移 矩 阵 ( 在 没 有 输 入 的 影 响 下 ) A_t:是n*n状态转移矩阵(在没有输入的影响下) Atnn
B t : 是 n ∗ n 矩 阵 ( 表 示 u t 如 何 影 响 z t ) B_t:是n*n矩阵(表示u_t如何影响z_t) Btnnutzt
u t : 是 t 时 刻 输 入 向 量 u_t:是t时刻输入向量 utt
x t : 是 t 时 刻 观 测 向 量 , m 维 向 量 x_t:是t时刻观测向量,m维向量 xtt,m
H t : 是 m ∗ n 发 射 概 率 矩 阵 ( z t − − > x t ) H_t:是m*n发射概率矩阵(z_{t} -->x_t) Htmnzt>xt
R t : 是 n ∗ n 矩 阵 , 表 示 隐 状 态 噪 声 ε t 的 方 差 矩 阵 R_t:是n*n矩阵,表示隐状态噪声\varepsilon_t 的方差矩阵 Rtnnεt
Q t : 是 m ∗ m 矩 阵 , 表 示 观 测 状 态 噪 声 δ t 的 方 差 矩 阵 Q_t:是m*m矩阵,表示观测状态噪声\delta_t 的方差矩阵 Qtmmδt
P t : 是 n ∗ n 矩 阵 , 表 示 t 时 刻 隐 状 态 z t 的 方 差 矩 阵 P_t:是n*n矩阵,表示t时刻隐状态z_t的方差矩阵 Ptnntzt

5:Kalman滤波算法的推导
1):系统初始状态
B e l ( z 0 ) = p ( z 0 ∣ x 0 ) ∼ N ( μ 0 , P 0 ) Bel(z_0)=p(z_0|x_0) \sim N(\mu_0,P_0) Bel(z0)=p(z0x0)N(μ0,P0)
2):预测过程的推导,这里列出预测过程公式:
B e l ( z t ) ‾ = ∫ z t − 1 p ( z t ∣ z t − 1 ) B e l ( z t − 1 ) \overline{Bel(z_t)}=\int_{z_{t-1}} p(z_t|z_{t-1}) Bel(z_{t-1}) Bel(zt)=zt1p(ztzt1)Bel(zt1)
因为:
p ( z t ∣ z t − 1 ) ∼ N ( A z t − 1 + B u t , R t ) p(z_t|z_{t-1}) \sim N(Az_{t-1}+Bu_t,R_t) p(ztzt1)N(Azt1+But,Rt)
B e l ( z t − 1 ) ∼ N ( μ t − 1 , P t − 1 ) Bel(z_{t-1}) \sim N(\mu_{t-1},P_{t-1}) Bel(zt1)N(μt1,Pt1)
所以:
B e l ( z t ) ‾ = ∫ z t − 1 p ( z t ∣ z t − 1 ) B e l ( z t − 1 ) \overline{Bel(z_t)}=\int_{z_{t-1}} p(z_t|z_{t-1}) Bel(z_{t-1}) Bel(zt)=zt1p(ztzt1)Bel(zt1)
= ∫ z t − 1 1 ( 2 π ) n / 2 ∣ R t ∣ 1 / 2 e − 1 2 ( z t − A z t − 1 − B u t ) t R t − 1 ( z t − A z t − 1 − B u t ) ∗ 1 ( 2 π ) n / 2 ∣ P t ∣ 1 / 2 e − 1 2 ( z t − 1 − μ t − 1 ) t P t − 1 ( z t − 1 − μ t − 1 ) d z t − 1 =\int_{z_{t-1}} \frac{1}{{{{(2\pi )}^{n/2}}{{\left| {{\R_t }} \right|}^{1/2}}}}{e^{ - \frac{1}{2}{{({{z_t}} - {{Az_{t-1}-Bu_t }})}^t}{{{R_t}}^{ - 1}}({{z_t}} - {{Az_{t-1}-Bu_t}})}}* \frac{1}{{{{(2\pi )}^{n/2}}{{\left| {{P_t }} \right|}^{1/2}}}}{e^{ - \frac{1}{2}{{({{z_{t-1}}} - \mu_{t-1})}^t}{{{P_t }}^{ - 1}}({{z_{t-1}}} - \mu_{t-1})}}dz_{t-1} =zt1(2π)n/2Rt1/21e21(ztAzt1But)tRt1(ztAzt1But)(2π)n/2Pt1/21e21(zt1μt1)tPt1(zt1μt1)dzt1

因为状态方程满足线性关系
所以有:均值更新满足
μ t = A μ t − 1 + B u t \mu_t=A\mu_{t-1}+Bu_t μt=Aμt1+But
方差矩阵更新满足:
P t = A t P t − 1 A P_t=A_tP_{t-1}A^{} Pt=AtPt1A
3)更新过程的推导

B e l ( z t ) = 1 C ∗ p ( x t ∣ z t ) B e l ( z t ) ‾ Bel(z_t)= \frac{1}{C}*p(x_t|z_t)\overline{Bel(z_t)} Bel(zt)=C1p(xtzt)Bel(zt)

b e l ( z t ) =   1 C   p ( x t ∣ z t ) b e l ‾ ( z t ) ⇓ ⇓ ∼ N ( H t x t , Q t ) ∼ N ( μ ‾ t , P ‾ t ) ⇓ b e l ( z t ) = 1 C    exp ⁡ { − 1 2 ( x t − H t z t ) T Q t − 1 ( x t − H t z t ) } exp ⁡ { − 1 2 ( z t − μ ˉ t ) T P ˉ t − 1 ( z t − μ ˉ t ) } \begin{array}{l} bel({z_t}) = \,\quad \frac{1}{C} \quad \,p({x_t}|{z_t})\quad \quad \quad \quad \quad \quad \overline {bel} ({z_t})\\ \quad \quad \quad \quad \quad \quad \quad \quad \Downarrow \quad \quad \quad \quad \quad \quad \quad \quad \Downarrow \\ \quad \quad \quad \quad \quad \sim N\left( {{H_t}{x_t},{Q_t}} \right)\quad \quad \sim N\left( {{{\overline \mu }_t},{{\overline P }_t}} \right)\\ \quad \quad \quad \quad \quad \quad \quad \quad \Downarrow \\ bel({z_t}) = \frac{1}{C} \;\exp \left\{ { - \frac{1}{2}{{({x_t} - {H_t}{z_t})}^T}Q_t^{ - 1}({x_t} - {H_t}{z_t})} \right\}\exp \left\{ { - \frac{1}{2}{{({z_t} - {{\bar \mu }_t})}^T}\bar P_t^{ - 1}({z_t} - {{\bar \mu }_t})} \right\}\\ \end{array} bel(zt)=C1p(xtzt)bel(zt)N(Htxt,Qt)N(μt,Pt)bel(zt)=C1exp{21(xtHtzt)TQt1(xtHtzt)}exp{21(ztμˉt)TPˉt1(ztμˉt)}
均值和方差的迭代公式满足(这个不知道咋推导的 ^^)
b e l ( x t ) = { μ t = μ ˉ t + K t ( z t − H t μ ˉ t ) P t = ( I − K t H t ) P ‾ t w i t h K t = P ‾ t H t T ( H t P ‾ t H t T + Q t ) − 1 bel({x_t}) = \left\{ {\begin{array}{l} {{\mu _t} = {{\bar \mu }_t} + {K_t}({z_t} - {H_t}{{\bar \mu }_t})}\\ {{P_t} = (I - {K_t}{H_t}){{\overline P }_t}} \end{array}} \right.\quad \quad {\rm{with }}{K_t} = {\overline P _t}H_t^T{({H_t}{\overline P _t}H_t^T + {Q_t})^{ - 1}} bel(xt)={μt=μˉt+Kt(ztHtμˉt)Pt=(IKtHt)PtwithKt=PtHtT(HtPtHtT+Qt)1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值