550 likes | 668 Views
Bayesian Network Uno strumento per trattare l’incertezza. Christian La Rocca Informatica Industriale A.A. 2001/2002. Problemi delle Reti Neurali. Necessità di una grossa mole di esempi per addestrare la rete. Apprendimento “statico”. “….they won’t help predict the unforeseen”.
E N D
Bayesian NetworkUno strumento per trattare l’incertezza Christian La Rocca Informatica Industriale A.A. 2001/2002
Problemi delle Reti Neurali • Necessità di una grossa mole di esempi per addestrare la rete. • Apprendimento “statico”. • “….they won’t help predict the unforeseen”.
L’essenza dell’approccio Bayesiano Proprietà fisica del mondo reale ( ad es. la probabilità che lanciando una moneta esca testa ) . Probabilità classica Proprietà della persona che assegna la probabilità ( la % di teste e croci che secondo me usciranno). Probabilità Bayesiana
L’essenza dell’approccio Bayesiano Che pb hanno i Chicago Bulls di vincere la prossima NBA?
L’essenza dell’approccio Bayesiano Critiche Perché le credenze devono soddisfare le regole del calcolo delle probabilità ? Le pb sono arbitrarie Con che precisione possono essere misurate le probabilità?
Definizione di una BBN(Bayesian Belief Network) BBN=Grafo aciclico + CPT(CPD). Nodi= Variabili (discrete o continue) Archi= Relazioni causali fra le variabili. Attraverso essa è possibile modellare e ragionare su ciò che è incerto.
Es.di BBN Problemi intestinali Famiglia uscita Il cane è fuori Luce accesa Si sente un latrato
Es.di BBN Cloudy Rain Sprinkler Wet grass
Es.di BBN Train Strike Martin late Norman late Train strike Train strike Martin late Train strike True 0,1 False 0,9 Norman late
Perché usare una BBN Se usata insieme a tecniche statistiche da molti vantaggi per l’analisi dei dati: Il modello codifica le dipendenze fra le variabili. Può essere usata per imparare relazioni causali fra le variabili. Siccome il modello ha una semantica sia probabilistica che causale può essere usato per combinare efficacemente conoscenza di esperti (prior knowledge) e dati. I metodi statistici Bayesiani insieme alle reti Bayesiane offrono un approccio efficiente per evitare l’overfitting.
Analisi di una BBN Una volta inserite le probabilità possiamo utilizzare la rete ad es. per: • Calcolare la probabilità incondizionata che un evento accada. • Rivedere le probabilità assegnata alla luce di ciò che è successo.
Es.di BBN Train Strike Martin late Norman late Train strike Train strike Train strike True 0,1 False 0,9 Martin late Norman late
Analisi di una BBN Supponiamo di sapere che Norman è arrivato in ritardo e vogliamo conoscere : 1. La probabilità (rivista) che vi sia uno sciopero dei treni: Train strike True 0,1 False 0,9
Analisi di una BBN La probabilità (rivista ) che Martin arrivi in ritardo: Quando si inseriscono delle EVIDENZE e si usano per aggiornare le probabilità si parla di PROPAGATION.
Evidenze e propagazione Possiamo avere due tipi di evidenza: • Hard evidence (instantiation) per un nodo X è il fatto che X abbia un valore definito. Ad es. supponiamo che X rappresenti il risultato di una partita . Un es. di Hard evidence è il fatto che la partita è vinta. In questo caso diciamo che X è instanziato al valore “Vittoria”. • Soft evidence per un nodo X è ogni evidenza che ci permette di aggiornare la probabilità a priori della variabile X.Se sappiamo che stiamo vincendo 5-0 alla fine del primo tempo allora la probabilità di vincere la partita aumenterà a differenza di quelle di pareggiare e perdere che diminuiranno.
Evidenze e propagazione Il modo con cui le informazioni si propagano dipende dal tipo di connessione. Abbiamo tre tipi di connessioni in una BBN: • Connessione seriale. • Connessione divergente. • Connessione convergente.
Evidenze e propagazione Connessione seriale Treno in ritardo Norman in ritardo Guasto A B C Nella connessione seriale l’evidenza può essere trasmessa da A a C se B non è instanziato. A e C sono d-separated dato B.
Evidenze e propagazione Connessione divergente Train strike Martin late Norman late A B C Ogni evidenza su A è trasmessa sia ad B che a C. Supponiamo di non avere hard evidence su A Sapere qualcosa su B incrementa le nostre conoscenze su A e di conseguenza anche su C. Se invece abbiamo hard evidence su A allora nessuna evidenza su B può cambiare le nostre conoscenze su C, infatti il valore di C è influenzato solo dalla certezza su A. Diciamo quindi che B e C sono CONDIZIONALMENTE DIPENDENDENTI ( DATO A). L’evidenza può essere trasmessa da B a C attraverso una connessione divergente A a meno che A non sia instanziata. B e C sono d-separated dato A
Evidenze e propagazione Connessione convergente C Martin oversleep B Train delays Martin late A Evidenza su B e C è trasmessa ad A .Se non sappiamo niente su A allora C e B sono indipendenti e quindi nessuna evidenza è trasmissibile da B e C. Se invece so qualcosa ( soft evidence) su A allora i suoi genitori diventano dipendenti. Supponiamo di non vedere il cappotto di Martin appeso all’appendiabiti in ufficio alle 9:00; ciò potrebbe essere un indizio (soft evidence ) che è in ritardo, e ciò fa aumentare le probabilità che vi sia un ritardo del treno o che non si sia svegliato in orario.. Diciamo quindi che B e C sono condizionalmente dipendenti ( su A). Quindi in una connessione convergente l’evidenza può essere trasmessa fra i genitori B e C quando il nodo convergente ha ricevuto qualche evidenza ( che può essere hard o soft).
Evidenze e propagazione Nozione di d-separated Due nodi X e Y in una BBN sono d-separated per tutti i percorsi da X a Y , se esiste un nodo intermedio A per il quale: • La connessione è seriale o divergente e lo stato di A è definito. • La connessione è convergente e né A né nessuno dei suoi nodi discendenti hanno ricevuto alcuna evidenza.
“Explaining away” evidence B A Train srike Martin oversleeps C Martin late Norman late Se so che Martin è in ritardo allora aumentano le probabilità di accadimento dei nodi A e B Il fatto che però è in ritardo anche Norman fa aumentare di molto le probabilità che ci sia uno sciopero dei treni. Si dice che il ritardo di Norman “spiega” quello di Martin.
“Explaining away” evidence B A Sporty Brainy C college
BBN per calcoli statistici Una BBN rende esplicite le dipendenze fra le diverse variabili .In generale ci sono poche dipendenze dirette (modellate da archi fra i nodi della rete) e ciò sta a significare che molte delle variabili sono fra loro condizionalmente indipendenti. L’esistenza di nodi non connessi nella rete (indipendenza condizionale ) riduce drasticamente i calcoli necessari ad avere tutte le probabilità . In generale tutte le probabilità possono essere calcolate a partire dalla distribuzione di probabilità congiunta e quest’ultima è molto più facile da calcolare quando ci sono nodi condizionalmente indipendenti.
BBN per calcoli statistici Secondo la teoria del calcolo delle probabilità se si hanno n variabili casuali binarie è necessario specificare 2 n -1 probabilità congiunte , quindi nel seguente esempio ne servirebbero 31 e non le 10 da noi specificate. Famiglia uscita(fo) Problemi intestinali (bp) P(fo) = .15 P(bp) = .01 P(do | fo bp) = .99 Luce accesa (lo) Il cane è Fuori (do) P(do | fo ¬ bp) = .90 P(do |¬ fo , bp) = .97 P(do |¬ fo bp) = .3 P(lo | fo) = .6 Si sente un Latrato (hb) P(lo |¬ fo) = .05 P(hb|do) = .7 P(hb | ¬ do) = .01
Tipi di ragionamento permessi da una BBN Quando utilizziamo una BBN siamo interessati a fare delle previsioni su quantità incerte in seguito ad alcune evidenze..I principali modi di ragionare sono : • CAUSAL: effetti determinati da cause. • STATISTICAL: probabilità di eventi determinata dalla popolazione dei possibili eventi ad es. la probabilità di un guasto determinata dal numero di pezzi e dal numero di guasti osservati. • STRUCTURAL: fenomeni determinati dalla struttura da cui dipendono o dagli oggetti/eventi da cui dipendono. Ad es. guasto nel modulo X determinato da un errore introdotto dal modulo Y.
Probabilità consistenti Problema schema probabilistico Probabilità incosistenti P(a|b)=0,7 e P(b|a)=0,3 e P(b)=0,5. Th.Bayes P(a)>1 • Le probabilità sono consistenti. • La rete definisce univocamente una • distribuzione. Rete Bayesiana
Apprendimento Per descrivere completamente una BBN è necessario definire: TOPOLOGIA del grafo (struttura) I parametri di ogni CPD ( distribuzione di probabilità congiunta).
Metodi per trattare dati incompleti Metodi Monte Carlo NP-Hard Approssimazione Gaussiana Approssimazione MAP e ML e algoritmo EM
Apprendimento • . Possiamo trovarci di fronte quattro situazioni diverse: • Struttura nota, osservabilità completa. • Struttura nota, osservabilità parziale. • Struttura non nota, osservabilità completa. • Struttura non nota, osservabilità parziale.
Struttura nota ,osservabilità completa Ricavare i valori dei parametri di ogni CPD che massimizzano la verosimiglianza del set di apprendimento. Obiettivo apprendimento
Struttura nota ,osservabilità completa Il logaritmo normalizzato della verosimiglianza del set di apprendimento è : Notiamo come i singoli termini sono sommati uno ad uno (infatti si suppone siano indipendenti), è quindi possibile massimizzare il singolo contributo alla verosimiglianza per ottenere il massimo globale. In casi semplici per ricavare le probabilità basta contare il numero di volte che un evento accade (ad es. con l’irrigatore)..
Struttura nota, osservabilità parziale. Alcuni nodi sono non noti (non osservati) Uso l’algoritmo EM per ricavare un ottimo locale del Maximum Likelihood Extimate dei parametri Nel passo E uso degli algoritmi di inferenza per ricavare i valori attesi di tutti i nodi e poi nel passo M uso questi valori come se fossero osservati.
Struttura nota ,osservabilità parziale Ipotesi sui parametri Numero di volte che l’evento accade Sommatoria attesa Massimizzazione dei parametri.
Struttura non nota , osservabilità completa Esempio di procedura di apprendimento: Passo1: Generazione di una rete random, detta gold network , avente il numero dei nodi e il massimo numero di stati per nodo prefissati e con una specifica probabilità per l’inserimento di archi fra i nodi. Passo2: Campionamento della gold network in modo da ottenere un database di esempi D con un numero di campioni prestabiliti. Passo3:Perturbazione della gold network per ottenere una start network da cui cominciare la ricerca. Il metodo della perturbazione utilizza una certa probabilità per modificare gli archi esistenti ed un’altra per aggiungere nuovi archi, con il vincolo di mantenere il grafo aciclico.
Struttura non nota , osservabilità completa . Passo4: Apprendimento strutturale , a partire da D e dalla start network , utilizzando l’algoritmo di ricerca esposto nel caso precedente. Passo5:Apprendimento delle tabelle di probabilità associate a ciascun nodo tramite una procedura che implementa l’equazione : ove Nijk è il numero delle volte che nel database D si ha Xi=xik e Pai=paij , mentre Parametri della distribuzione Modello della struttura
Struttura non nota e osservabilità parziale Tecnica classica NP-Hard Uso approcci statistici: MODEL SELECTION Studi hanno dimostrato come questi due metodi applicati alle reti bayesiane forniscono dei modelli molto accurati Seleziona un buon modello (fa delle ipostesi sulla struttura)fra i possibili e lo utilizza come se fosse il modello corretto Seleziona un numero utilizzabile di modelli e considera l’insieme come “tutti i modelli” SELECTION MODEL AVERAGING
Microsoft’s Office Assistant Quando l’utente chiama l’assistant vengono usati i metodi Bayesiani per analizzare le azioni recenti e quindi cercare di anticipare le richieste dello stesso. b
Priorities Si tratta di un filtro per e-mail che è attualmente in sviluppo in Microsoft dal team del Dott. Eric Horvitz. Per iniziare il filtro valuta se nella mail ci sono parole che indicano urgenza (come ad es. ASAP..), domande dirette , il tempo delle frasi etc. Verifica inoltre se il nome del mittente e nella mia rubrica ,se il messaggio è stato mandato a più utenti
VISTADisplay of information for Time-Critical Decision Making Questo sistema è stato sviluppato da Horvitz ( Microsoft) e Matthew Barry (NASA) . Quando si devono prendere delle decisioni importanti che però dipendono da molti parametri è importante che il decisore visualizzi solo le informazioni significative.Il Vista system è costituito da una rete bayesiana che in base allo stato del sistema di propulsione decide quali sono i dati da visualizzare sullo schermo e in che modo .Grazie a Vista si è riusciti a ridurre drasticamente il tempo di risposta in caso di decisioni critiche aumentando però l’efficienza delle stesse.
VISTADisplay of information for Time-Critical Decision Making
VISTADisplay of information for Time-Critical Decision Making
Help desk Richo’s Rete all’help desk Richo’s che permette di rispondere al doppio delle domande. In questo caso , in base al profilo utente, alle sue ultime azioni e alle sue richieste si forniscono all’operatore tutte le informazioni ( ed eventualmente la risposta corretta) necessarie a soddisfarne i bisogni
Pathfinder Si tratta di una rete Bayesiana progettata da Heckermann nel 1990 per fare le diagnosi di malattie ai linfonodi.Quando una persona ha dei disturbi ai linfonodi , ne viene prelevata una quantità e viene analizzata al microscopio da uno specialista il quale arriva ad una diagnosi valutando anche una serie di esami che il paziente avrà fatto. Pathfinder è utilizzato per decidere quale deve essere il prossimo esame da eseguire per arrivare d una diagnosi corretta . All’interno del modello di Pathfinder sono presenti 60 disturbi e 130 caratteristiche da osservare per fare la diagnosi.
A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions DT-Tutor è un motore di selezione delle azioni. Studi hanno dimostrato che per far apprendere meglio uno studente è necessario conoscere il suo stato d’animo e , in base a ciò decidere che tipo di azione svolgere (ad es. se lo studente si sta annoiando posso accelerare il ritmo o magari fargli vedere un filmato). Però lo stato dello studente non è certo ed è per questo che si utilizza una rete Bayesiana . Nella rete di DT-Tutor i nodi rappresentano le credenze del Tutor sullo stato dello studente. Notiamo come in questo caso si utilizzi una Dynamic Belief Network , e cioè una rete che ogni volta che cambiano i valori degli attributi crea una nuova porzione di rete: è una rete che si evolve nel tempo. In questo caso più che di Dynamic Belief Network è più corretto parlare di Dynamic Decision Network in quanto sono presenti anche nodi di decisione e nodi di utilità.
A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions Slice0 Slice2 Slice1 Util2 S Act2 T act1 State0 State1 State2 TACN (Tutor Action Cycle Network) • Ogni TACN è usata per un singolo ciclo, dove per singolo ciclo si intende : • Decidere l’azione. • Eseguirla. • Osservare la reazione dello studente . • Aggiornare lo stato dello stesso nella rete.
Il CDTD è un prototipo sviluppato per l’apprendimento della matematica e in particolare del funzionamento dei tassi. A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions Grazie alla rete è possibile prevedere lo stato dello studente e quindi impostare una sequenza di azioni senza dover attendere la reazione dello studente. Calculus Problem-Solving L’RTDT è un prototipo che supporta i bambini durante l’apprendimento della lettura APPLICAZIONI Project LISTEN’s Reading Tutor
A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions Student Model0 Student Model1 Student Model2 Knowledge0 Knowledge1 Knowledge2 Focus0 Focus1 Focus2 Per il CTDT consiste in due nodi di decisione uno per decidere l’argomento e uno per decidere il tipo di azione. Nel RTDT è un nodo singolo per la scelta del topic Affect0 Affect1 Affect2 Utility2 Task Progress0 Task Progress1 Task Progress2 Discourse State0 Discourse State1 Discourse State2 Tutor Action1 Student action2
A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions Rappresenta quello che il Tutor pensa sia il livello di conoscenza del dominio da parte dello studente. Student Model0 Student Model1 Student Model2 Knowledge0 Knowledge1 Knowledge2 Focus0 Focus1 Focus2 Affect0 Affect1 Affect2 Utility2 Task Progress0 Task Progress1 Task Progress2 Discourse State0 Discourse State1 Discourse State2 Tutor Action1 Student action2
A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions Student Model0 Student Model1 Student Model2 Rappresenta il livello di attenzione dello studente nel task attuale Knowledge0 Knowledge1 Knowledge2 Focus0 Focus1 Focus2 Affect0 Affect1 Affect2 Utility2 Task Progress0 Task Progress1 Task Progress2 Discourse State0 Discourse State1 Discourse State2 Tutor Action1 Student action2