La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fault Tollerance and Bayesian Networks

Presentazioni simili


Presentazione sul tema: "Fault Tollerance and Bayesian Networks"— Transcript della presentazione:

1 Fault Tollerance and Bayesian Networks
Progetto Tramp Applicazione di tecniche di intelligenza artificiale per la realizzazione di sistemi fault tolerant Ing. Alessandra Scotto di Freca Ph.D. presso l’Università degli Studi di Cassino

2 Fault Tolerance Cosa vuol dire essere tolleranti ai guasti?
Prevedere i guasti prima che si verifichino e recuperarli Il problema della previsione di guasti Classificazione Apprendimento Costruzione di un modello!!

3 La Classificazione un problema di classificazione può essere:
Possiamo formularlo in termini probabilistici: L’oggetto X ha peso = 100 g e diametro = 10cm è una mela o una pera? P(oggetto = mela | peso = 100 g, diametro = 10cm ) = ?? P(oggetto = pera | peso = 100 g, diametro = 10cm ) = ?? Peso e grandezza (larghezza) P(oggetto = mela | peso = 100 g, diametro = 10cm ) = 0.7 P(oggetto = pera | peso = 100 g, diametro = 10cm ) = 0.3

4 Tecniche di Classificazione
Come posso calcolare la P(oggetto = mela | peso = 100 g, diametro = 10cm ) ??? Teorema di Bayes P(A | B) = P(B | A) P(A) P(B) P (A | B) A Posteriori di A dato B P (B | A ) verosimiglianza (likelihood) P (A) A priori di A P (B) A priori di B Esempio: potrebbero venire altre slides Bayes Decision Theory-> P(A|B)= P(B|A) P(A)/P(B) identifica le P in un problema di classificazione Optimal Rules Plug-in Rules Density Extimation Deciosion Boundary Construction Cluster Analysis

5 Classificazione in breve!

6 Introduzione alle reti Bayesiane
Elementi di Probabilità Interpretazione Bayesiana della probabilità Cosa è una Rete Bayesiana Come viene usata per classificare (inferenza) Costruzione di una Rete Bayesiana (apprendimento ottenuto dal mix di conoscenza a priori e dall’osservazione dei dati) Perché usare una Rete Bayesiana Scenari applicativi

7 Elementi di probabilità
Definizione di probabilità: Considerato un evento E la probabilità che esso si verifichi è il rapporto fra il numero F dei casi favorevoli (al verificarsi di E) e il numero N dei casi possibili, giudicati egualmente probabili. P(E) = F / N Poiché l’ipotesi di eventi egualmente probabili è difficile da osservare si preferisce la definizione frequentista: P(E) = limN->∞ F / N P(E) è un numero reale compreso tra 0 e 1 e la somma della probabilità dell’evento e dell’evento negato deve fare uno P(E)+P(!E)=1

8 Elementi di probabilità
Definizione di probabilità Media (o valore atteso di una variabile discreta X) E [ X ] = Σi xi P(xi) Varianza Var(X) = E [ ( X - E [ X ])2 ] = E[ X2 ] - E [ X ]2 Probabilità congiunta è la probabilità che si verifichino congiuntamente più eventi P(A,B) = P (A ^ B) In generale P(A,B) = P(A | B)P(B) = P(B | A) P(A) Nel caso in cui A e B siano indipendenti P(A,B) = P(A)* P(B) Probabilità condizionata È la probabilità dell’evento A condizionatamente a B: P(A | B) = P(A,B)/P(B) Teorema di Bayes P(A | B) = P(B | A) P(A) P(B)

9 Elementi di probabilità
Probabilità marginale È la probabilità di un unico evento, questa può essere ottenuta dalla congiunta sommando P(A)= Σi P(A,Bi) Bi Ai Ai=0, Bi=1 Ai=0 Ai=1 Ai=1, Bi=1 Ai=0, Bi=0 Ai=1, Bi=0

10 Interpretazione Probabilità Bayesiana
Probabilità classica: è una proprietà fisica del mondo “E’la vera probabilità!!” Probabilità Bayesiana: è il grado con il quale una persona crede che un evento X si verifichi. E’una probabilità personale!! Al contrario della probabilità classica calcolata con l’approccio frequentista, le probabilità bayesiane beneficiano del fatto che sono richieste un numero di prove inferiore. ESEMPIO: Calcolare la probabilità che il Napoli vinca la prossima partita? nella definizione classica è contenuto un vizio logico. Il fatto di supporre che tutti i casi siano egualmente possibili implica di avere definito in precedenza la probabilità nel momento stesso in cui la si definisce. P(“Napoli vinca”) = 1/3 ?? Nella definizione frequentista si potrebbe controllare l’almanacco e calcolate il limite N->inf Nella definizione bayesiana si vanno a cercare eventi che condizionano l’evento da prevedere. Da questi si acquisisce un grado di credenza(“belief”) tale da consentire la stima della probabilità Gioca in casa? In che condizioni sono i sui giocatori? P( “Napoli vinca”| conoscenza dei fattori condizionanti e dell’esperienza )

