onlbity `ial
Particle Filtering
Monte Carlo
zehiyl `ean• Particle Filtering
zehiyl `ean•
dxeva odilr zelgez aeyigle zeiebltzd beviil zehiy opid
Monte Carlo
zehiy.idylkzixhnxtdgtynl zekiiy zeiebltzdd ikgipdl ilan,xnelk,zixhnxt-`
zeinpi zekxrna.zebltzddz`edylkote`abviindmb nz`ivni"rdyrpxa d
z``evnl e` edylk onfazkxrnd avnzebltzd z` zr l miaxmixwna mivex
aeyig zexyt`n
Particle Filtering
zehiy .ely divwpet ly zlgez e` ezlgezDynamic
zehiye zebltzd beviilMonte Carlo
zehiy ly aeliy i"r zebltzdd.(zeitvzaeliye)onfaavndjexriy z`m wlzpnlr
Programming
oexztyimip`iqe`bzitvzejildziyrxmrzix`pilzinpi zkxrnxearikepi`x
zehiyd .(
DP
i"r) dliri dxeva eze` `venKalman Filter
de (ilnihte`) ihilp`zeix`pild zegpd xy`k (
Kalman Filter
dn k" a miaeh) miaexiw ze`ven o"ldl.zeni`znopi` zeip`iqe`bde
Monte Carlo
zehiyl `ean:ze`adzeiradmrz enzdl ze`a
Mone Carlo
zehiy.
p(x)
zebltzdjezn{x m } M m=1 i.i.d.
mb nz`ivn.1:
p(x)
zebltzdzgzdivwpetlyzlgez aeyig.2Φ = E p [f (x)] =
Z
f (x)p(x)dx
z` aygl ozipy ixd
i.i.d.
mb n epi ia yie dpey`xd dirad z` epxzte d inai"r2diraadievxdzlgezd
Φ = ˆ 1 d
X
r
f (x r )
`ed
Φ ˆ
lyvariance
de(dhen izla nerdfxnelk)E( ˆ Φ) = Φ
ikxexavar( ˆ Φ) = var(f )
d = 1 d
Z
(f (x) − Φ) 2 p(x)dx
.ze`nbe dztqed mrzlgezdly oekpdjxrdaiaqfkxznjexrydxnelk
, `nle b
N
m` mby jkx
lyN
nina ielz epi` jexryd ly zeqpkzdd avwziira,z`fznerl.dievxdzlgezdlyaehjexrylzewitqnze eazenib yokzi
.dfdxwnaxzeiadywljetdldlelr dnib dz`ivn
.
p(x)
n meb l xwiyokzioii ryxazqn.p(x)
z`x
lklaygl mir eiep` ikgippzexazqddz`zaygn,
grid
lagxndz`zwlgnxy`dhiyaynzypygipp,lynlmrelit`yixd
N = 1000
m`.zilepxazebltzdndiaewlkaznbe ediaewlkly.
p(x)
ly miaeyig2 1000
-l ww fpy ixd miixyt` mikxr ipy wx nin lka gwp.( nind zllwkmizirl dre iefdira)
Importance sampling
d zhiy.zixewndzebltzddn mb n`evnlilanzelgezdz`aygld repefdhiy
ep`y zxg` zebltzd
q(x)
idz .dpnn meb l mir ei eppi` j` dre ip(x)
ik gippmiyp .(
q(x) > 0
f`p(x) > 0
m` xnelk)supp(p) ⊆ supp(q)
edpnn meb l mir eiikal
E q
f (x) p(x) q(x)
= Z
f (x)q(x) p(x) q(x) dx =
Z
f (x)p(x)dx = E p [f (x)]
aeyige
q
n{x m } M m=1
mb nzxivii"rzlgezdlyixitni`aexiwayglxyt`okli"raexiwd
Φ ˆ p (f ) = 1 M
M
X
m=1
f (x m ) p(x m ) q(x m )
ely
variance
de(dhen `l ner)E p [ ˆ Φ] = Φ
ikze`xllwo`kmbvar( ˆ Φ) = 1
M E q
"
f (x) p(x) q(x)
2 #
−
E q
f (x) p(x) q(x)
2 !
= 1
M E q
"
f (x) p(x) q(x)
2 #
− (E p [f (x)]) 2
!
f (x) = 1
xearvar( ˆ Φ) = M 1 var p(x) q(x)
.oekpdjxrdaiaqxzei fkexnjexryd
p
l aexwq
ylkk,xnelkrval ozipdf dxwna mb .(re i `l
α
e)π(x) = αp(x)
wx mir ei ep`y gipp zrkonqp.
importance sampling w(x) = π(x)
q(x)
yalmiyp
E q [w(x)] =
Z π(x)
q(x) q(x)dx = Z
π(x)dx = α
okl
Φ = E p (f (x) = Z
f (x)p(x)dx
= Z
f (x)q(x) p(x) q(x) dx
= 1
α Z
f (x)q(x) π(x) q(x) dx
= E q [f (x)w(x)]
α
= E q [f (x)w(x)]
E q [w(x)]
aexiwdaeyige
q
n{x m } M m=1
mb nzxivii"rΦ
lixitni`aexiwlawllkepyo`kni"r
Φ = ˆ P M
m=1 f (x m )w(x m ) P M
m=1 w(x m )
f`
M = 1
migwelmrz`f ze`xllw.dhen nerdfE q ( ˆ Φ) = E q
f (x 1 )w(x 1 ) w(x 1 )
= E q [f (x 1 )] 6= E p [f (x 1 )]
.
Φ
l qpkzn`edM → ∞
xearj`dtixgn ef dirae
p
n dpeyq
y lkk ziziiral zktedImprtance sampling
d zhiyrejection
lynl)p
zebltzdd jezn meb l zeywrzn xy` zehiy yi .le bN
ykoia
tradeoff
miiwe dler dnib zxivi onf j` (Metropolis method
-de ,sampling
.ozeki`ezenib dxtqn
Particle Filtering
zehiyl `eanz`xwpoklre)zeiaewxnze`xyxyl
Monte Carlo
zehiylydagxddpidefdhiyavnd zebltzdy jkn raep
particle filtering
myd .(Sequential Monte Carlo
mbxy`(
particles
)miixyt`miavnzex qlylwyennmb ni"r(m ewink)zx`ezn.(
filtering
)dynamic programming
zxfra onfazen wznzinpi zkxrndpezp :diradzx bd
x k = f (x k−1 , ν k−1 ) y k = h(x k , µ k )
e` izlgzddavnd re i oke mire i(dn`zda)
i.i.d.
zitvze jildz iyrxν, µ
ykmipezp.xnelk.dk rzeitvzozpdaavndzebltzdz``evnlepipevxa.ezebltzd
p(x 0 ) , p(x k |x k−1 ) , p(y k |x k )
zitvzdejildzd iyrxezix`pil dppi`zkxrndy oeeik .
p(x k |y 1:k )
z``evnl yiezeiebltzdlyzixhnxtdgtynndidz
p(x k |y 1:k )
ydaiqlkoi`mip`iqe`bmpi`.(dl`kodzepzendzeiebltzddm`mb)dre i
itxbddpandnmiraepdmiwexitayeniyjez
p(x 0:k |y 1:k )
xeardbiqpzgqepgztp.(zeiaewxnd)
(zeiaewxne)
Bayes
llkitlr.p(x 0:k−1 |y 1:k−1 )
z`ep`vnikgippp(x 0:k |y 1:k ) = p(y k |x 0:k , y 1:k−1 )p(x 0:k |y 1:k−1 )
p(y k |y 1:k−1 )
= p(y k |x 0:k , y 1:k−1 )p(x k |x 0:k−1 , y 1:k−1 )p(x 0:k−1 |y 1:k−1 ) p(y k |y 1:k−1 )
= p(y k |x k )p(x k |x k−1 )p(x 0:k−1 |y 1:k−1 ) p(y k |y 1:k−1 )
∝ p(y k |x k )p(x k |x k−1 )p(x 0:k−1 |y 1:k−1 ) (1)
yjk
q
zebltzdxgapq(x 0:k |y 1:k ) = q(x k |x 0:k−1 , y 1:k )q(x 0:k−1 |y 1:k−1 ) (2)
xi bp
w i = p(x i 0:k |y 1:k ) q(x i 0:k |y 1:k )
lawpe
w i
lydx bda2e1ze`eeyn z`alyp˜
w i = p(y k |x i k )p(x i k |x i k−1 )p(x i 0:k−1 |y 1:k−1 ) q(x k |x 0:k−1 , y 1:k )q(x 0:k−1 |y 1:k−1 )
= p(y k |x i k )p(x i k |x i k−1 )
q(x k |x 0:k−1 , y 1:k ) w i k−1 (3)
mr giay
{x i 0:k } M i=1
miwiwlgepizeyxayik
d rvayeplaiw.w i = P w ˜
ij
w ˜
j xi bpeoexg`davndlrzebltzdd .zex qd lrzebltzddz`mibviinmdlyzelewynd
p(x k |y 1:k ) = lim
M→∞
M
X
i=1
w i k δ(x k − x i k )
f` iaewxn
p
m` .jexryd aiharixkn jxr yip
l aexwyq
zxigal ,xn`py itkdxiga ef
p(x k |x k−1 )
z` mir ei ep`y oeeik .q(x k |x k−1 , y k )
dxevdnq
`evnl i-ynly mevnvlawznefdxigaxear.(dpnnmeb lozipe d ina)
q
xearzixletet:l3d`ee
˜
w i = p(y k |x i k )w k−1 i
zelewyndoeeipziira
zepeepznzelewyndmi rvxtqnxg`l:d`addiraadwell"pddhiydlyyenin
dyrnl.0lx`yde1ls`ey(z eazlewynelit`ile`)zelewyndnohwwlgyjk
q
y lkk dtixgn dirad . rv lka l b zelewynd lyvariance
d ik gikedl ozipi"r llweynd mb nd jezn mb n zxivi i"r `id z`f repnl zg` jx .
p
n dpeyy g mb n zlawl ,(zexfgd mr) mb nd jezn (zelewynd t"r) zllweyn dnib
m`zdaminlrpwlge miltkeyn
particles
dnwlg,dyrnl)ze ig` zelewyn lraSequential Importance Resamplling
z`xwpefdhiy.(zelewynl:(y gn dnib dllek)x`ezymzixebl`do"ldl
Algorithm 1 Particle filter (SIR) [{x i k , w i k } M i=1 ] = P F ({x i k−1 , w i k−1 } M i=1 , y k )
• for i=1:M
– draw x i k ∼ q(x k |x i k−1 , y k ) – assign ˜ w i k = p(y q(x
k|x
ik)p(x
ik|x
ik−1)
k
|x
0:k−1,y
1:k) w k−1 i ,
• for each i, w i = P w ˜
ij
w ˜
j• optionally, [{¯ x i , w ¯ i } M i=1 ] = RESAM P LE({x i , w i } M i=1 )
Algorithm 2 Resample
[{¯ x i , w ¯ i } M i=1 ] = RESAM P LE({x i , w i } M i=1 )
• for each i in {0, . . . , M }, c i = P i j=1 w i
• for each i in {1, . . . , M }
– u i = unif orm random in [0, 1]
– x ¯ i = x j such that c j−1 ≤ u i < c j
– w ¯ i = M 1
:d`ad zkxrndxear
E(x k )
z`aygl epilr:`nbe ldirax k = x k−1
2 + 25x k−1
1 + x 2 k−1 + 8cos(1.2k) + ν k−1
y k = x 2 k 20 + µ k
ν ∼ N (0, 10) µ ∼ N (0, 1)
lydnbe oldl.
SIR
mzixebl`aynzypeN (x i k−1 , 10)
zeidlq(x i k |x i k−1 )
z`xi bp:mzixebl`dzvix
mipekpdmikxrd
0 10 20 30 40 50
−3
−2
−1 0 1 2 3
Measurement Noise
Time
0 10 20 30 40 50
−6
−4
−2 0 2 4 6 8
Process Noise
Time
0 10 20 30 40 50
−25
−20
−15
−10
−5 0 5 10 15 20
State x
Time
0 10 20 30 40 50
−5 0 5 10 15 20 25
Observation y
Time
0 5 10 15 20 25 30 35 40 45 50
−25
−20
−15
−10
−5 0 5 10 15 20
State x
Time
0 5 10 15 20 25 30 35 40 45 50
−20
−15
−10
−5 0 5 10 15 20 25 30
Output y
Time
0 5 10 15 20 25 30 35 40 45
−40
−30
−20
−10 0 10 20 30
Time
Sequential state estimate
−300 −20 −10 0 10 20 30
0.005 0.01 0.015 0.02 0.025 0.03
Likelihood function
Hidden state support Posterior mean estimate
True value
particles and their weights smoothed likelyhood posterior mean posterior max (MAP)
xzeiadaxezetitvyavndzxigalavndzlgezzxigaoiad`eeyde,dvixdmekiq
divwi xtk
0 5 10 15 20 25 30 35 40 45 50
−25
−20
−15
−10
−5 0 5 10 15 20
Time
State estimate
True value Posterior mean estimate MAP estimate
−25 −20 −15 −10 −5 0 5 10 15 20 25
−25
−20
−15
−10
−5 0 5 10 15 20 25
True state
Posterior mean estimate
−25 −20 −15 −10 −5 0 5 10 15 20 25
−25
−20
−15
−10
−5 0 5 10 15 20 25
True state
MAP estimate
−20
−10 0
10 20
0 10 20 30 40 50
0 100 200 300 400 500
Sample space Time
Posterior density