POLITECNICO DI TORINO
Tesina
Intelligenza Artificiale
Daniele Cinti - 190471
20/09/2013
Reti Bayesiane
Esercizio reti Bayesiane
Due astronomi, in parti differenti del mondo, misurano M1 e M2 come numero di stelle N in una qualche
piccola regione del mondo, usando i loro telescopi. Normalmente vi è una piccola possibilità d'errore fino
ad una stella. Ogni telescopio può inoltre (con una probabilità leggermente più bassa) essere fortemente
sfuocato (eventi F1 e F2), nel qual caso gli scienziati conteranno tre o più stelle in meno. Si considerino le
due reti di credenza mostrate in figura.
La seconda è corretta, mentre la prima è errata e corrisponde ad un ordinamento dei nodi come il
seguente: F1, F2, M1, M2, N. Ridisegnarla in modo che rappresenti in modo corretto le relazioni presenti
nel problema.
N.B. differentemente da quanto richiesto nella traccia d’esame, si richiede la risoluzione dell’esercizio in
modo analitico, calcolando nodo per nodo le singole relazioni e considerando come ordine d’inserimento
delle variabili quello sopra indicato.
Per semplificare i calcoli, considero che tutte le variabili in gioco possano assumere solo due valori, che
indico con X e ¬X.
ο‚· Inserisco F1:
non ha genitori (è il primo!)
ο‚· Inserisco F2:
Per la verifica dei genitori, considero l’unico nodo presente, F1. In particolare devo considerare P(F2) e
P(F2|F1). Dal testo si evince (e la rete ii lo conferma) che F2 è indipendente. In formule: P(F2|F1) = P(F2).
ο‚· Inserisco M1:
Per la verifica dei genitori, devo controllare P(M1|F1, F2).
𝑃(𝑀1|𝐹1, 𝐹2) =
𝑃(𝑀1, 𝐹1, 𝐹2)
𝑃(𝐹1, 𝐹2)
Considerando solamente il numeratore ed attenendosi al modello causale (ii) ottengo che:
𝑃(𝑀1, 𝐹1, 𝐹2) =
= 𝑃(𝑀1, 𝐹1, 𝐹2, 𝑀2, 𝑁) + 𝑃(𝑀1, 𝐹1, 𝐹2, 𝑀2, ¬π‘) + 𝑃(𝑀1, 𝐹1, 𝐹2, ¬π‘€2, 𝑁) + 𝑃(𝑀1, 𝐹1, 𝐹2, ¬π‘€2, ¬π‘)
𝑃(𝑀1, 𝐹1, 𝐹2) = 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁) βˆ™ 𝑃(𝑁) +
+𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀2|𝐹2, ¬π‘) βˆ™ 𝑃(¬π‘) +
+𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘€2|𝐹2, 𝑁) βˆ™ 𝑃(𝑁) +
+𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘€2|𝐹2, ¬π‘) βˆ™ 𝑃(¬π‘) =
= 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑁)[𝑃(𝑀2|𝐹2, 𝑁) + 𝑃(¬π‘€2|𝐹2, 𝑁) ] +
+𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘)[𝑃(𝑀2|𝐹2, ¬π‘) + 𝑃(¬π‘€2|𝐹2, ¬π‘)]
Sapendo che:
[𝑃(𝑀2|𝐹2, 𝑁) + 𝑃(¬π‘€2|𝐹2, 𝑁) ] = 1
[𝑃(𝑀2|𝐹2, ¬π‘) + 𝑃(¬π‘€2|𝐹2, ¬π‘)] = 1
Semplificando si ha che:
𝑃(𝑀1, 𝐹1, 𝐹2) = 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘)
Ritornando alla probabilità condizionata e sostituendo il numeratore sopra calcolato, ottengo:
𝑃(𝑀1|𝐹1, 𝐹2) =
𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘)
𝑃(𝐹1, 𝐹2)
Dalla rete si evince che gli eventi F1 e F2 sono indipendenti. E’ quindi possibile scomporre la probabilità
congiunta a denominatore:
𝑃(𝑀1|𝐹1, 𝐹2) =
𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘)
𝑃(𝐹1) βˆ™ 𝑃(𝐹2)
Raccogliendo 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) a numeratore è possibile semplificarli:
𝑃(𝑀1|𝐹1, 𝐹2) = 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)
In conclusione: c’è solo un legame tra F1 e M1.
ο‚·
Inserisco M2:
Intuitivamente posso dire che M2 è influenzato da F2. Inoltre conoscere M1 altera la probabilità di N, e
quindi influenza M2. Invece F1 non agisce direttamente su M2.
Verifica analitica sul modello causale:
𝑃(𝑀2|𝐹1, 𝐹2, 𝑀1) =
𝑃(𝑀2, 𝐹1, 𝐹2, 𝑀1)
𝑃(𝐹1, 𝐹2, 𝑀1)
Considerando solamente il numeratore come per la variabile precedente ottengo che:
𝑃(𝑀2, 𝐹1, 𝐹2, 𝑀1) = 𝑃(𝑀2, 𝐹1, 𝐹2, 𝑀1, 𝑁) + 𝑃(𝑀2, 𝐹1, 𝐹2, 𝑀1, ¬π‘) =
= 𝑃(𝑀2|𝐹2, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) +
+ 𝑃(𝑀2|𝐹2, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘) =
Raccogliendo i fattori comuni si ha:
𝑃(𝑀2, 𝐹1, 𝐹2, 𝑀1) =
= 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ [𝑃(𝑀2|𝐹2, 𝑁) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀2|𝐹2, ¬π‘) βˆ™ 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)]
Considerando solamente il denominatore si ottiene la stessa probabilità congiunta calcolata per il
numeratore della variabile precedente:
𝑃(𝑀1, 𝐹1, 𝐹2) = 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(¬π‘) =
= 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ [𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)]
Tornando alla probabilità condizionata si ha che:
𝑃(𝑀2|𝐹1, 𝐹2, 𝑀1) =
=
𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ [𝑃(𝑀2|𝐹2, 𝑁) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀2|𝐹2, ¬π‘) βˆ™ 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)]
=
𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ [𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)]
=
𝑃(𝑀2|𝐹2, 𝑁) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀2|𝐹2, ¬π‘) βˆ™ 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)
𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑁) + 𝑃(𝑀1|𝐹1, ¬π‘) βˆ™ 𝑃(¬π‘)
Da cui si evince che F1 non agisce direttamente su M2 a differenza di M1.
ο‚·
Inserisco N:
Per la verifica dei genitori, si considera P(N|F1, F2, M1, M2). Intuitivamente, se sono noti M1 e M2, la
conoscenza di F1 e F2 è irrilevante, cioè P(N|F1, F2, M1, M2) = P(N|M1, M2). Ottengo la conferma
eseguendo il calcolo sul modello causale:
𝑃(𝑁|𝐹1, 𝐹2, 𝑀1, 𝑀2) =
𝑃(𝑁, 𝐹1, 𝐹2, 𝑀1, 𝑀2)
𝑃(𝐹1, 𝐹2, 𝑀1, 𝑀2)
Poiché il numeratore, considerato il modello causale, è uguale a:
𝑃(𝑁, 𝐹1, 𝐹2, 𝑀1, 𝑀2) = 𝑃(𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁)
e il denominatore, considerando l’estensione a catena diventa:
𝑃(𝐹1, 𝐹2, 𝑀1, 𝑀2) = 𝑃(𝐹1|𝐹2, 𝑀1, 𝑀2) βˆ™ 𝑃(𝐹2|𝑀1, 𝑀2) βˆ™ 𝑃(𝑀1|𝑀2) βˆ™ 𝑃(𝑀2)
Inoltre, essendo F1 e F2 nodi indipendenti dal resto della rete si ottiene che:
𝑃(𝐹1, 𝐹2, 𝑀1, 𝑀2) = 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1, 𝑀2)
La probabilità condizionata diventa dunque:
𝑃(𝑁|𝐹1, 𝐹2, 𝑀1, 𝑀2) =
=
𝑃(𝑁) βˆ™ 𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁)
=
𝑃(𝐹1) βˆ™ 𝑃(𝐹2) βˆ™ 𝑃(𝑀1, 𝑀2)
𝑃(𝑁) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁)
𝑃(𝑀1, 𝑀2)
Volendosi dimostrare l’uguaglianza con 𝑃(𝑁|𝑀1, 𝑀2), cosidero che in molti domini è possibile semplificare
la regola di Bayes mediante il processo di aggiornamento Bayesiano.
Si parte dal valutare la sola probabilità di 𝑃(𝑁|𝑀1):
𝑃(𝑁|𝑀1) =
𝑃(𝑀1|𝑁)
βˆ™ 𝑃(𝑁)
𝑃(𝑀1)
Diversamente, a M2 si applica la regola di Bayes con M1 come contesto costante condizionante.
𝑃(𝑁|𝑀1, 𝑀2) = 𝑃(𝑁|𝑀1) βˆ™
𝑃(𝑀2|𝑀1, 𝑁)
𝑃(𝑀1|𝑁) 𝑃(𝑀2|𝑀1, 𝑁)
= 𝑃(𝑁) βˆ™
βˆ™
𝑃(𝑀2|𝑀1)
𝑃(𝑀1)
𝑃(𝑀2|𝑀1)
Come si evince dalla rete, dato N, M1 ed M2 sono indipendenti. Quindi:
𝑃(𝑁|𝑀1, 𝑀2) = 𝑃(𝑁) βˆ™
𝑃(𝑀1|𝑁) 𝑃(𝑀2|𝑁)
𝑃(𝑀1|𝑁)
βˆ™
= 𝑃(𝑁) βˆ™
βˆ™ 𝑃(𝑀2|𝑁)
𝑃(𝑀1) 𝑃(𝑀2|𝑀1)
𝑃(𝑀1, 𝑀2)
A questo punto, per confermare quanto sostenuto in precedenza, occorre solamente dimostrare
l’uguaglianza dei due numeratori, ovvero:
𝑃(𝑁) βˆ™ 𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁) = 𝑃(𝑁) βˆ™ 𝑃(𝑀1|𝑁) βˆ™ 𝑃(𝑀2|𝑁)
𝑃(𝑀1|𝐹1, 𝑁) βˆ™ 𝑃(𝑀2|𝐹2, 𝑁) = 𝑃(𝑀1|𝑁) βˆ™ 𝑃(𝑀2|𝑁)
Tramite l’applicazione della regola di Bayes si ha che:
𝑃(𝑀1|𝐹1, 𝑁) =
=
𝑃(𝐹1, 𝑁|𝑀1)
𝑃(𝐹1|𝑀1) βˆ™ 𝑃(𝑁|𝑀1)
𝑃(𝐹1) βˆ™ 𝑃(𝑁|𝑀1)
βˆ™ 𝑃(𝑀1) =
βˆ™ 𝑃(𝑀1) =
βˆ™ 𝑃(𝑀1) =
𝑃(𝐹1, 𝑁)
𝑃(𝐹1) βˆ™ 𝑃(𝑁)
𝑃(𝐹1) βˆ™ 𝑃(𝑁)
𝑃(𝑁|𝑀1)
βˆ™ 𝑃(𝑀1) = 𝑃(𝑀1|𝑁)
𝑃(𝑁)
Analogamente per M2:
𝑃(𝑀2|𝐹2, 𝑁) =
=
𝑃(𝐹2, 𝑁|𝑀2)
𝑃(𝐹2|𝑀2) βˆ™ 𝑃(𝑁|𝑀2)
𝑃(𝐹2) βˆ™ 𝑃(𝑁|𝑀2)
βˆ™ 𝑃(𝑀2) =
βˆ™ 𝑃(𝑀2) =
βˆ™ 𝑃(𝑀2) =
𝑃(𝐹2, 𝑁)
𝑃(𝐹2) βˆ™ 𝑃(𝑁)
𝑃(𝐹2) βˆ™ 𝑃(𝑁)
𝑃(𝑁|𝑀2)
βˆ™ 𝑃(𝑀2) = 𝑃(𝑀2|𝑁)
𝑃(𝑁)