11 Probabilità Bayesiana
Problema della punessa: quando la lancio essa cadrà sulla testa o sulla punta?? Come faccio a stimare la probabilità che al prossimo lancio la punessa cada sulla testa avendo a disposizione N lanci precedenti? Grazie alla teoria Bayesiana: Definendo D = {X1 = h, X2 = h, X3 = t, ………, XN = t} dati osservati e  esperienza o conoscenza a priori del fenomeno Devo calcolare P(XN+1= heads | D,)

12 Inferenza  x1 x2 x[N] x[N+1]
Classificare il prossimo evento consiste nel calcolo della probabilità di interesse dato un modello: fare inferenza dati osservati Query x1 x2 x[N] x[N+1]

13 Problema: determina la P(testa)
Da N osservazioni vogliamo determinare la probabilità che al lancio N+1 la punessa cada sulla testa: Approccio Classico : Asserire alcune probabilità fisiche delle teste delle punesse (sconosciute) Stimare questa probabilità fisica da N osservazioni Usare questa stima come probabilità di avere testa al lancio N+1. Approccio Bayesiana Asserire alcune probabilità fisiche Codificare l’incertezza sulla probabilità fisica delle teste usando una probabilità bayesiana Usare le regole di probabilità per calcolare la probabilità richiesta

14 Probabilità Bayesiana
Definendo  corrispondente al possibile valore vero della probabilità fisica, a cui nella teoria bayesiana ci si riferisce come “parametro” di cui posso calcolare una A Priori p( |  ) ed un A Posteriori p( | D, ) P(XN+1=heads | D,) =  p( | D, ) d = E p( | D, ) () valore atteso di  rispetto alla distribuzione p( | D, ) Dal teorema di Bayes possiamo calcolare la probabilità a posteriori di  dato D (dati osservati) e  conoscenza a priori: p( | D, ) = p( |  ) p (D |  ,  ) dove p(D | ) = p(D | , ) p( | ) d  P(D | ) p( |  ) è la A Priori di  p (D |  ,  ) è la likelihood che nel problema della punessa in cui le osservazioni si D sono mutuamente indipendenti può essere considerata binomiale h (1-)t

15 Funzione di verosimiglianza
La bontà del parametro  viene misurata con la funzione di verosimiglianza: L (, D ) = P( D |  ) (una volta scelto  lo si testa vedendo quanto bene esso è capace di generare dati osservati) Quindi la funzione di verosimiglianza della sequenza H, T,H,T ,T può essere: L ( ,D ) =  . (1- ) .  . (1 - ) . (1 - ) Il valore di  corrisponde ai possibili valori della probabilità fisica

16 statistica sufficiente
Per calcolare la funzione di verosimiglianza nel problema della punessa sono richiesti solo h e t ossia il numero di volte che la punessa è caduta sulla testa e quello in cui è caduta sulla punta h e t sono chiamate statistiche sufficienti per una distribuzione binomiale Una statistica sufficiente riassume dai dati le informazioni rilevanti per la funzione di verosimiglianza

17 A Priori Possiamo descrivere l’incertezza su  usando la densità di probabilità: p(| ) Un approccio comunemente adottato per esprimerla usa la distribuzione Beta: Dove αh > 0 e αt >0 sono detti iperparametri della distribuzione Beta e rappresentano il grado di conoscenza a priori

18 Esempi di distribuzioni Beta
Nel coso di assoluta ignoranza αh e αt rappresentano la condizione di equiprobabilità, una volta note αh e αt la distribuzione a posteriori diventa: α’h = αh + h e α’t = αt + t quindi le osservazioni possono poi diventare la conoscenza attuale!!

19 In fine ….. Mediando sui possibili valori di  per determinare la probabilità che al lancio N+1 la punessa cada sulla testa: P(XN+1=heads | D,) =  p( | D, ) d Usando la distribuzione Beta tale valore atteso di  rispetto alla distribuzione di p(/D, ) diventa : Dove α = αh + αt e N è il numero di osservazioni totali

