1 / 54

Fault Tollerance and Bayesian Networks

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 a.scotto@unicas.it. Fault Tolerance.

Download Presentation

Fault Tollerance and Bayesian Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fault Tolleranceand 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 a.scotto@unicas.it

  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 ) = ?? 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

  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ù eventiP(A,B) = P (A ^ B) • In generaleP(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 Ai=1 Ai=1, Bi=1 Ai=0, 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. x[N] x[N+1] x1 x2 Inferenza Classificare il prossimo evento consiste nel calcolo della probabilità di interesse dato un modello: fare inferenza dati osservatiQuery

  13. 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

  14. 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 - )

  15. 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

  16. 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> 0eαt>0 sono detti iperparametri della distribuzione Beta e rappresentano il grado di conoscenza a priori

  17. Esempi di distribuzioni Beta Nel coso di assoluta ignoranza αheαtrappresentano la condizione di equiprobabilità, una volta note αheαt ladistribuzione a posteriori diventa: α’h= αh+ heα’t= αt+ t quindi le osservazioni possono poi diventare la conoscenza attuale!!

  18. 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+αte N è il numero di osservazioni totali

  19. … 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

  20. 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

  21. 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}

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

  23. 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

  24. 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)

  25. 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

  26. 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

  27. 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

  28. Conditional Probability Tables

  29. 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 1 + 1 + 4 + 2 + 2 = 8 !!

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

  31. 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)

  32. 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)

  33. 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

  34. 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

  35. 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

  36. Esempi:

  37. Esempio di costruzione del grafo • Supponiamo di scegliere l’ordineM, J, A, B, E P(J | M) = P(J)?

  38. 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)?

  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)? No P(B | A, J, M) = P(B | A)? P(B | A, J, M) = P(B)?

  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)? 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)?

  41. 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

  42. 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 1 + 2 + 4 + 2 + 4 = 13 numeri • Abbiamo bisogno di metodo che ci guidi nella costruzione del grafo

  43. 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

  44. 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:

  45. 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

  46. 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

  47. 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

  48. Utilizzo Data +prior knowledge Induce Bayesian Network

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

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

More Related