什么是 Rao-Blackwellized 粒子滤波(RBPF)?
Rao-Blackwellized 粒子滤波(RBPF)是一种序贯蒙特卡洛方法:采样一部分隐状态,同时在每个粒子内部解析积分另一部分条件可处理状态。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
先分解 Posterior,再决定采样哪些状态
假设隐状态分为 r_k 与 z_k,并且 p(z_0:k | r_0:k, y_1:k) 可处理。RBPF 为 r_0:k 采样轨迹,并在每个粒子中保存 z_0:k 或 z_k 的条件分布。对条件线性 Gaussian 系统,内部计算通常使用 Kalman Filter。
Doucet、de Freitas、Murphy 与 Russell针对 Dynamic Bayesian Network 给出 RBPF。只有所选分区暴露出有效条件计算时,Rao-Blackwellization 才有意义;把非 Gaussian 条件状态强行交给 Gaussian 内层滤波器,会改变目标分布。
为采样状态加权和重采样,同时保留完整条件历史
每个粒子提出新的难处理状态,运行其条件估计器,再以正确的预测 Likelihood 与 Proposal 修正更新权重。应在 Log Space 中归一化,监控 Effective Sample Size,并只按明确策略重采样。重采样后,每个复制粒子都必须带上相匹配的条件均值、协方差、参数和祖先。
从状态转移分布采样最简单,但量测信息强时可能浪费粒子。更好的 Proposal 可以使用当前观测,却必须把自身 Density 写进权重。边缘化更多变量可能降低方差,同时增加每粒子的解析代数和内存。
分别度量方差降低与路径退化
Doucet 的 SMC 资料页把 RBPF 概括为:可解析计算时就不要采样,只对难处理部分使用 Monte Carlo。该原则用于切换状态空间模型、目标跟踪和 FastSLAM,但每个应用拥有不同的分解与条件求解器。
应在相同运行时间和重复随机种子下,与普通 Particle Filter 比较;报告状态 RMSE、可用时的 Log-Likelihood 估计、ESS、重采样次数、唯一祖先数、模式或地图多样性、条件协方差 Coverage、耗时与内存。瞬时 ESS 很高,不证明早期轨迹仍有多样性。
主要特点
- 只采样选定的难处理隐变量子集
- 在每个粒子内部边缘化条件可处理状态
- 常以 Kalman Filter 处理条件线性 Gaussian 状态
- 分解成立时可降低 Monte Carlo 方差
- 仍存在重要性权重与祖先路径退化风险
- 以每粒子的解析状态换取更低采样维度
常见用途
- 包含离散模式与连续状态的切换状态空间模型
- 采样轨迹并条件估计地图的 FastSLAM 类方法
- 非线性意图与条件线性运动学联合目标跟踪
- 结构化 Dynamic Bayesian Network 推断
- 混合非线性与线性 Gaussian 的传感器融合模型
示例
Loading code...常见问题
粒子滤波中的 Rao-Blackwellization 是什么意思?
它表示不再采样条件可处理的那部分隐状态,而是解析积分。每个粒子只采样剩余状态,并携带被边缘化变量的条件分布、充分统计量或估计器。
RBPF 为什么可能比普通粒子滤波需要更少粒子?
解析积分消除了被边缘化变量的采样噪声,也可能降低采样维度。收益取决于模型分区、Proposal、观测和条件求解器,不存在通用的粒子数量缩减比例。
Rao-Blackwellized 粒子滤波是精确算法吗?
只有条件计算在其模型假设下可能精确。外层粒子近似仍是有限样本 Monte Carlo,整体结果仍可能受到 Proposal 失配、权重退化、路径坍缩、模型误差或近似内层滤波器影响。
RBPF 与 IMM 有什么区别?
IMM 保存固定数量的模式条件滤波器,并在每步对混合分布做矩匹配;RBPF 采样模式或非线性历史,让不同粒子保留不同路径,同时解析过滤条件状态。RBPF 更灵活,但也可能退化。
RBPF 应关注哪些诊断指标?
应跟踪状态误差与 Coverage、ESS、归一化权重集中度、重采样频率、唯一祖先数、路径或地图多样性、重复种子波动、条件滤波一致性、耗时和内存。单次高 ESS 并不充分。