20 … più in generale L’esempio della punessa descrive un caso in cui la variabile aleatoria da considerare assume valori discreti In questo caso abbiamo assunto che la distribuzioni a priori fosse una Beta ma nel caso generale la P(XN+1=heads | D,) =  p( | D, ) d Può essere calcolata efficientemente e in forma chiusa ipotizzando distribuzioni multinomiali, normali, Gamma, Poisson e normali multivariate che includono anche il caso in cui X assume valori continui e quello in cui invece di una signola X ho un vettore di variabili aleatorie. Se ad esempio la modelliamo con una gaussiana il parametro da stimare sarà ={media, varianza} Nel caso in cui X è un vettore di variabili aleatorie la P(X) può essere studiata tramite una rete bayesiana andando a considerare anche le dipendenze tra variabili

21 Problema di Classificazione
Come usiamo le informazioni viste fin ora per costruire un classificatore? Bisogna capire a quale è l’evidenza dalla quale vogliamo trarre informazioni allo scopo di classificare ! Possiamo usare più informazioni contemporaneamente per ottenete risultati di classificazione migliori

22 Esempio La storia: Paolo ha un nuovo allarme anti-scasso sulla sua autovettura che funziona molto bene nel prevenire i furti, ma alcune volte risponde positivamente a piccole scosse di terremoto. Due vicini di casa di Paolo, Mary e John, hanno promesso di avvisarlo nel caso scattasse l’allarme mentre lui si trova al lavoro. John chiama sempre quando scatta l’allarme, ma a volte si confonde con il suono del telefono e avverte Paolo lo stesso. Mary ama ascoltare la musica a tutto volume e qualche volta non sente l’allarme e non avverte Paolo. Problema: Stimare la probabilità che ci sia uno scassinatore sulla base di chi ha o no telefonato ( classificare un furto! ) Variabili: Scassinatore(B), Terremoto(E), Allarme(A), Chiamata di John (J), Chiamata di Mary (M) Conoscenza richiesta per risolvere il problema: P(B, E, A, J, M) (distribuzione congiunta di probabilità) Tale conoscenza viene usata per formalizzare il problema di classificazione come: P(B| E, A, J, M) apprendendo la congiunta precedente dai dati osservati D ossia dalle istanze degli stati del vettore di v.a. {B, E, A, J, M}

23 Nota la distribuzione congiunta
Ho 25 valori che abbiamo assunto essre noti ma come faccia in genere per apprenderli ?

24 Costruzione del modello
Il dominio del problema è modellato attraverso una lista di variabili X1, …, Xn La conoscenza del dominio del problema è rappresentata dalla sua distribuzione di probabilità congiunta P(X1, …, Xn) E la P(X1, …, Xn) può essere descritta e calcolata con varie tecniche tra cui le reti Bayeiane

25 Cosa è una rete Bayesiana?
Un modello grafico che descrive efficientemente le probabilità congiunte di un insieme di variabili Nell’esempio precedente un BN consente di descrivere il comportamento delle v.a. {B, E, A, J, M} e calcolare efficientemente la P(B, E, A, J, M)

26 Come? Per mezzo di un Directed Acyclic Graph (DAG)
i cui nodi rappresentano variabili aleatorie e gli archi le dipendenze tra esse: La mancanza di un arco denota l’indipendenza condizionata tra le variabili. P(J | A,B,E,M) = P(J | A) Una rete Bayesiana è definita per mezzo di: Una struttura di rete S che codifica le indipendenze condizionali tra le variabili X Un insieme di distribuzioni locali di probabilità P Una rete Bayesiana è uno strumento per descrivere il comportamento statistico di insieme di variabili X = { X1,….. XN} ed è definita per mezzo di:

27 Causalità Per rappresentare graficamente le relazioni di dipendenza condizionata, bisogna costruire un grafo diretto Se ad esempio tracciamo un arco che va da Xj a Xi tale operazione identifica in modo univoco il set pa(Xi) di “parents” o “genitori” del nodo Xi che in questo caso semplice contiene solo Xj

28 Distribuzioni condizionate
Ad ogni nodo è associata una la distribuzione condizionata, rappresentata da una Conditional Probability Table (CPT) P(Xi | pa(Xi)) per ogni nodo Xi

29 Conditional Probability Tables

30 Vantaggio della BN (1) In generale i casi per i queli bisogna calcolare la probabilità sono 25 in realta 31 perché il 32esimo è ottenuto per (1- tutti gli altri casi) Nel caso si usi una rete bayesiana essi sono = 8 !!

