粒子滤波-从重要性采样(IS)到序列重要性采样(SIS)再到序列重要性重采样(SIR)

Basic Monte Carlo Sampling

Fig 1

应用场所

粒子滤波:针对非线性、非高斯分布的模型,用采到的样本表示概率分布(target PDF),求解 p ( z t ∣ x 1 : t ) p(z_t | x_{1:t}) p(ztx1:t)(根据1到t时刻的观测变量x求解t时刻隐变量z)

重要性采样(IS)

  • 目标:计算服从于target PDF分布的函数 f ( z ) f(z) f(z)的期望,通过应用Monte Carlo方法在概率分布中抽取N个样本,则
    p ( y ) = E [ f ( z ) ] ≈ 1 N ∑ i = 1 N f ( z i ) p(\mathbf{y})=E[f(z)] \approx\frac{1}{N}\sum_{i=1}^{N}f(z_i) p(y)=E[f(z)]N1i=1Nf(zi)
    但如果概率分布比较复杂,则可以通过q(z)(proposal distribution)作为桥梁(importance sampling):
    E [ f ( z ) ] = ∫ z f ( z ) p ( z ) d z = ∫ z f ( x ) p ( z ) q ( z ) q ( z ) d z = ∑ i = 1 N f ( z i ) p ( z i ) q ( z i ) E[f(z)] = \int_zf(z)p(z)dz = \int_zf(x)\frac{p(z)}{q(z)}q(z)dz = \sum_{i=1}^Nf(z_i)\frac{p(z_i)}{q(z_i)} E[f(z)]=zf(z)p(z)dz=zf(x)q(z)p(z)q(z)dz=i=1Nf(zi)q(zi)p(zi)
    直接采样,然后对每个样本应用权重得到期望的近似估计,最后进行权重归一化。

  • 在滤波问题求解 p ( z t ∣ x 1 : t ) p(z_t | x_{1:t}) p(ztx1:t)时,权重表达式:
    w t i = p ( z t i ∣ x 1 : t ) q ( z t i ∣ x 1 : t ) w_t^i = \frac{p(z_{t}^i | x_{1:t})}{q(z_{t}^i| x_{1:t})} wti=q(ztix1:t)p(ztix1:t)

  • 例子
    在这里插入图片描述
    先从q分布得到L个样本 y ~ ( ℓ ) \tilde{\mathbf{y}}^{(\ell)} y~(),然后计算权重 w ( ℓ ) w^{(\ell)} w(),最后进行权重归一化得到每个样本对应的权重 w ~ ( ℓ ) \tilde{w}^{(\ell)} w~()

序列重要性采样(SIS)

  • 求解 p ( z 1 : t ∣ x 1 : t ) p(z_{1:t} | x_{1:t}) p(z1:tx1:t)
    w t i ∝ p ( z 1 : t ∣ x 1 : t ) q ( z 1 : t ∣ x 1 : t ) w_t^i \propto \frac{p(z_{1:t} | x_{1:t})}{q(z_{1:t}| x_{1:t})} wtiq(z1:tx1:t)p(z1:tx1:t)

p ( z 1 : t ∣ x 1 : t ) ∝ p ( x 1 : t , z 1 : t ) = p ( x t ∣ z 1 : t , x 1 : t − 1 ) p ( z 1 : t , x 1 : t − 1 ) = p ( x t ∣ z t ) p ( z t ∣ z 1 : t − 1 , x 1 : t − 1 ) p ( z 1 : t − 1 , x 1 : t − 1 ) = p ( x t ∣ z t ) p ( z t ∣ z t − 1 ) p ( z 1 : t − 1 , x 1 : t − 1 ) ∝ p ( x t ∣ z t ) p ( z t ∣ z t − 1 ) p ( z 1 : t − 1 ∣ x 1 : t − 1 ) p(z_{1:t} | x_{1:t}) \propto p(x_{1:t}, z_{1:t}) =p(x_t |z_{1:t},x_{1:t-1})p(z_{1:t}, x_{1:t-1}) \\=p(x_t | z_t)p(z_t|z_{1:t-1},x_{1:t-1})p(z_{1:t-1},x_{1:t-1}) \\=p(x_t | z_t)p(z_t|z_{t-1})p(z_{1:t-1},x_{1:t-1}) \\ \propto p(x_t | z_t)p(z_t|z_{t-1})p(z_{1:t-1}|x_{1:t-1}) p(z1:tx1:t)p(x1:t,z1:t)=p(xtz1:t,x1:t1)p(z1:t,x1:t1)=p(xtzt)p(ztz1:t1,x1:t1)p(z1:t1,x1:t1)=p(xtzt)p(ztzt1)p(z1:t1,x1:t1)p(xtzt)p(ztzt1)p(z1:t1x1:t1)

