Christian La Rocca Informatica Industriale A.A. 2001/2002.

Post on 01-May-2015

215 views 0 download

Transcript of Christian La Rocca Informatica Industriale A.A. 2001/2002.

Bayesian NetworkBayesian Network

Uno strumento per trattare l’incertezzaUno strumento per trattare l’incertezza

Christian La Rocca

Informatica Industriale

A.A. 2001/2002

2

Problemi delle Reti Neurali

• Necessità di una grossa mole di esempi per addestrare la rete.

• Apprendimento “statico”.

• “….they won’t help predict the unforeseen”.

3

L’essenza dell’approccio Bayesiano

Probabilità classica

Proprietà fisica del mondo reale ( ad es. la probabilità che lanciando una moneta esca testa ) .

Probabilità Bayesiana

Proprietà della persona che assegna la probabilità ( la % di teste e croci che secondo me usciranno).

4

L’essenza dell’approccio Bayesiano

Che pb hanno i Chicago Bulls di vincere la prossima NBA?

5

L’essenza dell’approccio Bayesiano

Critiche

Le pb sono arbitrarie

Perché le credenze devono soddisfare le regole del calcolo delle probabilità ?

Con che precisione possono essere misurate le probabilità?

6

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.

7

Es.di BBN

Famiglia uscita

Si sente un latrato

Il cane èfuori

Problemi intestinali

Luce accesa

8

Es.di BBN

Cloudy

SprinklerRain

Wet grass

9

Es.di BBN

Train Strike

Norman lateMartin late

Norman late

True False

True 0,8 O,1

False 0,2 0,9

True False

True 0,6 O,5

False 0,4 0,5

Train strike Train strike

Train strikeTrue 0,1False 0,9M

arti

n la

te

Nor

man

late

10

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.

11

Analisi di una BBN

Una volta inserite le probabilità possiamo utilizzare la rete ad es. per:

1. Calcolare la probabilità incondizionata che un evento accada.

2. Rivedere le probabilità assegnata alla luce di ciò che è successo.

12

Train Strike

Norman lateMartin late

Train strikeTrue 0,1False 0,9

Es.di BBN

Norman late

True False

True 0,8 O,1

False 0,2 0,9

True False

True 0,6 O,5

False 0,4 0,5

Train strike Train strikeM

arti

n la

te

Nor

man

late

13

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:

47,0)(

)()()(

Normanlatep

eTrainstrikpeTrainstrikNormanlatepNormanlateeTrainstrikp

Train strikeTrue 0,1True 0,1False 0,9

14

Analisi di una BBN

La probabilità (rivista ) che Martin arrivi in ritardo:

55,0)()()()( ikeNotrainstrMartinlatepeTrainstrikpeTrainstrikMartinlatepMartinlatep

Quando si inseriscono delle EVIDENZE e si usano per aggiornare le probabilità si parla di PROPAGATION.

15

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.

16

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.

17

Evidenze e propagazioneConnessione seriale

GuastoTreno

in ritardoNorman in ritardo

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.

18

Evidenze e propagazioneConnessione divergente

Train strike

Martin late Norman lateA

CB

Ogni evidenza su A è trasmessa sia ad B che a C. Supponiamo di non avere hard evidence su ASapere 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

19

Martin oversleep

Martin late

Train delays

BC

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 propagazioneConnessione convergente

20

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:

1. La connessione è seriale o divergente e lo stato di A è definito.

2. La connessione è convergente e né A né nessuno dei suoi nodi discendenti hanno ricevuto alcuna evidenza.

Evidenze e propagazioneNozione di d-separated

21

“Explaining away” evidence

Martin oversleeps Martin

late

Train srike

A B

C

Normanlate

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.

22

“Explaining away” evidence

Brainy

college

Sporty

A

C

B

23

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.

24

BBN per calcoli statisticiSecondo 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.

P(hb|do) = .7

P(hb | ¬ do) = .01

Famiglia uscita(fo)

Si sente un Latrato (hb)

Il cane èFuori (do)

Problemi intestinali (bp)

Luce accesa (lo)

P(do | fo bp) = .99

P(do | fo ¬ bp) = .90

P(do | ¬ fo , bp) = .97

P(do | ¬ fo bp) = .3P(lo | fo) = .6

P(lo | ¬ fo) = .05

P(fo) = .15 P(bp) = .01

25

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.

26

Probabilità consistentiProblema 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

Rete Bayesiana•Le probabilità sono consistenti.•La rete definisce univocamente una distribuzione.

27

Apprendimento

Per descrivere completamente una BBN è necessario definire:

TOPOLOGIA del grafo (struttura)

I parametri di ogni CPD ( distribuzione di probabilità congiunta).

28

Metodi per trattare dati incompleti

NP-Hard Metodi Monte Carlo

Approssimazione Gaussiana

Approssimazione MAP e ML e algoritmo EM

29

Apprendimento. Possiamo trovarci di fronte quattro situazioni diverse:

1. Struttura nota, osservabilità completa.

2. Struttura nota, osservabilità parziale.

3. Struttura non nota, osservabilità completa.

4. Struttura non nota, osservabilità parziale.

30

Struttura nota ,osservabilità completa

Obiettivo apprendimento

Ricavare i valori dei parametri di ogni CPD che massimizzano la verosimiglianza del set di apprendimento.

31

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

32

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.

33

Struttura nota ,osservabilità parziale

Ipotesi sui parametri

Numero di volte che l’evento accade

Sommatoria attesa

Massimizzazione deiparametri.

34

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.

35

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

36

Struttura non nota e osservabilità parziale

Tecnica classica NP-Hard

Uso approcci statistici:

MODEL SELECTIONMODEL SELECTION

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 SELECTION MODEL AVERAGINGAVERAGING

Studi hanno dimostrato come questi due metodi applicati alle reti bayesiane forniscono dei modelli molto accurati

37

Esempio di rete complessa

38

Microsoft’s Office Assistant

b

Quando l’utente chiama l’assistant vengonousati i metodi Bayesiani per analizzare le azioni recenti e quindi cercare di anticipare le richieste dello stesso.

39

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

40

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.

41

VISTADisplay of information for Time-Critical Decision Making

42

VISTADisplay of information for Time-Critical Decision Making

43

Help desk Richo’sRete 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

44

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

45

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

46

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Slice2

State1

T act1

Slice1

State0

S Act2

Slice0

State2

Util2

TACN (Tutor Action Cycle Network)

Ogni TACN è usata per un singolo ciclo, dove per singolo ciclo si intende :1. Decidere l’azione.2. Eseguirla.3. Osservare la reazione dello studente .4. Aggiornare lo stato dello stesso nella rete.

47

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.

APPLICAZIONI

Calculus Problem-Solving

Project LISTEN’s Reading Tutor

L’RTDT è un prototipo che supporta i bambini durante l’apprendimento della lettura

Il CDTD è un prototipo sviluppato per

l’apprendimento della matematica e

in particolare del funzionamento

dei tassi.

48

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

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

49

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

Rappresenta quello che ilTutor pensa sia il livello

di conoscenza del dominioda parte dello studente.

50

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

Rappresenta il livello diattenzione dello studente nel

task attuale

51

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

Rappresenta lo stato d’animo dello studente

52

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2Rappresenta la coerenza di ciò che è accaduto con la

struttura del task

53

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

Rappresenta la coerenza delle azioni del tutor con le reazioniprecedenti dello studente

54

A Decision-Theoretic Approach for Selecting Tutorial Discourse Actions

Knowledge1

Focus1

Affect1

Task Progress1

Discourse State1

StudentModel1

Knowledge2

Focus2

Affect2

Task Progress2

Discourse State2

StudentModel2

Knowledge0

Focus0

Affect0

Task Progress0

Discourse State0

StudentModel0

Tutor Action1 Student action2

Utility2

Consiste in un insieme di nodirappresentanti le preferenze del tutor per quanto riguarda i risultati finali del task

55

Bibliografia

http://www.cs.berkeley.edu/~murphyk/Bayes/bayes.html

http://yoda.cis.temple.edu:8080/UGAIWWW/lectures/bnets.html

http://web.tiscali.it/enricopapalini/LDBND/BL.html

www.research.microsoft.com