31 Fattorizzazione della Congiunta
è sempre possibile scrivere la probabilità congiunta tramite la “chain-rule”: Grazie all’assunzione di indipendenza condizionata tra le variabili nel DAG

32 Probabilità congiunta:
Grazie alla formulazione fatta, il dominio consente di identificare un sottoinsieme pa(Xi) (genitori di Xi) di {X1, …, Xi –1} tale che: Dato pa(Xi), Xi è indipendente da tutte le variabili in {X1, …, Xi -1} tranne pa{Xi}, cioè: P(Xi| X1, …, Xi –1) = P(Xi| pa(Xi)) la distribuzione congiunta totale è definita come prodotto di termini locali: P (X1, … ,Xn) = πi = 1 P (Xi | pa ( Xi ) ) P( j , m , a , b ,e)= P (j | a) P (m | a) P (a | b, e) P (b) P (e)

33 Inferenza - classificazione
Qual è la probabilità che ci sia uno scassinatore dato che Mary ha telefonato P(B = y | M = y)? Si calcolala probabilità marginale: P(B , M) = ΣE,A,J P(B, E, A, J, M) P(M) = ΣB P(B, M) Si usa infine la definizione di probabilità condizionata P(B = y | M = y)= P(B = y , M = y)* P(M = y) Classifico che lo scassinatore è in casa se P(B = y | M = y) > P(B = n | M = y)

34 Vantaggio della BN (2) Se non assumessimo che alcune variabili sono condizionatamente indipendenti tra loro avremmo una complessità maggiore sia nella costruzione del modello che nel fare inferenza Nell’esempio: Sono richiesti 31 valori di probabilità (25-1) Calcolare P(B = y | M = y) richiede un gran numero di addizioni (29) In generale P(X1, …, Xn) richiede almeno 2n–1 valori per specificare la probabilità congiunta Inferenza e spazio di memorizzazione esponenziali

35 Come costruiamo una BN Sono necessari due tipi di apprendimento uno della struttura e l’altro delle probabilità condizionate Entrambi possono essere acquisiti dai dati con opportuni algoritmi di apprendimento È possibile costruire la struttura conoscendo un problema ed andando a collegare le variabili in modo opportuno dando al collegamento il significato di causa->effetto come nel caso I giudizi di indipendenza condizionale e/o causa ed effetto possono influenzare la formulazione di problema le valutazioni di probabilità possono condurre ai cambiamenti nella struttura della rete I passi sono spesso amalgamati nella prativa

36 Esempio di costruzione di un grafo
Nel caso volessimo apprendere la struttura solo dai dati: Scegliere un insieme di variabili che descrivono il dominio dell’applicazione Scegliere un ordine per le variabili Partire dalla rete vuota ed aggiungere le variabili alla rete una per una in accordo all’ordine prescelto Aggiungere l’i-sima variabile Xi e determinare pa(Xi) delle variabili già nella rete (X1, …, Xi –1) tale che: P(Xi| X1, …, Xi –1) = P(Xi| pa(Xi)) Tracciare un arco da ognuna delle variabili in pa(Xi) a Xi

37 Esempi:

38 Esempio di costruzione del grafo
Supponiamo di scegliere l’ordine M, J, A, B, E P(J | M) = P(J)?

39 Esempio di costruzione del grafo
Supponiamo di scegliere l’ordine M, J, A, B, E P(J | M) = P(J)? No P(A | J, M) = P(A | J)? P(A | J, M) = P(A)?

40 Esempio: di costruzione del grafo:
Supponiamo di scegliere l’ordine M, J, A, B, E P(J | M) = P(J)?No P(A | J, M) = P(A | J)? P(A | J, M) = P(A)? No P(B | A, J, M) = P(B | A)? P(B | A, J, M) = P(B)?

41 Esempio: di costruzione del grafo:
Supponiamo di scegliere l’ordine M, J, A, B, E P(J | M) = P(J)? No P(A | J, M) = P(A | J)? P(A | J, M) = P(A)? No P(B | A, J, M) = P(B | A)? Yes P(B | A, J, M) = P(B)? No P(E | B, A ,J, M) = P(E | A)? P(E | B, A, J, M) = P(E | A, B)?

42 Example Supponiamo di scegliere l’ordine M, J, A, B, E
P(J | M) = P(J)? No P(A | J, M) = P(A | J)? P(A | J, M) = P(A)? No P(B | A, J, M) = P(B | A)? Yes P(B | A, J, M) = P(B)? No P(E | B, A ,J, M) = P(E | A)? No P(E | B, A, J, M) = P(E | A, B)? Yes

