粒子滤波器是一新类型的非线性滤波器,已成为一个解决非线性滤波问题的重要工具,因为它能应用于很多领域,如信号处理、雷达和声音媒体的目标跟踪、计算机视觉、神经计算。
令 X n X_n Xn表示所有的目标状态序列 { x i } i = 1 n {\lbrace x_i\rbrace} _{i=1}^n {xi}i=1n; Y n Y_n Yn表示所有观测序列 { y i } i = 1 n {\lbrace y_i\rbrace} _{i=1}^n {yi}i=1n; 给定观测序列 Y n Y_n Yn的条件下,所有状态 X n X_n Xn的联合后验分布为 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn∣Yn); 由于 X n X_n Xn表示的状态序列对观测者都是隐藏的,获得直接从后验分布 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn∣Yn)中随机取样通常是不可行的。因此从另外一个分布中取样,这一分布称为工具分布,用 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn∣Yn)来表示。为了使重要分布能够有效代替后验分布, q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn∣Yn)必须有一个足够广的支集,以完全包括 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn∣Yn)的支集。
所谓重要性抽样方法,即从重要性分布 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn∣Yn)中随机抽取N个统计独立且同分布的样本构成一个集合。令n时刻随机取出的样本集记为 X n ( i ) , i = 1 , 2 , . . . , N X_n^{(i)},i=1,2,...,N Xn(i),i=1,2,...,N,从零时刻开始直到n时刻,一步一步的,在状态空间中,根据重要性分布 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn∣Yn),N个样本追踪自己的“轨迹”。它们的轨迹记为 X n ( i ) X_n^{(i)} Xn(i),其中,i=1,2,…,N,称为粒子,因此面名为粒子滤波器。
定义重要性函数: r ( X n ∣ Y n ) = p ( X n ∣ Y n ) q ( X n ∣ Y n ) (式1) r(X_n|Y_n)= \frac{p(X_n|Y_n)}{q(X_n|Y_n)}\tag{式1} r(Xn∣Yn)=q(Xn∣Yn)p(Xn∣Yn)(式1) 利用贝叶斯估计量的定义: h ‾ = E p [ h ( X n ) ] = ∫ h ( X n ) p ( X n ∣ Y n ) d x n \overline h=E_p[h(X_n)]=\int h(X_n)p(X_n|Y_n)dx_n h=Ep[h(Xn)]=∫h(Xn)p(Xn∣Yn)dxn 改写其定义,可以改写贝叶斯估计量的公式: h ‾ = E p [ h ( X n ) ] = ∫ h ( X n ) p ( X n ∣ Y n ) q ( X n ∣ Y n ) q ( X n ∣ Y n ) d x n = ∫ h ( X n ) r ( X n ∣ Y n ) q ( X n ∣ Y n ) d x n (式2) \overline h=E_p[h(X_n)]=\int h(X_n) \frac {p(X_n|Y_n)}{q(X_n|Y_n)} q(X_n|Y_n)dx_n = \int h(X_n)r(X_n|Y_n)q(X_n|Y_n)dx_n \tag{式2} h=Ep[h(Xn)]=∫h(Xn)q(Xn∣Yn)p(Xn∣Yn)q(Xn∣Yn)dxn=∫h(Xn)r(Xn∣Yn)q(Xn∣Yn)dxn(式2) 其中 h ( X n ) h(X_n) h(Xn)作为任意函数,为了使它和粒子滤波的术语保持一致性。 在式2的贝叶斯计量上运用重要性取样方法,得到相应的Monte Carlo估计量: h ^ n ( N ) ≈ 1 N ∑ i = 1 N w ~ n ( i ) h ( X n ( i ) (式3) \hat h_n(N) \approx \frac{1}{N}\sum _{i=1} ^N \widetilde {w}_n ^{(i)}h(X_n^{(i)} \tag{式3} h^n(N)≈N1i=1∑Nw n(i)h(Xn(i)(式3) 其中 w n ( i ) = w ~ n ( i ) ∑ j = 1 N w ~ n ( j ) , i = 1 , 2 , . . . , N (式4) w_{n} ^{(i)} = \frac{\widetilde w_n ^{(i)}}{\sum _{j=1} ^N \widetilde w_n ^{(j)}},i=1,2,...,N \tag{式4} wn(i)=∑j=1Nw n(j)w n(i),i=1,2,...,N(式4) 对有限数量的粒子,N个,估计量 h ^ n ( N ) \hat h_n(N) h^n(N)是有偏的,但是,在渐进的意义,满足下述关系: lim N → ∞ h ^ ( N ) → h ‾ (式5) \lim _{N \to \infty} \hat h(N) \to \overline h \tag{式5} N→∞limh^(N)→h(式5)
取样的第二阶段背后的基本原理: 重采样的第二阶段取出的样本 x ~ n ( i ) \widetilde x_n^{(i)} x n(i),它的标准化重要性权值 w n ( i ) w_n ^{(i)} wn(i)很大,很有可能从联合后验分布 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn∣Yn);比起标准化重要性权值小的样本,应该以更大的概率选择这样的样本。 实现SIR的方式,每一次循环中进行以下操作: (1)、采样。随机地从重要性分布 q ( X ∣ Y ) q(X|Y) q(X∣Y)中抽取一个N个样品 { X ( i ) } \lbrace X ^{(i)}\rbrace {X(i)}_{i=1} ^N的iid集合。 (2)、加权。利用式4,计算相关的标准化权值 { w ( i ) } i = 1 N \lbrace w^{(i)}\rbrace _{i=1} ^N {w(i)}i=1N的集合。 (3)、重采样。 (i)给定中间样本 X ( 1 ) , X ( 2 ) , . . , X ( N ) X^{(1)},X^{(2)},..,X^{(N)} X(1),X(2),..,X(N),条件独立地抽取含L个离散随机变量 { I 1 , I 2 , . . . , I N } \lbrace I^{1},I^{2},...,I^{N} \rbrace {I1,I2,...,IN}的集合,从集合 { 1 , 2 , . . N } \lbrace1,2,..N \rbrace {1,2,..N}中依概率 ( w 1 , w 2 , . . , w N ) (w^{1},w^{2},..,w^{N}) (w1,w2,..,wN)取值,如以下例子所示: P ( I ( 1 ) = j ) = w ( j ) , j = 1 , 2 , . . . , N P(I^{(1)}=j)=w^{(j)},j=1,2,...,N P(I(1)=j)=w(j),j=1,2,...,N 对 I ( 2 ) , . . , I ( L ) I^{(2)},..,I^{(L)} I(2),..,I(L)等,典型地,有 L ≤ N L\leq N L≤N。 (i)设 X ~ ( i ) = X ( I j ) \widetilde X ^{(i)}= X^{(I_j)} X (i)=X(Ij),其中 i = 1 , 2 , . . . , L i=1,2,...,L i=1,2,...,L。 集合 { I ( 1 ) , I ( 2 ) , . . , I ( L ) } \lbrace I^{(1)}, I^{(2)},.., I^{(L)}\rbrace {I(1),I(2),..,I(L)}被认为是多项式实验过程,因此,根据SIR方法被描述为一种多项式类型。
p ( X n ∣ Y n ) = ∫ 1 Z n p ( x n ∣ x n − 1 l ( y n ∣ x n ) p ( X n − 1 ∣ Y n − 1 ) d x n − 1 p(X_n|Y_n)=\int \frac{1}{Z_n}p(x_n|x_{n-1}l(y_n|x_n)p(X_{n-1}|Y_{n-1})dx_{n-1} p(Xn∣Yn)=∫Zn1p(xn∣xn−1l(yn∣xn)p(Xn−1∣Yn−1)dxn−1 = ∫ 1 Z n p ( x n ∣ x n − 1 l ( y n ∣ x n ) p ( X n − 1 ∣ Y n − 1 ) q ( X n ∣ Y n ) q ( X n ∣ Y n ) d n − 1 =\int \frac{1}{Z_n}p(x_n|x_{n-1}l(y_n|x_n)\frac{p(X_{n-1}|Y_{n-1})}{q(X_n|Y_n)}q(X_n|Y_n)d_{n-1} =∫Zn1p(xn∣xn−1l(yn∣xn)q(Xn∣Yn)p(Xn−1∣Yn−1)q(Xn∣Yn)dn−1
粒子用 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N来表示,其中N表示粒子总数。
给定状态分布 p ( x ) p(x) p(x)和初始值 x 0 x_0 x0,随机取消 x 0 ( i ) − p ( x 0 ) x_0 ^{(i)} - p(x_0) x0(i)−p(x0) 其中记号 x − p x-p x−p是x是分布p的一个观察值,设置初始权值 w 0 ( i ) = 1 N w_0 ^{(i)} = \frac {1}{N} w0(i)=N1 其中 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N
每个时间步骤 n = 1 , 2 , 3... n=1,2,3... n=1,2,3...,按照下标 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N,做如下操作: (1)重要性分布定义为 q ( x n ∣ x n − 1 ( i ) , y n = p ( x n ∣ x n − 1 ( i ) q(x_n | x_{n-1}^{(i)},y_n=p(x_n|x_{n-1}^{(i)} q(xn∣xn−1(i),yn=p(xn∣xn−1(i) 其中假设已知先验分布 p ( x n ∣ x n − 1 ( i ) p(x_n|x_{n-1}^{(i)} p(xn∣xn−1(i),取样 x n i − p ( x n ∣ x n − 1 i ) x_n^{i} - p(x_n|x_{n -1}^{i}) xni−p(xn∣xn−1i) (2)计算重要性权值 w ^ n ( i ) = l ( y n ∣ x n − 1 ( i ) ) \hat w_n^{(i)} = l(y_n|x_{n-1} ^{(i)}) w^n(i)=l(yn∣xn−1(i)) 其中也假设似然函数 l ( y n ∣ x n − 1 ( i ) ) l(y_n|x_{n-1} ^{(i)}) l(yn∣xn−1(i))已知,因此计算标准权值 w n ( i ) = w ^ n ( i ) ∑ j = 1 N w ^ n ( i ) w_{n}^{(i)}= \frac{\hat w_n^{(i)}}{\sum_{j=1} ^{N}{ \hat w_n^{(i)} }} wn(i)=∑j=1Nw^n(i)w^n(i) (3)重采样,一个含N个离散随机变量的集合{ I ( 1 ) , I ( 2 ) , . . . , I ( N ) I^{(1)},I^{(2),...,I^{(N)}} I(1),I(2),...,I(N)},在相关集合{ 1 , 2 , 3 , . . N 1,2,3,..N 1,2,3,..N}中依照以下概率取值: P ( I ( s ) = i ) = w n ( i ) P(I^{(s)}=i)=w_n ^{(i)} P(I(s)=i)=wn(i) 因此集合 x ^ n ( i ) = x n ( i ) \hat x_n ^{(i)} = x_n^{(i)} x^n(i)=xn(i) 并且 w n ( i ) = 1 N w_n ^{(i)} = \frac {1}{N} wn(i)=N1 (4)继续计算直到滤波完成。