Top Banner
L’inférence dans les Réseaux Bayésiens Dynamiques Rouahi Aouatef [email protected] 2010 - 2011 1 L’institut Supérieur de Gestion, Tunis
32

l'inférence dans les réseaux bayésiens dynamiques

Jun 26, 2015

Download

Documents

aouatef2010

les algorithmes exactes et approchés d'inférence dans les réseaux bayésiens dynamiques
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: l'inférence dans les réseaux bayésiens dynamiques

1

L’inférence dans les Réseaux Bayésiens

Dynamiques

Rouahi [email protected]

2010 - 2011

L’institut Supérieur de Gestion, Tunis

Page 2: l'inférence dans les réseaux bayésiens dynamiques

2

RBD-INFÉRENCE

Page 3: l'inférence dans les réseaux bayésiens dynamiques

3

RBD-INFÉRENCE-OBJECTIF

Page 4: l'inférence dans les réseaux bayésiens dynamiques

4

RBD-INFÉRENCE-FILTRAGE

Filtrer le bruit des observations;

Garder une trace de l’état actuel pour une prise de décisions rationnelles.

Page 5: l'inférence dans les réseaux bayésiens dynamiques

5

RBD-INFÉRENCE-PRÉDICTION

Evaluer l’effet de certaines actions possibles sur l’état futur.

Page 6: l'inférence dans les réseaux bayésiens dynamiques

6

RBD-INFÉRENCE-LISSAGE

Obtenir la meilleur estimation d’un état passé.

Page 7: l'inférence dans les réseaux bayésiens dynamiques

7

RBD-INFÉRENCE-EXPLICATION

Page 8: l'inférence dans les réseaux bayésiens dynamiques

8

OFFLINEONLINE APPROCHEEEXACTE

RBD-INFÉRENCE

Inférence

Page 9: l'inférence dans les réseaux bayésiens dynamiques

9

RBD-INFÉRENCE EXACTE

Lissage hors ligne pour un HMM;

L’algorithme Forwards-Backwards (Baum et al. 1970) 

Page 10: l'inférence dans les réseaux bayésiens dynamiques

10

RBD-INFÉRENCE-FB(1)

Passage Avant:Algorithme Forwards_Pass ()Input: HMM, Séquence d’observations Output: Probabilités Forwards αt (i)

DébutFor i=1 to N do // Cas de base Calculer α1 (i) = P (X1=i|y1) 

End For t’=2 to t do For i=1 to N do Calculer αt’ (i) = P (Xt’=i|y1:t’) 

End End Return all αt (i)

End

Page 11: l'inférence dans les réseaux bayésiens dynamiques

11

Passage Arrière:Algorithme Backwards_Pass ()Input: HMM, Séquence d’observations Output: Probabilités Backwards βt (i)

DébutFor i=1 to N do // Cas de base βT (i) = 1

End For t’=T-1 down to t+1 do For i=1 to N do Calculer βt’ (i) = P (yt’:T|Xt’-1=i)

End End Return all βt (i)

End

RBD-INFÉRENCE-FB(2)

Page 12: l'inférence dans les réseaux bayésiens dynamiques

12

Complexité en O(TQ2N);

Facile à implémenter;

Pratique tant que le nombre de nœuds cachés est réduit;

Variables discrètes.

RBD-INFÉRENCE-FB(3)

Page 13: l'inférence dans les réseaux bayésiens dynamiques

13

RBD-INFÉRENCE EXACTEL’algorithme Frontier

(Zweig 1996)  

F RL

Page 14: l'inférence dans les réseaux bayésiens dynamiques

14

RBD-INFÉRENCE-FRONTIER(1)

hF : les nœuds cachés dans F ;

eF : les évidences dans F ;

eL : les évidences dans L ;

eR : les évidences dans R ;

Page 15: l'inférence dans les réseaux bayésiens dynamiques

15

Passage Avant: Ajouter un nœud N de R à F si tous ses parents sont dans la F :