指定 q ( z 1 : t ∣ x 1 : t ) = q ( z t ∣ z 1 : t − 1 , x 1 : t ) q ( z 1 : t − 1 ∣ x 1 : t − 1 ) q(z_{1:t}| x_{1:t})=q(z_{t}|z_{1:t-1}, x_{1:t})q(z_{1:t-1}|x_{1:t-1}) q(z1:tx1:t)=q(ztz1:t1,x1:t)q(z1:t1x1:t1)
得到:
w t i ∝ p ( z 1 : t ∣ x 1 : t ) q ( z 1 : t ∣ x 1 : t ) ∝ p ( x t ∣ z t ) p ( z t ∣ z t − 1 ) p ( z 1 : t − 1 ∣ x 1 : t − 1 ) q ( z t ∣ z 1 : t − 1 x 1 : t ) q ( z 1 : t − 1 ∣ x 1 : t − 1 ) = p ( x t ∣ z t ) p ( z t ∣ z t − 1 ) q ( z t ∣ z 1 : t − 1 x 1 : t ) w t − 1 i w_t^i \propto \frac{p(z_{1:t} | x_{1:t})}{q(z_{1:t}| x_{1:t})} \propto \frac{p(x_t | z_t)p(z_t|z_{t-1})p(z_{1:t-1}|x_{1:t-1})}{q(z_{t}|z_{1:t-1} x_{1:t})q(z_{1:t-1}|x_{1:t-1})} = \frac{p(x_t | z_t)p(z_t|z_{t-1})}{q(z_{t}|z_{1:t-1} x_{1:t})} w_{t-1}^i wtiq(z1:tx1:t)p(z1:tx1:t)q(ztz1:t1x1:t)q(z1:t1x1:t1)p(xtzt)p(ztzt1)p(z1:t1x1:t1)=q(ztz1:t1x1:t)p(xtzt)p(ztzt1)wt1i

  • 在t-1时刻采样并计算权重
  • t时刻根据 q ( z t ∣ z 1 : t − 1 x 1 : t ) q(z_{t}|z_{1:t-1} x_{1:t}) q(ztz1:t1x1:t)采样得到N个样本 z t i z_t^i zti,并计算得到N个权重
  • 权重归一化

SIS 应用于Filtering

在这里插入图片描述

通常Filtering问题求解目标为t时刻隐变量的后验 p ( z t ∣ x 1 : t ) p(z_t | x_{1:t}) p(ztx1:t),但SIS为了简化运算求解目标为 p ( z 1 : t ∣ x 1 : t ) p(z_{1:t} | x_{1:t}) p(z1:tx1:t)

  • 根据隐变量z的状态转移方程得到先验分布 p ( z t ∣ z t − 1 ) p(z_t|z_{t-1}) p(ztzt1)
  • 根据观测变量x和隐变量z的状态转移方程得到似然函数 p ( x t ∣ z 1 : t ) p(x_t | z_{1:t}) p(xtz1:t)
  • 设定proposal distribution q ( z ) q(z) q(z)为隐变量z的先验分布 p ( z t ∣ z t − 1 ) p(z_t|z_{t-1}) p(ztzt1)
  • 计算t时刻第 ℓ \ell 个样本的权重 w ( ℓ ) w^{(\ell)} w()然后进行权重归一化

SIS 存在的问题及改善(SIR)

  • 问题:权重退化
    一段时间后,大部分样本的权重会逼近0
  • 加入重采样(Resampling):
    Sequential importance resampling(SIR) or
    Sequential importance sampling and resampling(SIS/R)):
    思路是将权重作为概率分布,得到累计概率密度函数(CDF),然后在CDF上取点。

在这里插入图片描述
算法流程:

  • 输入:
    L个SIS产生的 y ~ ( ℓ ) \tilde{\mathbf{y}}^{(\ell)} y~()和对应的权重 w ( ℓ ) w^{(\ell)} w()
  • 初始化:
    新的样本集合 s t s_t st为空
    样本权重 w ( ℓ ) w^{(\ell)} w()的累积密度函数cdf 的第一个值 c 1 c_1 c1为0。
    i为1
  1. 计算权重 w ( ℓ ) w^{(\ell)} w()的cdf
  2. 从(0, 1 L \frac{1}{L} L1)区间采样 u 1 u_1 u1
  3. 根据 u 1 u_1 u1为L个样本生成对应的 u ℓ u_{\ell} u
  4. 遍历输入样本和权重,如果第 ℓ {\ell} 个样本的 u ℓ u_{\ell} u大于 c i c_i ci,则i+1,并将第i个样本放入新的样本集合 s t s_t st,新的权重为 1 L \frac{1}{L} L1

总结:SIR算法为SIS得到样本和权重之后应用重采样,得到新的L个样本,并且每个样本的权重都是 1 L \frac{1}{L} L1

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值