粒子滤波学习笔记(二)

接上一篇,现在我们介绍蒙特卡罗积分和几种采样方法。目前我只是对粒子滤波有一个比较基础的认识,基本原理上只涉及到了蒙特卡罗采样和Important Sampling,Sequential Important Sampling,Sampling-Importance Resampling三种,所以就只介绍这几种。

1 蒙特卡罗积分

蒙特卡罗方法又被称为随机采样法或统计试验法,其基本思路就是将实际求解的问题描述成某种随机变量,然后从已知的概率分布采样,建立各种估计量,得到所求的解。所谓的蒙特卡罗积分也是这个思想。

假设 D n维空间 Rn 的一个区域,考虑多重积分

I=DG(x)dx
式中, D 为积分区域。

蒙特卡罗积分就是将积分值I看作是某种随机变量的数学期望,于是有下式

I=Df(x)p(x)dx
假设 G(x)=f(x)p(x) , p(x) 可以看作是 f(x) 的数学期望,于是自然就有要求 p(x)0,Rnp(x)dx=1

假设从概率密度 p(x) 中采样得到 Np 个独立同分布的样本值 [x1,...,xNp] ,那么 G(x) 的蒙特卡罗估计可以为

fNp^=1Npi=0Npf(xi)

由大数定理可以知道,当 [x1,...,xNp] 相互独立而且 Np 的时候,我们上面得到的估计 fNp^ 就会以概率1收敛与积分的真值,也就是

p(limNpfNp^=I)=1

由中心极限定理可以知道,收敛的速率为
Np(fNp^E(f))N(0,σ2)
σ2 f(x) 的方差。
从以上推理我们基本可以知道,估计的误差率是 O(Np1/2) ,而且估计的方差和采样的个数成反比。

2 几种采样方法

2.1 重要采样

重要采样是采样分布的“重要”区域,这样的话可以提高计算效率。一般来说先验分布 p(x) 难以采样,我们间接的选取一个重要分布 q(x) 来取代原来真实的分布,于是有下面的公式:

f(x)p(x)dx=f(x)p(x)q(x)q(x)dx

蒙特卡罗重要性采样就是从重要分布 q(x) 采大量的(比如说 Np )独立样本以此来获得加权的求和项来估计 f(x)
f^=1Npi=1NpW(xi)f(xi)

其中 W(xi)=p(xi)q(xi) 叫做重要性权值,但是如果归一化因子 p(x) 不知道,我们只能说权值正比于一个常数,也就是 W(xi)p(xi)q(xi) ,为了保证 Npi=1W(xi)=1 ,我们通常对权值做归一化,也就是
f^=1NpNpi=1W(xi)f(xi)1NpNpi=1W(xi)
其中 W^(x(i))=W(xi)Npj=1W(xj) 叫做重要权重。

2.2 序贯重要采样

一个好的重要分布对于重要采样的效果是很重要的,因此怎么选择重要分布是成功应用重要采样的关键,但是一般来说寻找一个重要分布尤其是在高维空间中寻找是很难的。一个很自然的想法就是我们可以按照顺序来建立重要分布,这就是所谓的序贯重要采样(SIS)的基本思想。

如果我们的重要分布式按照一个因式分解的形式选择的,如下所示,那么重要采样就可以采用迭代的方式来进行。

q(x0:n|y0:n)=q(x0)t=1nq(xt|x0:t1,y0:t)

为了便于理解,我们考虑一个简化的例子,也就是不考虑条件,按照条件概率我们可以有

p(x0:n)=p(x0)p(x1|x0)...p(xn|x0,...,xn1)

q(x0:n)=q0(x0)q1(x1|x0)...qn(xn|x0,...,xn1)

因此重要权重就可以看作
W(x0:n)=p(x0)p(x1|x0)...p(xn|x0,...,xn1)q0(x0)q1(x1|x0)...qn(xn|x0,...,xn1)

于是也就可以用迭代的形式来计算
W(x0:n)=Wn1(x0:n1)p(xn|x0:n1)qn(xn|x0:n1)

2.3 重采样

重采样的目的可以基于以下几点:
(1)如果重要权重不是均匀分布的,那么计算一些“琐碎”的权重很没有必要,是对计算能力的浪费;
(2)当重要权值不准确的时候,重采样可以提供选择重要样本的机会。
注意:
(1)一般来说,重采样是在两次重要采样之间执行的。在重采样的时候,粒子和相关重要权重 {x(i),W^(i)} 被新的等权重的粒子替换。重采样可以每一步都执行也可以在需要的时候执行。
(2)重采样不会提高当前状态估计的精度,因为重采样也会带来额外的蒙特卡罗方差。

在目前我只用到了一种重要采样算法,我在这里给出:
(1)产生一个均匀分布 uU(0,1) ,建立一个权重的累积概率,也就是 si=ij=1W^(j) ;
(2)寻找一个 si 使得 si1usi ,索引为 i 的粒子被选择;
(3)给定{x(j),W^(j)}  j=1,...,Np,按照相关的权重 W^(j) 复制粒子 x(j) ,进而得到新的粒子 x(i) ;
(4) W(i)=1/Np .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值