P(F)= P(hF, eF ,eL, N) = P(hF, eF ,eL) * P(N | hF, eF) ?

Supprimer un nœud N de F à L si tous ses enfants sont dans F:

L := L U{N} ; F := F \ {N} :P (F) = P (hF-N, eF-N ,eL+N)?

RBD-INFÉRENCE-FRONTIER(2)

Marginalisation du N

Page 16: l'inférence dans les réseaux bayésiens dynamiques

16

RBD-INFÉRENCE-FRONTIER(3)

Multiplication par la CPT de N puis marginalisation

Passage Arrière: Ajouter un nœud N de L à F :

P(F)= P(hF, eF ,eR, N)= P(hF, eF ,eR) 

Supprimer un nœud N de F à R :

R := R U {N} ; F := F \ {N} P (F) = P (hF-N, eF-N ,eR+N)?

Page 17: l'inférence dans les réseaux bayésiens dynamiques

17

RBD-INFÉRENCE-FRONTIER-EXEMPLE

Page 18: l'inférence dans les réseaux bayésiens dynamiques

18

RBD-INFÉRENCE-FRONTIER(4)

Complexité en O(TNQN+2);

Complexité exponentielle par rapport à la taille de la frontière.

Page 19: l'inférence dans les réseaux bayésiens dynamiques

19

RBD-INFÉRENCE EXACTE

Dérouler le RBD sut T tranches de temps;

Construire pour chaque tranche l’arbre de jonction correspondant;

Appliquer un algorithme d’inférence utilisé pour les réseaux bayésiens statiques.

L’algorithme Unrolled Junction Tree

Page 20: l'inférence dans les réseaux bayésiens dynamiques

20

RBD-INFÉRENCE-UJT-PRINCIPE

Définir les nœuds interface pour chaque tranche;

L’ensemble des nœuds résultant correspond à un séparateur inter-tranches.

Construire l’arbre de jonction pour chaque tranche de temps;

Les nœuds interface sont les nœuds destination d’un arc temporel et les parents de ces nœuds.

Jt :( It , It+1 , Nt )Si t=T alors Jt = ( It , Nt )

Page 21: l'inférence dans les réseaux bayésiens dynamiques

RBD-INFÉRENCE-UJT-EXEMPLE(1)

21

t = 1

T = 3

t = 3t = 2

Page 22: l'inférence dans les réseaux bayésiens dynamiques

22

I2I1

Pour chaque arbre de jonction

Le transfert inter-arbres

N1

I3I2

N2

I3

N3

I2 I3

C1D1 D2 C2 D3|C3

J1 J2 J3

L’algorithme de Jensen

RBD-INFÉRENCE-UJT-EXEMPLE(2)

Page 23: l'inférence dans les réseaux bayésiens dynamiques

23

Les tailles des cliques larges;

Construction des arbres de jonction est NP-Difficile.

RBD-INFÉRENCE-UJT

Page 24: l'inférence dans les réseaux bayésiens dynamiques

24

RBD-INFÉRENCE EXACTE

L’algorithme Interface(Murphy 2001)Optimisation de l’algorithme Frontier.

L’algorithme de filtrage et de lissage de Kalman( Minka 1998)

Transformer un RBD linéaire gaussien à un modèle de filtrage de Kalman;

Effectuer un Kalman filtering ou un Kalman smoothing.

Page 25: l'inférence dans les réseaux bayésiens dynamiques

25

RBD-INFÉRENCE APPROCHÉE

RBD discrets:Boyen-Koller (Boyen et Koller 1998);Factored Frontier (Murphy et Weiss 2001);Loopy Belief Propagation : une généralisation de BK et FF;

RBD linéaire gaussien :Generalized Pseudo Bayesian; Interacting Multiple Models;

RBD mixte :Viterbi Approximation;Expectation Propagation;Variational Methods;

RBD non linéaire / non gaussienExtended Kalman Filter

Les algorithmes déterministes

Page 26: l'inférence dans les réseaux bayésiens dynamiques

26

