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|π) π(π)