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

  • View
    355

  • Download
    2

Embed Size (px)

DESCRIPTION

les algorithmes exactes et approchés d'inférence dans les réseaux bayésiens dynamiques

Text of l'inf©rence dans les r©seaux bay©siens dynamiques

Linstitut Suprieur de Gestion, Tunis

Linfrence dans les Rseaux Baysiens Dynamiques Rouahi Aouatefrouahi.aouatef@hotmail.fr2010 - 20111

RBD-INFRENCE

2

RBD-INFRENCE-OBJECTIF

3

RBD-INFRENCE-FILTRAGE

Filtrer le bruit des observations; Garder une trace de ltat actuel pour une prise de dcisions rationnelles.

4

RBD-INFRENCE-PRDICTION

Evaluer leffet de certaines actions possibles sur ltat futur.

5

RBD-INFRENCE-LISSAGE

Obtenir la meilleur estimation dun tat pass.6

RBD-INFRENCE-EXPLICATION

7

RBD-INFRENCE

Infrence

EXACTE ONLINE

APPROCHEE OFFLINE

8

RBD-INFRENCE

EXACTE

Lalgorithme Forwards-Backwards (Baum et al. 1970) Lissage hors ligne pour un HMM;

9

RBD-INFRENCE-FB(1) Passage Avant:Algorithme Forwards_Pass () Input: HMM, Squence dobservations Output: Probabilits Forwards t (i) Dbut For 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) End10

RBD-INFRENCE-FB(2) Passage Arrire:Algorithme Backwards_Pass () Input: HMM, Squence dobservations Output: Probabilits Backwards t (i) Dbut For 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) End11

RBD-INFRENCE-FB(3) Complexit en O(TQ2N); Facile implmenter; Pratique tant que le nombre de n uds cachs est rduit; Variables discrtes.

12

RBD-INFRENCE

EXACTE

Lalgorithme Frontier (Zweig 1996)

L

F

R13

RBD-INFRENCE-FRONTIER(1)

hF : les n uds cachs dans F ; eF : les vidences dans F ; eL : les vidences dans L ; eR : les vidences dans R ;

14

RBD-INFRENCE-FRONTIER(2)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)?

Marginalisation du N

15

RBD-INFRENCE-FRONTIER(3)Passage Arrire: 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)?Multiplication par la CPT de N puis marginalisation

16

RBD-INFRENCE-FRONTIER-EXEMPLE

17

RBD-INFRENCE-FRONTIER(4)

Complexit en O(TNQN+2); Complexit exponentielle par rapport la taille de la frontire.

18

RBD-INFRENCE

EXACTE

Lalgorithme Unrolled Junction Tree

Drouler le RBD sut T tranches de temps; Construire pour chaque tranche larbre de jonction correspondant; Appliquer un algorithme dinfrence utilis pour les rseaux baysiens statiques.

19

RBD-INFRENCE-UJT-PRINCIPE Dfinir les n uds interface pour chaque tranche;Les n uds interface sont les n uds destination dun arc temporel et les parents de ces n uds.

Lensemble des n uds rsultant correspond un sparateur intertranches.

Construire larbre de jonction pour chaque tranche de temps;Jt :( It , It+1 , Nt ) Si t=T alors Jt = ( It , Nt )

20

RBD-INFRENCE-UJT-EXEMPLE(1) T = 3

21

t=1

t=2

t=3

RBD-INFRENCE-UJT-EXEMPLE(2)D1 I1 C1 I2 I2 D2 I2 C2 I3 I3 D3|C3 I3

N1

N2

N3

J1

J2

J3

Pour chaque arbre de jonction Le transfert inter-arbres

Lalgorithme de Jensen

22

RBD-INFRENCE-UJT

Les tailles des cliques larges; Construction des arbres de jonction est NPDifficile.

23

RBD-INFRENCE

EXACTE

Lalgorithme Interface(Murphy 2001) Optimisation de lalgorithme Frontier. Lalgorithme de filtrage et de lissage de Kalman( Minka 1998) Transformer un RBD linaire gaussien un modle de filtrage de Kalman; Effectuer un Kalman filtering ou un Kalman smoothing.

24

RBD-INFRENCE APPROCHELes algorithmes dterministesRBD discrets: Boyen-Koller (Boyen et Koller 1998); Factored Frontier (Murphy et Weiss 2001); Loopy Belief Propagation : une gnralisation de BK et FF; RBD linaire gaussien : Generalized Pseudo Bayesian; Interacting Multiple Models; RBD mixte : Viterbi Approximation; Expectation Propagation; Variational Methods; RBD non linaire / non gaussien Extended Kalman Filter25

RBD-INFRENCE APPROCHELes algorithmes stochastiquesMthodes Offline : Monte Carlo Markov Chain; Mthodes Online : Particle Filtering; Sequential Monte Carlo; Bootstrap Filter ;

26

RBD-INFRENCE APPROCHEComparatifStochastique Avantages Facile implmenter; Capable de traiter des modles arbitraires; Dterministe Rapide

Inconvnients

Plus lent

Adapt des classes restreintes de RBD

27

RBD-INFRENCE

RaoBlackWellised Particle Filtering(Murphy, 2002) Combinaison entre linfrence exacte et linfrence approche.

28

RBD-MANIPULATION BNTSoit le rseau baysien dynamique suivant:

X1

X2

Y1

Y2

29

RBD-Construction BNTintra = 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 temps inter = zeros(2);% le nbre de n uds lis pour 2 tranches conscutives t-1 et t inter(1,1) = 1; % le n ud 1 dans la tranche t-1 est reli au n ud 1 dans la tranche t %spcifications des paramtres (pour simplifier nous supposons que les n uds observs sont discrets.) H = 2; % la cardinalit des tats cachs O = 2; % la cardinalit des tats observs(vidences) ns = [H O]; %vecteur ligne enregistrant les cardinalits des n uds "binaires" dnodes = 1:2; %vecteur ligne enregistrant les n uds discrets dans chaque tranche t eclass1 = [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');

RBD-Infrence 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 temps T=2;% nbre de tranche de temps evidence = cell(ss,T); %on a 2 n uds par tranche ,2 tranche de temps % vidences pour les n uds observs evidence{1,1} = 1; evidence{1,2} = 1; [engine, ll] = enter_evidence(engine, evidence);

for i=1:2 %afficher les rsultants for t=1:2 marg = marginal_nodes(engine, i, t); bel_cdt = marg.T end end

Rfrences Murphy, Dynamic Bayesian Networks: Representation, inference and Learning. 2002; David Bellot. Fusion des donnes avec des rseaux baysiens pour la modlisation des systmes dynamiques et son application en tlmdecine. 2002;

Tomas Singliar and Denver H.Dash, Efficient inference in persistent Dynamic Bayesian Networks. G. Noizet and S. Guilmineau and Ph. Leray, http://bnt.insarouen.fr, . 2007;32