43 Esempio: di costruzione del grafo
Decidere l’indipendenza condizionale è difficile e la causalità può essere appresa in modo totalmente inconsistente con quanto ci viene dall’esperienza! La rete diventa lievemente più complessa: abbiamo bisogno di = 13 numeri Abbiamo bisogno di metodo che ci guidi nella costruzione del grafo

44 Apprendimento Il precedente metodo per costruire una BN risente di alcune controindicazioni. In particolare, la scelta dell’ordine delle variabili è un task delicato. Scegliere un ordine sbagliato può portare la BN a degenerare verso un grafo completamente connesso (caso peggiore) Quali sono i requisiti per valutare la bontà di un grafo? ad esempio la likelihood: Esistono metodi di apprendimento che massimizzano la funzione di score: che dipende dalle statistiche di Xi e dei sui parents In una rete causale lo score totale può essere scomposto in somma di termini locali! Permettendo un algoritmo di ricerca locale

45 Come usare una BN per classificare?
Per usare una BN come un classificatore, occorre calcolare: dove y rappresenta la variabile classe e x è l’istanza da classificare. Usando la distribuzione di probabilità P(U) rappresentata dalla BN, possiamo scrivere che:

46 Perché usare un una rete bayesiana?
sono una struttura teorica molto utilizzata nell’ambito dell’apprendimento, della classificazione, della rappresentazione della conoscenza combinano conoscenza a priori e dati Imparano relazioni causali -> fattorizzo la probabilità congiunta I metodi Bayesiani sono importanti perché capaci di gestire data sets incompleti e rumorosi

47 Benefici di apprendere strutture
Apprendimento efficiente: modelli più accurati con meno dati Scoperta di proprietà strutturali del dominio (grazie al comportamento di A posso prevedere la P(B|A) anche avendoa disposizione un ridotto numero di dati provenienti dal solo B) Aiuta ad ordinare eventi che avvengono sequenzialmente nella analisi dell’inferenza Predizione di effetti di azioni

48 Limitazioni di una rete Bayesiana
Richiedono tipicamente una conoscenza iniziale di molte probabilità … e la qualità e grado della conoscenza a priori giocano un ruolo importante Gli algoritmi di apprendimento strutturale hanno un costo computazionale significativo Non ci si occupa di Probabilita imprevista di un evento

49 Utilizzo Data +prior knowledge Induce Bayesian Network

50 Scenario 1 Q P(Q | X1 ,…,XN) Addestramento (lab) esercizio Ref.
Computed QoE codec UDP IP Data link fisico PLR BN jitter BER P(Q | X1 ,…,XN)

51 Scenario 2 (Gap Filler) P(X5 | X1, X2 ,X3 , X4 )
Addestramento (in situ) esercizio X3 X4 X2 X1 X5 ?? P(X5 | X1, X2 ,X3 , X4 )

52 Classificazione tramite rete bayesiana
Studio reti Bayesiane Strumento potente calcolo veloce probabilità conguinte (dipendenze tra variabili aleatorie) Realizzazione di un classificatore Contesto applicativo (Predittore Guasti Meccanici) Evento a massima probabilità a posteriori dati gli osservabili Cause scatenati del guasto (osservabili direttamente connessi col guasto) Applicazioni Database di dati simulati Database di rilevazioni dal parco macchine (carrelli movimentatori) del porto di Genova Training supervisionato Descrivo come ho costruito i database in ingresso Risultati…

53 Implementations in real life :
DLR/ESA knowledge information mining Microsoft products(Microsoft Office) Medical applications and Biostatistics (BUGS) In NASA Autoclass projectfor data analysis Collaborative filtering (Microsoft – MSBN) Fraud Detection (ATT) Speech recognition (UC , Berkeley ) Predizione incidentalità stradale Carrelli movimentatori porto di Genova

54 quali sono le possibili cause?
Fault Tolerance Nello specifico se il nostro scopo è prevedere i guasti in sistemi meccanici che si trovano a bordo di camion che trasportano merci pericolose: Bisogna costruire un sistema affidabile Bisogna considerare che un guasto può provocare un nuovo guasto al motore Dallo studio di uno specifico guasto potremmo trovare relazioni tra le cause: Esempio: ho fuso il motore! quali sono le possibili cause?

55 Da cosa può dipendere la fusione di un motore?
Fault Tolerance Esercitazione in lab Da cosa può dipendere la fusione di un motore? temperatura dell’acqua alta poco olio nel motore .. A B C …. Realizzare una rete Bayesiana con il software Netica


Scaricare ppt "Fault Tollerance and Bayesian Networks"

Presentazioni simili


Annunci Google