RBD-INFÉRENCE APPROCHÉE

Méthodes Offline :Monte Carlo Markov Chain;

Méthodes Online :Particle Filtering;Sequential Monte Carlo;Bootstrap Filter ;

Les algorithmes stochastiques

Page 27: l'inférence dans les réseaux bayésiens dynamiques

27

RBD-INFÉRENCE APPROCHÉE

Stochastique Déterministe

Avantages Facile à implémenter;

Capable de traiter des modèles arbitraires;

Rapide

Inconvénients

Plus lent Adapté à des classes restreintes de RBD

Comparatif

Page 28: l'inférence dans les réseaux bayésiens dynamiques

28

RBD-INFÉRENCE

RaoBlackWellised Particle Filtering(Murphy, 2002)

Combinaison entre l’inférence exacte et l’inférence approchée.

Page 29: l'inférence dans les réseaux bayésiens dynamiques

29

RBD-MANIPULATION BNT

X1

Y1

X2

Y2

Soit le réseau bayésien dynamique suivant:

Page 30: l'inférence dans les réseaux bayésiens dynamiques

RBD-Construction BNT

intra = zeros(2);% nbre de nœuds par tranche de temps "time-slice"intra(1,2) = 1; % le nœud 1 est relié au nœud 2 dans chaque tranche t la structure est

invariante au cours du tempsinter = zeros(2);% le nbre de nœuds liés pour 2 tranches consécutives t-1 et tinter(1,1) = 1; % le nœud 1 dans la tranche t-1 est relié au nœud 1 dans la tranche t %spécifications des paramètres (pour simplifier nous supposons que les nœuds observés sont

discrets.)H = 2; % la cardinalité des états cachésO = 2; % la cardinalité des états observés(évidences) ns = [H O]; %vecteur ligne enregistrant les cardinalités des nœuds "binaires"dnodes = 1:2; %vecteur ligne enregistrant les nœuds discrets dans chaque tranche teclass1 = [1 2]; eclass2 = [3 2]; eclass = [eclass1 eclass2]; bnet = mk_dbn(intra, inter, ns, 'discrete', dnodes, 'eclass1', eclass1, 'eclass2', eclass2);

bnet.CPD{1} = tabular_CPD(bnet, 1, [0.5 0.5 ]); % P(X1)bnet.CPD{2} = tabular_CPD(bnet, 2, [0.7 0.4 0.3 0.6]); %P(Y1|X1)= P(Y2|X2)bnet.CPD{3} = tabular_CPD(bnet, 3, [0.5 0.7 0.5 0.3]);% P(X2|X1)

names = {'X1','Y1','X2','Y2'};carre_rond = [1 1 1 1];draw_graph(bnet.dag,names,carre_rond);title('Reseau Bayesien Dynamique');

Page 31: l'inférence dans les réseaux bayésiens dynamiques

RBD-Inférence BNT

engine = smoother_engine(hmm_2TBN_inf_engine(bnet));%smoothing offline= forwards-backwards algorithm

ss=2;% slice-size: le nbre de nœuds par tranche de tempsT=2;% nbre de tranche de tempsevidence = cell(ss,T); %on a 2 nœuds par tranche ,2 tranche de temps % évidences pour les nœuds observésevidence{1,1} = 1; evidence{1,2} = 1;[engine, ll] = enter_evidence(engine, evidence); for i=1:2 %afficher les résultants for t=1:2 marg = marginal_nodes(engine, i, t); bel_cdt = marg.T endend

Page 32: l'inférence dans les réseaux bayésiens dynamiques

32

Murphy, Dynamic Bayesian Networks: Representation, inference and Learning. 2002;

David Bellot. Fusion des données avec des réseaux baysiens pour la modélisation des systèmes dynamiques et son application en télémédecine. 2002;

Tomas Singliar and Denver H.Dash, Efficient inference in persistent Dynamic Bayesian Networks.

G. Noizet and S. Guilmineau and Ph. Leray, http://bnt.insa-rouen.fr, . 2007;

Références