8
Reti
bayesiane
introduzione
Vittorio Maniezzo – Università di Bologna
1
Ringraziamenti
Questi lucidi derivano anche da adattamenti personali di
materiale prodotto (fornitomi o reso scaricabile) da:
wikipedia, P. Smyth, D. HeckerMann.
Vittorio Maniezzo – Università di Bologna
2
Introduzione
Una rete bayesiana (Bayesian Network, BN) è un modello
grafico che serve a rappresentare una relazione non
deterministica fra un insieme di variabili.
Aiutano nella gestione di:
• insiemi di dati incompleti (mancano alcuni attributi per
qualche dato)
• apprendimento di reti causali
• combinazione di dati e conoscenze di dominio
E’ un formalismo probabilistico.
Vittorio Maniezzo - Università di Bologna
3
Spazio di campionamento
Probabilità,
ripasso
Lo spazio di campionamento Ω è l’universo dei risultati
elementari, ω∈Ω, di un esperimento. Spesso nelle
presentazioni introduttive i risultati elementari sono
equiprobabili (dadi, monete, carte, roulette, urne, ...) e pochi.
Un evento a è un insieme di risultati.
Vittorio Maniezzo – Università di Bologna
Misure di probabilità
Probabilità,
ripasso
Ogni evento (insieme di risultati) è associato ad una
probabilità tramite una funzione detta misura di
probabilità che gode di tre fondamentali proprietà:
1. La probabilità di ogni evento è compresa fra 0 e 1.
2. La probabilità dell’universo Ω è 1 ( p(Ω)=1).
3. Se a e b sono due eventi (insiemi di risultati) con
nessun elemento in comune, la probabilità della loro
unione è la somma delle loro probabilità
(p(a∪b)=p(a)+p(b) ).
Inoltre, la probabilità che un evento non accada è il
complemento a quella che accada ( p(∼a) = 1-p(a) )
Vittorio Maniezzo – Università di Bologna
Probabilità congiunta
Probabilità,
ripasso
La probabilità che un evento a si verifichi è la sua
probabilità marginale, p(a). Es., pesco un asso o estraggo
una pallina tonda.
La probabilità congiunta di due eventi a e b è la probabilità
che si verifichino contemporaneamente, p(a,b). Es., pesco
l’asso di coppe o estraggo una pallina quadrata (?) rossa.
Vittorio Maniezzo – Università di Bologna
6
Probabilità condizionata
Probabilità,
ripasso
La probabilità dell’evento a condizionata da b (probabilità
di a dato b, p(a|b)) è la probabilità che si verifichi a
sapendo che si verifica b.
p(a) è la probabilità a priori (prior probability), p(a|b) la
prob. a posteriori (posterior probability).
Sapendo che b è vero, l’universo di interesse si riduce a b
(ho estratto una pallina tonda, con che prob. è rossa?).
a
a∩b
Vittorio Maniezzo – Università di Bologna
b
=
( ∩ )
( )
=
( ∩ )
( )
Variabili casuali
Probabilità,
ripasso
Anche dette variabili stocastiche o variabili aleatorie.
Non sono variabili. Sono funzioni.
• Dominio:
lo spazio di campionamento,
• Codominio: numeri reali.
Permettono di tradurre gli eventi, qualsiasi siano, in numeri.
Vittorio Maniezzo – Università di Bologna
Distribuzione di probabilità
Probabilità,
ripasso
Un insieme di numeri con somma 1 è una distribuzione.
Una distribuzione di probabilità F è una funzione
matematica che, per ogni valore della variabile, fornisce la
probabilità che venga osservato quel valore.
Es. per un dado, F(1) = F(2) = F(3) = F(4) = F(5) = F(6) = 1/6.
Nel caso di variabili aleatorie continue la distribuzione di
probabilità diventa una funzione densità di probabilità, il cui
integrale vale 1.
Vittorio Maniezzo – Università di Bologna
Probabilità
Probabilità,
ripasso
Approccio oggettivista (o frequentista): considera la
probabilità come un’entità misurabile, legata alla frequenza
di accadimento (base statistica)
Probabilità classica: probabilità oggettiva (vera) di un
evento
Approccio soggettivista: considera la probabilità una misura
del grado di attesa soggettivo del verificarsi di un evento
(base cognitiva)
Probabilità Bayesiana: grado con cui si crede che un
evento accada
Vittorio Maniezzo - Università di Bologna
10
Probabilità,
ripasso
Probabilità
Tre leggi alla base della teoria delle probabilità classica:
• Condizione di convessità: 0 ≤ ( ) ≤1
• Additività semplice:
∪
≤
+ ( )
• Regola del prodotto: ( , ) =
=
( )
Dalla terza proprietà deriva direttamente il Teorema di Bayes:
=
Vittorio Maniezzo – Università di Bologna
( )
( )
=
( )
11
Probabilità,
ripasso
Teorema di Bayes
Teorema di Bayes: apprendimento dall’esperienza
=
( )
probabilità a priori
probabilità a posteriori
verosimiglianza
fattore di normalizzazione
Vittorio Maniezzo – Università di Bologna
( )
Teorema probabilità totale
Probabilità,
ripasso
Teorema della probabilità totale (o della marginalizzazione)
p( ) = ∑
( , )=∑
( )
e quindi:
• data la probabilità congiunta (es., p(a,b,c)) si può ottenere una
probabilità marginale (es., p(b)) sommando le altre variabili:
p(b) = Σa Σc p(a, b, c)
• data la probabilità congiunta possiamo calcolare qualunque
probabilità condizionale:
p(c | b) = ∑
( , | ) = 1/p(b) ∑
( , , )
(dove 1/p(b) è una costante di normalizzazione)
Dalla probabilità congiunta si può ricavare qualunque probabilità di
interesse.
Vittorio Maniezzo – Università di Bologna
13
Probabilità,
ripasso
Concatenazione (o fattorizzazione)
Per definizione di prob. congiunta:
, , ,… =
, ,…
( , ,…)
Ripetendo il procedimento
, , ,…,
=
, ,…,
,…,
…,
( )
Questa fattorizzazione può essere fatta con un qualunque
ordinamento delle variabili
Vittorio Maniezzo – Università di Bologna
Indipendenza condizionale
Probabilità,
ripasso
Un evento a è condizionalmente indipendente da un evento b, dato
l’evento c, se
p(a|b,c) = p(a|c) (indipendenza stocastica subordinata)
In pratica a è condizionalmente indipendente da b, dato c, se la
conoscenza di b non porta a nessuna ulteriore variazione della
probabilità di a rispetto a quella apportata dall’avverarsi di c.
Indipendenza condizionale di a e b dato c:
p(a,b|c) = p(a|c)p(b|c) = p(b,a|c)
Se c è un insieme vuoto:
p(a,b) = p(a)p(b) (noncorrelazione)
Generalizzando a più variabili casuali: assunzione naïve di Bayes
p(x1, x2,…. xk | c) = Πi p(xi | c)
Vittorio Maniezzo – Università di Bologna
15
Indipendenza marginale
Probabilità,
ripasso
Due variabili a e b sono marginalmente indipendenti se
p(a,b)=p(a)p(b) o, equivalentemente, p(a|b)=p(a)
a e b sono condizionalmente indipendenti data una terza
variabile c se p(a,b|c)=p(a|c)p(b|c) o equivalentemente
p(a|b,c)=p(a|c)
Indipendenza marginale e condizionale sono due concetti
differenti e non legati tra loro.
Vittorio Maniezzo – Università di Bologna
16
Inferenza probabilistica
Probabilità,
ripasso
Dato un insieme di eventi e1,e2,..,ek e tutte le possibili
combinazioni dei loro valori Vero e Falso,
supponendo di:
• conoscere tutti i valori di prob. congiunta p(e1,e2,...,ek)
• conoscere il valore di un sottoinsieme di variabili, per es.
ej = e (ad es. Vero)
si chiama inferenza probabilistica il processo di calcolo dei
valori p(ei=vero|ej=e)
Vittorio Maniezzo – Università di Bologna
17
Reti Bayesiane
Le reti bayesiane sono una struttura che rappresenta le indipendenze
condizionali
Sono DAG (grafi orientati aciclici) i cui nodi sono eventi (E)
Una rete bayesiana stabilisce che ogni nodo, dati i suoi immediati
ascendenti (parents, P), è condizionalmente indipendente da ogni
altro che non sia suo discendente
Le reti bayesiane sono chiamate anche reti causali, perché gli archi
che connettono i nodi possono essere visti come se rappresentassero
relazioni causali dirette
Vittorio Maniezzo – Università di Bologna
18
Rete Bayesiana: esempio
Amico
malato
p(M)
0.001
influenza
Non
gioco
partita
Vittorio Maniezzo – Università di Bologna
A
t
f
p(G)
0.90
0.05
p(F)
Prendo
freddo
M
F
t
t
f
f
t
F
t
f
Non
esco la
sera
0.002
p(I)
0.95
0.94
0.29
0.001
A
t
f
p(E)
0.70
0.01
Reti bayesiane
Weka
Vittorio Maniezzo – Università di Bologna
MSBNx
20
Reti Bayesiane
La rete Bayesiana specifica le distribuzioni congiunte in una forma
strutturata: rappresenta dipendenze/indipendenze con un grafo
orientato
• Nodi = variabili casuali
• Edge = dipendenze dirette
In generale,
p(x1, x2,....xn) =
Π p(xi | ascendenti(xi ) )
Distribuzione congiunta
Topologia del grafo
Base della rappresent. del grafo
relazioni di indipendenza condizionale
Il grafo deve essere aciclico
Necessario specificare due elementi
• La topologia del grafo (assunzioni di indipendenza condizionale)
• Distribuzioni di probabilità (per ogni variabile dati i suoi padri)
Vittorio Maniezzo – Università di Bologna
Reti Bayesiane
Le reti Bayesiane (definizione)
• Le reti Bayesiane usano dei grafi per rappresentare indipendenze
condizionali all’interno di un set di variabili.
• Una BN ha due componenti principali: un grafo diretto aciclico
(DAG) e un set di distribuzioni di probabilità condizionali.
Nel DAG:
• I nodi rappresentano variabili casuali
• Gli archi sono diretti e rappresentano dipendenze tra le variabili
• Ad ogni nodo è associata una distribuzione di probabilità
condizionale.
• Se variabili discrete, le distribuzioni di probabilità sono
rappresentate con tabelle che contengono i valori di probabilità di
un nodo in funzione di tutte le possibili configurazioni dei nodi
ascendenti (nodi da cui parte un arco che punta al nodo corrente).
Vittorio Maniezzo – Università di Bologna
22
Apprendimento delle BN
Due problemi:
• Apprendere le probabilità condizionali, nota la struttura
della rete
• Apprendere sia la struttura della rete che le probabilità
condizionali
In entrambi i casi si sfrutta la fattorizzazione della
probabilità congiunta delle variabili
Vittorio Maniezzo – Università di Bologna
23
Applicazioni: esempi
• Diagnosi mediche (Pathfinder, 1990)
• Analisi decisionale (si incorporano nodi dei valori e nodi di
decisione, si parla allora di diagrammi di influenza)
• Diagnosi di reti mobili (cellulari)
• Analisi di dati finanziari
• Previsioni meteorologiche
• Esplorazioni in campo petrolifero
• Interazione software-utente (Microsoft, progetto
Lumiere)
• Valutazione rischio (http://www.bayesianrisk.com/)
• Data mining
• Comprensione di storie
Vittorio Maniezzo – Università di Bologna
24
Risorse per BN
• Ambienti freeware di sviluppo di reti bayesiane: MSBNx di
Microsoft (http://research.microsoft.com/adapt/MSBNx/)
• JavaBayes: http://www-2.cs.cmu.edu/~javabayes/Home/
• List of BN software
http://www.cs.ubc.ca/~murphyk/Software/bnsoft.html\
• BNT: inference and learning, Matlab, open source
• MSBNx: inference, by Microsoft, free closed source
• OpenBayes: inference and learning, Python, open source
• BNJ: inference and learning, Java, open source
• Weka: learning, Java, open source
• List of BN Models and Datasets:
http://www.cs.huji.ac.il/labs/compbio/Repository/
Vittorio Maniezzo – Università di Bologna
25
Esempio di rete Bayesiana
B
A
p(a,b,c) = p(c|a,b)p(a)p(b)
C
• Il modello stocastico ha una forma semplice, fattorizzata
• Archi orientati => dipendenza diretta
• Archi assenti => indipendenza condizionale
Vengono anche chiamate belief networks, graphical models, causal
networks, …
Vittorio Maniezzo – Università di Bologna
Reti Bayesiane a 3 variabili
a
Vittorio Maniezzo – Università di Bologna
b
c
Indipendenza marginale:
p(a,b,c) = p(a) p(b) p(c)
Reti Bayesiane a 3 variabili
Indipendenze condizionali:
p(a,b,c) = p(b|a)p(c|a)p(a)
A
b e c sono condizionatamente indipendenti
dato a
B
C
es., a è una malattia e b e c sono sintomi
indipendenti di a (dato a)
Vittorio Maniezzo – Università di Bologna
Reti Bayesiane a 3 variabili
A
B
Cause indipendenti:
p(a,b,c) = p(c|a,b)p(a)p(b)
C
Effetto di spiegazione:
Dato c, osservare a rende b meno
plausibile (v. esempio dopo)
a e b sono marginalmente
indipendenti, ma diventano dipendenti
se si conosce c
Vittorio Maniezzo – Università di Bologna
Reti Bayesiane a 3 variabili
A
Vittorio Maniezzo – Università di Bologna
B
C
Dipendenza markoviana:
p(a,b,c) = p(c|b) p(b|a)p(a)
Esempio
Modello causale su cosa succede quando ci si prende un’influenza.
Basato su 5 variabili stocastiche binarie:
• M = passo del tempo con un amico malato
• F = prendo freddo
• I = mi viene l’influenza
• G = non vado a giocare una partita nel pomeriggio
• E = non esco la sera
• Quanto vale p(M | G, E)?
Facile rispondere se si conoscono tutte le probabilità congiunte
- Necessarie 25 = 32 probabilità
- Possibile utilizzare della conoscenza di dominio per definire una
rete Bayesiana che utilizza meno probabilità.
Vittorio Maniezzo – Università di Bologna
Costruzione della rete: Step 1
Si ordinano la variabili in ordine causale (ordinamento parziale)
Qualunque ordinamento di variabili è permesso. Euristicamente,
si parte dalle cause e si va verso gli effetti.
Nell’esempio {M, F}, I, {G, E} → 4 possibili ordinamenti.
Es., {M,F} -> {I} -> {G,E}
p(G,E,I,M,F) = p(G,E | I,M,F) p(I| M,F) P(M,F)
≅ p(G,E | I) p(I| M,F) P(M) P(F)
≅ p(G | I) p(E | I) p(I| M,F) p(M) p(F)
Queste assunzioni di indipendenza condizionale definiscono la
topologia della rete Bayesiana.
Vittorio Maniezzo – Università di Bologna
La rete Bayesiana
Amico
malato
p(M)
0.001
influenza
Non
gioco
partita
Vittorio Maniezzo – Università di Bologna
A
t
f
p(G)
0.90
0.05
p(F)
Prendo
freddo
M
F
t
t
f
f
t
F
t
f
Non
esco la
sera
0.002
p(I)
0.95
0.94
0.29
0.001
A
t
f
p(E)
0.70
0.01
Costruzione della rete: Step 2
p(G,E,I,M,F) = p(G | I) p(E | I) p(I| M,F) p(M) p(F)
Necessarie:
3 tabelle di probabilità condizionale:
p(G | I), p(E | I), p(I| M,F)
• Necessarie 2 + 2 + 4 = 8 probabilità
2 probabilità marginali p(M), p(F)
Queste 10 probabilità derivano da:
• conoscenza di esperti
• dati (stime di frequenze relative)
• una combinazione delle due
Vittorio Maniezzo – Università di Bologna
Num probabilità in ingresso
Modello con n variabili binarie
Le tabelle di probabilità congiunte richiedono O(2n)
probabilità
Una rete Bayesiana con un massimo di k padri per nodo
richiede O(n 2k) probabilità
Esempio per n=30 e k=4
• probabilità congiunte: 230 ≅ 109 probabilità
• rete Bayesiana: 30 ⋅ 24 = 480 probabilità
Vittorio Maniezzo – Università di Bologna
Diversi ordinamenti delle variabili
Con ordinamento E, G, I, M, F
Non esco
Non gioco
Influenza
Am.malato
p(G | E) = p(G) ? No
p(I | E,G) = p (I|G) ? p(I|E,G) = p (I) ? No
p(M | I,E,G) = p (M | I) ?
Si
p(M | I,E,G) = p (M) ?
No
p(F | G,I,M,F) = p (F | I) ?
No
p(F | G.I.M.F) = p (F | I,M) ? Si
Vittorio Maniezzo – Università di Bologna
Preso freddo
Diversi ordinamenti delle variabili
Freddo
Am.malato
Infl.
No gioco
Vittorio Maniezzo – Università di Bologna
Non esco
Inferenza nelle reti Bayesiane
Si vuole rispondere a una domanda tramite una rete Bayesiana
• Q = variabili nella query
• e = conoscenza pregressa (coppie istanziate variabile-valore)
• Inferenza = calcolo della distribuzione condizionale p(Q|e)
Esempio
• p(freddo | influenza)
• p(influenza | non gioco, non esco)
• p(non gioco, non esco | freddo, influenza)
Si può utilizzare la rete per rispondere efficientemente a queste
domande. La complessità sarà inversamente proporzionale alla
sparsità del grafo.
Vittorio Maniezzo – Università di Bologna
Tipi di inferenza
Q:query
E:evidenza disponibile
• Inferenza diagnostica:
dagli effetti alle cause.
p(freddo | non gioco)
• Inferenza causale:
dalle cause agli effetti.
p(non gioco | freddo)
p(non esco | freddo)
• Inferenza intercausale: fra cause di un effetto comune.
p(freddo | influenza)
p(freddo | influenza Ʌ amico malato)
Vittorio Maniezzo – Università di Bologna
Esempio: rete ad albero
D
A
B
E
C
F
p(a, b, c, d, e, f, g) modellata come
p(a|b) p(c|b) p(f|e) p(g|e) p(b|d) p(e|d) p(d)
Vittorio Maniezzo – Università di Bologna
G
Esempio: rete ad albero
D
A
B
E
c
F
g
Si vuole calcolare p(a | c, g)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
A
Calcolo diretto:
B
E
c
F
,) = ∑
,-.
g
* +
, ))
La complessità è O(m4)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
A
B
E
c
F
g
Riordinando :
Σb p(a|b) Σd p(b|d,c) Σe p(d|e) Σf p(e,f |g)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
A
B
E
c
F
g
Riordinando :
Σb p(a|b) Σd p(b|d,c) Σe p(d|e) Σf p(e,f |g)
p(e|g)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
A
B
E
c
F
g
Riordinando :
Σb p(a|b) Σd p(b|d,c) Σe p(d|e) p(e|g)
p(d|g)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
A
B
E
c
F
g
Riordinando :
Σb p(a|b) Σd p(b|d,c) p(d|g)
p(b|c,g)
Vittorio Maniezzo – Università di Bologna
No
Esempio: rete ad albero
D
B
E
c
F
A
g
Riordinando :
Σb p(a|b) p(b|c,g)
p(a|c,g)
Complessità O(m), non O(m4)
Vittorio Maniezzo – Università di Bologna
No
Algoritmo per l'inferenza
Per calcolare p(q | e)
Step 1:
p(q | e) = p(q,e)/P(e) = α p(q,e), dato che p(e) è costante
rispetto a Q
Step 2:
p(q,e) = Σa..z p(q, e, a, b, …. z), per la legge della prob. totale
Step 3:
Σa..z
p(q, e, a, b, …. z) = Σa..z Πi p(variabile i | padri i)
(utilizzando la fattorizzazione Bayesiana)
Step 4:
Distribuisci le sommatorie sui prodotti per migliorare l'efficienza
Vittorio Maniezzo – Università di Bologna
No
Complessità dell’inferenza
Assumendo che la rete sia un albero orientato (polytree), in cui cioè
esiste un solo cammino orientato fra ogni coppia di nodi, la
complessità è O(n m K+1)
• n = numero di variabili
• m = arità (num valori assumibili) delle variabili
•K = massimo num di padri per nodo
• Forza bruta è O(mn-1)
Se la rete non è un polytree si prova a raggruppare variabili per
rendere il grafo un polytree.
La complessità diventa O(n m W+1), dove W è il num di variabili nel
cluster più grande.
Vittorio Maniezzo – Università di Bologna
No
Grafi non polytree
D
A
Vittorio Maniezzo – Università di Bologna
B
E
C
F
G
No
Grafi non polytree
D
A
B
E
C
F
G
Si raggruppa il minimo numero possibile di variabili
per convertire il grafo in un polytree
Vittorio Maniezzo – Università di Bologna
No
Junction Tree
D
B, E
A
Vittorio Maniezzo – Università di Bologna
C
F
G
No
Complessità dell’inferenza
Il problema di trovare l’ordinamento o il clustering delle variabili
ottimo per l’inferenza è NP-hard per grafi generici.
• Si utilizzano euristiche
• Esistono algoritmi efficienti per lavorare con BN anche grandi
Altri tipi di query possibili:
• Trovare i valori più probabili per una variabile data l’evidenza
disponibile
• arg max P(Q | e) = “spiegazione più probabile”, chiamata
maximum a posteriori query
• Può sfruttare la struttura del grafo come per l’inferenza,
sostanzialmente sostituendo le sommatorie con dei “max”
Vittorio Maniezzo – Università di Bologna
No
Algoritmo Message Passing
Algoritmo Message Passing (MP, Pearl, 1988; Lauritzen
and Spiegelhalter, 1988), più efficiente
• Scegli un nodo (qualunque) come radice
• Due fasi di message-passing
1. i nodi passano i messaggi verso la radice
2. i messaggi sono ridistribuiti verso le foglie
• Si può calcolare p(…) in tempo O(n)
Vittorio Maniezzo – Università di Bologna
No
Sketch di MP
2
1
3
Vittorio Maniezzo – Università di Bologna
4
No
Junction Tree
D
B, E
A
C
F
G
Possibile MP anche su junction tree, ma la
complessità diventa O(K2)
Vittorio Maniezzo – Università di Bologna
No
Variabili reali
Gestione variabili reali:
• Se le variabili sono distribuite in modo gaussiano, la teoria
dell’inferenza in BN è ben sviluppata. Essenzialmente si
sostituiscono le sommatorie con degli integrali.
• Per altre funzioni di ddp, molto meno.
• Problemi nella combinazione di più variabili (es. Come calcolare
la prob. congiunta di una Poissoniana e di una Gaussiana)
• Aggiustamenti pratici:
•Cercare di mettere le variabili reali come foglie del grafo, così
nessun’altra è condizionata da loro
•Assumere che tutte le variabili reali siano Gaussiane
•Discretizzare le variabili reali
Vittorio Maniezzo – Università di Bologna
Reti Bayesiane: sommario
Una rete Bayesiana
• Rappresenta una distribuzione congiunta per mezzo di un grafo
• Fornisce una rappresentazione efficiente della distribuzione
congiunta
Inferenza nelle reti Bayesiane
• Inferenza = risposte a domande del tipo p(q | e)
• In generale intrattabili (compless. esponenziale nel num di var.)
• trattabile per certe classi di reti Bayesiane
• Disponibili algoritmi efficienti sul grafo equivalente
Altri aspetti rilevanti delle reti Bayesiane
• variabili reali
• altri tipi di domande
Vittorio Maniezzo – Università di Bologna
Scarica

Reti Bayesiane