1
Filtrage Particulaire
Conservatoire National des Arts et Métiers, laboratoire électronique et communications
292 rue saint martin, 75003 PARIS France-Télécom Recherche et Développement,
38 rue du Général Leclerc 92130 ISSY LES MOULINEAUX
Nicolas PAUL
Mars 2006
Plan de la présentation
Cnam
• Contexte: Contrat Recherche Externe France Télécom / CNAM
– application du filtrage particulaire dans les télécommunications – thèse Nicolas PAUL, sous la direction de Michel TERRE
•
Cadre du filtrage particulaire
–modèle – buts
– exemples d’application
– principe de l’estimation Bayesienne
•
Principe du filtrage particulaire
–qu’est-ce qu’une particule ? – l’algorithme « avec les mains »
• initialisation des particules
• propagation des supports des particules
• mise à jour des poids des particules
• dégénérescence et redistribution
• prédiction –résumé
3
Plan de la présentation (2)
Cnam
• Support Théorique
– méthode de Monte-Carlo et loi des grands nombres – l’échantillonnage d’importance
– génération récursive des trajectoires – mise à jour récursive des poids – seuil de redistribution
– algorithme – complexité
•
Exemples d’applications
– le cas linéaire et gaussien – le cas multimodal
Cadre du filtrage particulaire modèle
Cnam
État dynamique:
{ x
0... x
k... } {
y0...yk...}
Observations:
(
xk xk)
p +1/
(
yk xk)
p /
Modèle d’état (connu):
xkest une chaîne de Markov:
Connaissant l’état, les observations sont indépendantes les unes des autres:
Modèle d’observation (connu):
( )
x0p
Distribution initiale:
Distribution de transition:
Distribution de mesure:
(
xk xk xk x) (
p xk xk)
p +1/ , −1... 0 = +1/ p
(
yk /xk,yk−1...y0) (
= p yk /xk)
5
Cadre du filtrage particulaire
Cnam buts
observations disponibles à l’instant k
estimation de l’état à l’instant k estimation de l’état
à l’instant k-p
lissage
estimation de l’état à l’instant k+p p
x ˆ
k−x ˆ
kx ˆ
k+p{ y
1... y
k}
suivi prédiction
Cadre du filtrage particulaire résolution
Cnam
(
k k)
k
k
f x v
x
+1= , y
k= h
k( x
k, u
k)
Observation:
yk: observation à l’instant k hk: fonction d’observation (connue) uk: bruit de mesure (statistique connue)
reflète aussi l’incertitude sur le modèle
• fonctions linéaires ou linéarisables & bruits gaussiens
• Kalman (optimal) [Kalman 1960], Kalman étendu (linéarisation des fonctions) [Jaswinsky 1970]
• fonctions non linéaires et/ou bruits non-gaussiens
• Grid-based methods (~parcours de treillis sur l’espace des états) [Bucy 1971], trop complexes
• méthode de monte-carlo séquentielles - filtrage particulaire
Connaissance du système
Evolution de l’état:
xk: vecteur d’état à l’instant k fk: fonction d’evolution (connue) vk: bruit d’évolution (statistique connue)
reflète aussi l’incertitude sur le modèle
Résolution [Gordon 2002]
7
Cadre du filtrage particulaire exemple: suivi d’un mélange de gaussienne
Cnam
deux modes variant dans le temps observations
gaussiennes centrée sur un des modes
Buts = retrouver les deux modes à partir des observations
Cadre du filtrage particulaire applications [Bertozzi 2003]
Cnam
• suivi de cible, guidage de missiles [Hue 2002] [Musso 2000]
• finances [Gewecke 1989]
• vision par ordinateur [Isard 1996]
• robotique[Thrun 2000]
• diagnostic médical [Berzuini 1997]
• bio informatique [Haan 2001]
• communications numériques
• estimation conjointe donnée/canal [Djuric2003 Haykin2005 Bertozzi2004 BenSalem2002 Punskaya2004 Cheug2004 Brossier2004]
• poursuite de la qualité du canal de propagation [Paul Terre 2005 (soumis)]
• turbo estimation [le Ruyet Bertozzi Paul 2005]
9
Cadre du filtrage particulaire principe de l’estimation Bayesienne (1)
Cnam
Estimateur MMSE:
Estimateur MAP:
( )
∫
=
X
MMSE X p X Y dX
Xˆ .
( )
{
p X Y}
XˆMAP =argmax X: vecteur des paramètres à estimer
Y: observations disponibles
( X Y ) p ( Y X ) p ( X )
p ∝
Information a priori Vraisemblance
Densité de probabilité a posteriori
Rq: l’information a priori peut être très faible (exemple: « deux coordonnées successives de X sont proches »)
Cadre du filtrage particulaire principe de l’estimation Bayesienne (2)
Cnam
( )
∫
∫
−> −> −>>
− =
xk
k n
k k
x MMSE
k x p x y dx dx
xˆ0 , ... 0 0 1 0...
0
( )
{
k n}
MAP x
k p x y
x
k
>
−
>
−
>
−
>
−
= 0 1
, 0
0
max ˆ arg
État dynamique:
{ x
0... x
k... } {
y0...yn...}
Observations:
( x
ky
n)
p
0−> 1−>( ) ( )
(
n)
k k
n n
k p y
x p x y y p
x p
>
−
>
−
>
−
>
> −
−
>
− =
1
0 0
1 1
0
)
( => incalculable en général
• Estimateur MMSE
• Estimateur MAP
⇒Nécessité de connaître Bayes ?
11
Principe du filtrage particulaire
Cnam
• à un instant k la densité de probabilité a posteriori de l’état sachant les mesures est approchée par une approximation discrète aléatoire
• cette approximation discrète est décrite par un ensemble de N particules, réparties dans les zones d’intérêt de l’espace des états (limite la complexité de la recherche)
• le support d’une particule représente une trajectoire possible de l’état
• le poids d’une particule représente l’estimation de la densité a posteriori en cette trajectoire
Principe du filtrage particulaire qu’est-ce qu’une particule ?
Cnam
{
0( )}
) (
0i
, w
ix
support (vecteur)
poids indice de la particule {1,…,N}
instant k=0:
{ x
0(i−)>k, w
k(i)}
support = trajectoire testée (trajectoire de vecteur)
poids =crédibilité de la trajectoire testée indice de la particule {1,…,N}
instant k:
(
1( ) ( ))
) ( 0 )
(
0i k
x
i, x
i,...., x
kix
−>=
13
Principe du filtrage particulaire qu’est-ce qu’une particule ? (2)
Cnam
Qu’est-ce qu’un « dirac situé en une trajectoire » ???
( ) ( ) (
1 1( )) (
( ))
) ( 0 0 )
( 0
0 k
x
i kx x
ix x
i... x
kx
kix
−>−
−>= δ − δ − δ − δ
cette fonction de plusieurs variable x
0…x
k:
) ( )
( 1 1 ) ( 0
0 , ...
: si
vaut ∞ x = x i x = x i xk = xki sinon
0 vaut
( ) ... 1
...
0 0() 00
=
∫ ∫
−>−
−> kx x
i k
k
x dx dx
x
k
δ on a:
( )
0 1(
( ))
) ( 0
0
...
...
0 1
i k k k
x x
i k
k
x dx dx x x
x
k
−
=
−
−> −>
∫ ∫
−−
δ
δ
Principe du filtrage particulaire qu’est-ce qu’une particule ? (3)
Cnam
poids des particules = estimation de la densité a
posteriori en cette trajectoire
support des particules = trajectoires testées
( ) ∑ ( )
= −> −>
>
−
>
−
≈
N−
i
i k k
i k k
k
y w x x
x p
1
) ( 0 0
) ( 1
0
. δ
) k(i
w
) 4 (
0 k
x −> x0(5−)>k x0(6−)>k x0(3−)>k x0(1−)>kx0(7−)>k
15
Principe du filtrage particulaire modèles
Cnam
• Modèle d’état
• Modèle d’observation
( x
kx
k)
p
+1( y
kx
k)
p
( )
x0 N(
0,σ
0)
p =
16
Principe du filtrage particulaire initialisation des particules (k=0)
Cnam
k=0
) ( 0
x N ) 1 (
x0 ) 3 (
x
0x
( )
0) (
0 ~ p x
x i
w(i) 1N
0 =
supports:
poids :
0
( )
−
=
= 2
0 2
0 )
(
0 exp 2
2 1
σ σ π x x
x p i
) 2 (
x0
N w0(1) =1
N w0(N) =1
N w0(3) =1
N w0(2) =1
17
Principe du filtrage particulaire propagation des particules (k=1)
Cnam
k=0
) 1 (
x0 ) ( 0
x
Nx
) 2 (
x0
N w0(1) =1
N w0(N) =1
N w0(2) =1
x
k=1
(
1 0 0( ))
) (
1N ~ p x / x x N
x = w1(N) =?
(
1 0 0(2))
) 2 (
1 ~ p x /x x
x = w1(2) =?
(
1 0 0(1))
) 1 (
1 ~ p x / x x
x = w1(1) =?
…
18
Principe du filtrage particulaire mise à jour des poids (k=1)
Cnam
k=0
) 1 (
x0 ) ( 0
x
Nx
) 2 (
x0
N w0(1) =1
N w0(N) =1
N w0(2) =1
x
k=1
) 1 (
x1
(
1 1(1))
) 1 ( 0 ) 1 (
1 w .p y x
w =
) ( 1N
x
) 2 (
x1
(
1 1(2))
) 2 ( 0 ) 2 (
1 w .p y x
w =
(
1 1( ))
) ( 0 ) (
1N w N .p y x N
w =
19
Principe du filtrage particulaire normalisation des poids (k=1)
Cnam
∑
== N
i
wi
S
1 ) ( 1
• normalisation des poids
S w w
i
i ( )
) 1 ( 1 :=
1
1 ) (
1 =
⇒
∑
= N i
wi
20
Principe du filtrage particulaire estimation de la densité de probabilité a posteriori
Cnam
0 1 2 … k
(
k k k)
k
p x x y
w
(2)≈
0−>=
0(2−)> 1−>(
k)
N k k
N
k
p x x y
w
( )≈
0−>=
0(−>) 1−>(
k k k)
k
p x x y
w
(1)≈
0−>=
0(1−)> 1−>21
Principe du filtrage particulaire estimation de la densité de probabilité a posteriori (2)
Cnam
k
(
k k k)
k p x x y
w(2) ≈ 0−> = 0(−2)> 1−>
(
k)
N k k
N
k p x x y
w( ) ≈ 0−> = 0(−>) 1−>
(
k k k)
k p x x y
w(1) ≈ 0−> = 0(1−)> 1−>
…
( ) ∑ ( )
= −> −>
>
−
>
−
≈
N−
i
i k k
i k k
k
y w x x
x p
1
) ( 0 0
) ( 1
0
. δ
) k(i
w
) 1 (
0 k
x
−>x
0(N−>)k… x
0(2−)>kPrincipe du filtrage particulaire estimation de la trajectoire du vecteur d’état
Cnam
) (i
w
k) ( 0 i
x −>k
( ) ∑ ( )
= −> −>
>
−
>
−
≈
N−
i
i k k
i k k
k
y w x x
x p
1
) ( 0 0
) ( 1
0
. δ
( )
∑
∫
∫
= −>
>
−
>
−
>
−
>
−
>
−
≈
=>
=
N
i
i k i
k MMSE
k
x
k k k
k x
MMSE k
x w x
dx y
x p x x
k
1
) ( 0 ) ( ,
0
1 0
0 ,
0
ˆ ˆ ...
0
( )
{ }
{ }
( )) ( ) ( 0 ,
0
1 0
, 0
ˆ max
max ˆ arg
0
i i k j
k j
k MAP
k
k x k
MAP k
w w
x x
y x
p x
k
=
≈
=>
=
>
−
>
−
>
−
>
−
>
−
>
−
estimateur MMSE: estimateur MAP:
23
Principe du filtrage particulaire estimation de la densité marginal x
k/ y
0->kCnam
(
1) ... (
0 1)
0...
10 1
−
>
−
>
−
>
−
∫ ∫
−
=
kx x
k k
k
k
y p x y dx dx
x p
k
( ) ∑ ( )
=
>
−
≈
N−
i
i k k i
k k
k
y w x x
x p
1
) ( )
(
1
. δ
) k(i
w
) 1 (
x
kx
k(N)… x
k(2)( ) ∑ ( )
=
>
−
≈ −
⇒
Ni
i k k i
k k
k
y w x x
x p
1
) ( )
(
1
. δ
( ) ∑ ( )
= −> −>
>
−
>
− ≈ N −
i
i k k
i k k
k y w x x
x p
1
) ( 0 0
) ( 1
0 .
δ
Principe du filtrage particulaire estimation en ligne du vecteur d’état
Cnam
) (i
w
k) (i
xk
( ) ∑ ( )
=
>
−
≈
N−
i
i k k i
k k
k
y w x x
x p
1
) ( )
(
1
. δ
( )
∑
∫
=
>
−
≈
=>
=
N
i
i k i k MMSE
k x
k k k
k MMSE
k
x w x
dx y
x p x x
k
1
) ( ) ( ,
1 ,
ˆ
ˆ { ( ) }
{ }
()) ( ) ( ,
1 ,
ˆ max
max ˆ arg
i i k j
k j k MAP k
k x k
MAP k
w w
x x
y x p x
k
=
≈
=>
=
−>estimateur MMSE: estimateur MAP:
25
Principe du filtrage particulaire estimation de la densité marginal x
k-p/ y
1->kCnam
( ) ∑ ( )
=
>
−
≈
N−
i
i k k i
k k
k
y w x x
x p
1
) ( )
(
1
. δ
) k(i
w
) 1 (
x
kx
k(N)… x
k(2)( )
( )
∫ ∫ ∫ ∫
−
− − +
+
−
−
−
>
−
>
−
>
−
− =
0 1 1
...
...
...
... 0 1 0 1 1
1
x x
k p
k p k
x x
k k
k p
k
p
k k p k
dx dx
dx dx y
x p y
x p
( ) ∑ ( )
= − −
>
−
− ≈ −
⇒ N
i
i p k p k i k k
p
k y w x x
x p
1
) ( )
(
1 .δ
( ) ∑ ( )
= −> −>
>
−
>
− ≈ N −
i
i k k
i k k
k y w x x
x p
1
) ( 0 0
) ( 1
0 .
δ
Principe du filtrage particulaire estimation hors ligne du vecteur d’état (lissage)
Cnam
) (i
w
k) (i
p
xk−
( ) ∑ ( )
= − −
>
−
−
≈
N−
i
i p k p k i
k k
p
k
y w x x
x p
1
) ( )
(
1
. δ
( )
∑
∫
= −
−
−
>
−
−
−
−
≈
=>
=
−
N
i
i p k i k MMSE
p k
x
p k k p
k p k MMSE
p k
x w x
dx y
x p x x
p k
1
) ( ) ( ,
1 ,
ˆ
ˆ { ( ) }
{ }
( )) ( ) ( ,
1 ,
ˆ max
max ˆ arg
i i k j
p k j
p k MAP p k
k p
x k MAP
p k
w w
x x
y x
p x
p k
=
≈
=>
=
−
−
−
>
−
−
−
−
estimateur MMSE: estimateur MAP:
27
Principe du filtrage particulaire prédiction
Cnam
k k+1
( )
(2)(
0)
)2 (
1 f x N 0,σ
xk+ = k + wk(2+)1 =wk(2)
( )
( )(
0)
)(
1 f x N 0,σ
xkN+ = kN + wk(N+1) =wk(N)
( )
(1)(
0)
) 1 (
1 f x N 0,σ
xk+ = k + wk(1+)1 =wk(1)
x
28
Principe du filtrage particulaire dégénérescence
Cnam
k
poids faibles:
trajectoires peu intéressantes
poids forts:
trajectoires intéressantes 4
.
)
0
3
(
=
w
k35 .
)
0
6
(
=
w
k03 .
)
0
1
(
=
w
k05 .
)
0
7
(
=
w
k05 .
)
0
5
(
=
w
k07 .
)
0
2
(
=
w
k05 .
)
0
4
(
=
w
kpoids faibles:
trajectoires peu intéressantes
29
Principe du filtrage particulaire dégénérescence (2)
Cnam
( ) ∑ ( )
= −> −>
>
−
>
−
≈
N−
i
i k k
i k k
k
y w x x
x p
1
) ( 0 0
) ( 1
0
. δ
) k(i
w
) 4 (
0 k
x
−>x
0(5−)>kx
0(6−)>kx
0(3−)>kx
0(7−)>kx
0(1−)>kestimations peu intéressantes
estimations
peu intéressantes
30
Principe du filtrage particulaire redistribution
Cnam
k
poids faibles:
trajectoires peu intéressantes
poids forts:
trajectoires intéressantes
4.
) 0
3
( =
wk
35 .
) 0
6
( =
wk
03 .
) 0
1
( =
wk
05 .
) 0
7
( =
wk
05 .
) 0
5
( =
wk
07 .
) 0
2
( =
wk
05 .
) 0
4
( =
wk
poids faibles:
trajectoires peu intéressantes Support et poids des trajectoires avant redistribution:
w N
i ki 1
: () =
∀
poids des trajectoires après redistribution:
31
Principe du filtrage particulaire redistribution (2)
Cnam
• Exemple d’algorithme
) ( 0 )
( 1/ :éliminer siwki < N x i−>k
fois ] [N.
reproduire
: / 1
siwk(i) > N x0(i−)>k wk(i)
Principe du filtrage particulaire redistribution (3)
Cnam
) 1 (
w
kw
k(2)w
k(N)1
1 ) (
1 =
∑
= N iwi
ancien l
k nouveau
j k l
i i k l
i i
k z w x x
w 0( ), 0( ),
1 ) 1 (
1 )
( :
si −> −>
=
−
=
=
∑
< <∑
z
• Principe des algorithmes
• N tirages uniforme sur [0 1]: z~ U([0 1])
• Loi de probabilité des trajectoires après redistribution
(
x j nouveau x i ancien)
w i ancienp ( ), = ( ), = (),
33
Principe du filtrage particulaire résumé
{
ki}
i Ni
k
w
x
0(−)> −1,
(−)1 =1−>approximation discrète de
(
x0−>k−1 y1−>k−1)
p
(
xk xk−1) (
yk xk)
pp
Observations
{
ki}
i Ni
k w
x0(−)> , () =1−>
Approximation discrète de
Connaissance modèle d’observation
•Génération des supports
•Mise à jour des poids
•Redistribution éventuelle des particules
{ }
i N ixk() =1−>
estimation à l’instant k-1 estimation à l’instant k
) k(i
w
) (
1 0
i
x
−>k−) (
1 i
w
k−) ( 0 i
x−>k
) k(i
w
(
x k y k)
p 0−> 1−>
{
y1...yk}
Connaissance modèle d’évolution
Cnam
34
Support théorique loi des grands nombres et méthode de Monte-Carlo
( )
∑
=∆ −
= N
i
i
N x x
x N P
1
)
1 (
)
( δ
{ }
x(i) i=1−>N ~ p( )
x∞
→
N
p ( ) x
∑ ( )
= N i
x i
N 1 h
)
1 (
∞
→
N
E
p{ } h ( ) x
i i
w N
x
() () = 1
, : approximation discrète de p(x)
Cnam
• soit p(x) une densité de probabilité et h(x) une fonction quelconque
• la méthode de Monte Carlo permet d’estimer à partir d’un ensemble de variables aléatoires générées selon p(x):
{ } ( )
=∫
x
p h x h x p x dx
E ( ) ( )
• loi des grands nombres:
35
Support théorique loi des grands nombres et méthode de Monte-Carlo (2) exemple
Cnam
• estimation de la moyenne
{ }
=∫
x x
p x x p x dx
E ( ) . ( )
• estimation du moment d’ordre 2
(
h(x)=x)
{ } ∑
=
∧ = N
i
p xi
x N E
1 )
1 (
(
h(x)= x2) { }
=∫
x x
p x x p x dx
E ( ) 2 2. ( )
{ } ∑ ( )
=
∧ = N
i x i
p x
x N E
1 ) 2 ( ) 2
( 1