Particle Filter: Overview

现实世界里,xx 的维度太大、数量太多,计算的时间复杂度爆炸。我们很难精确计算出 P(X)P(X) 的 closed form,一个比较经典的方法就是利用蒙特卡罗方法,化连续为离散,用若干个点近似 P(X)P(X),这就是粒子滤波的思想。

我们通过对这些点进行追踪,从而得到大致的分布。粒子的平均值代表对 state 的近似,粒子的分布代表对 state distribution 的近似

HMM view of PF

PF
PF

对于粒子滤波而言有这么几个东西比较重要:

粒子滤波算法流程

粒子滤波的流程大致可以分为这么几步

  1. 获得 observation oto_t,得到每一个粒子对真实 state 的近似程度
  2. 对粒子进行重采样 (resample),越近似的粒子比重越大。重采样将近似程度低的粒子替换为近似程度高的粒子
  3. sample:对每一个粒子进行状态转移,即 xt+1=sample(P(Xt+1Xt=xt))x_{t+1}=\text{sample}(P(X_{t+1}|X_t=x_t))