Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Report
Share
Report
Share
1 of 6
Download to read offline
More Related Content
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
1. Università degli Studi di Milano-Bicocca
Dipartimento di Informatica, Sistemistica e
Comunicazione
Corso di Laurea Magistrale in Informatica
APPRENDIMENTO DI RETI BAYESIANE NON
OMOGENEE A TEMPO CONTINUO
Relatore: Prof. Fabio STELLA
Co-relatore: Prof. Enrico FAGIUOLI
Sintesi della Tesi di Laurea Magistrale di
Guido COLANGIULI
Matricola 768987
E-mail g.colangiuli@campus.unimib.it
Anno Accademico 2013-2014
Appello di Laurea 28 Ottobre 2014
2. Sintesi
I dati a nostra disposizione aumentano ogni giorno a dismisura. Basti pensare a tutte
le informazioni che vengono caricate sui social networks, o a quelle che le aziende
memorizzano riguardo a clienti e fornitori. Si rende quindi necessario l’utilizzo di
modelli che siano in grado di rappresentare ed analizzare tali realtà a partire dai dati.
Una Bayesian Network (BN) è un modello grafico probabilistico che permette di
rappresentare le dipendenze condizionali tra variabili aleatorie, e consente di fare pre-visioni
su di esse, calcolando la probabilità che una variabile si trovi in un determinato
stato conoscendo lo stato di altre variabili; tuttavia nella loro formulazione base le
BN permettono di modellare solamente i sistemi statici, ovvero solamente quelli per i
quali il modello non muta con il passare del tempo.
Un estensione delle BN che consente di superare tale limite è offerta dalle Dynamic
Bayesian Network (DBN) (Dean & Kanazawa, 1989), che permettono di rappresentare
sistemi dinamici a tempo discreto. Le DBN modellano la distribuzione delle transizioni
dal tempo t al tempo t + t attraverso una BN, per una determinata granularità
t; si può dire che le DBN fotografano il comportamento di un sistema in diversi
istanti temporali equidistanti tra loro, tuttavia portando con sé una limitazione non
indifferente, poiché la granularità scelta è unica per l’intero sistema. Tale situazione
implica che le variabili contenute nel sistema sono costrette ad evolvere con tassi o
velocità simili, anche se questo non necessariamente avviene nella realtà.
Un superamento delle DBN sono le Continuous Time Bayesian Network (CTBN)
(Nodelman et al. , 2002a) in cui l’evoluzione dello stato del sistema modellato è
rappresentata in modo esplicito rispetto al tempo. Questo modello si basa sulle BN
e sui processi di Markov, prestandosi molto bene a descrivere un sistema in cui la
struttura delle dipendenze condizionali tra le variabili è fissata.
Si consideri, ad esempio, il sistema immunitario di un essere umano. Quando il
soggetto si trova in età infantile, il suo sistema immunitario è influenzato da determi-nati
fattori. Quando il soggetto cresce, il sistema immunitario cresce con esso e sarà
influenzato da altri agenti. Questa caratteristica non è possibile modellarla con una
singola Continuous Time Bayesian Network (CTBN),
Si presenta quindi il modello delle Non-Homogeneous Continuous Time Bayesian
1
3. Network (NHCTBN), che sono delle CTBN in cui le dipendenze condizionali tra le varia-bili
nel sistema che si sta modellando non sono fissate ma variano nel tempo: questo
si traduce nella la rappresentazione di più strutture per modellare le dipendenze, una
per ogni epoca che si vuole modellare.
Lo scopo di questa tesi è la progettazione, realizzazione e validazione di un
framework che permette l’apprendimento delle NHCTBN, rendendo possibile l’utilizzo
di questo nuovo modello in ambito applicativo.
Per l’apprendimento sono state contemplate tre casistiche, che dipendono dalle
informazioni a disposizione riguardo al cambio di epoca (istante di transizione):
Caso A: informazione completa, si conosce sia il numero di transizioni che gli istanti
temporali in cui avvengono le transizioni.
Caso B: informazione parziale, si conosce il numero di transizioni ma non si cono-scono
gli istanti temporali.
Caso C: nessuna informazione, non si conosce né il numero di transizioni né gli
istanti temporali.
L’apprendimento nel Caso A avviene in maniera esatta. Nei casi di informazioni
mancanti, invece, si è scelto di utilizzare un approccio probabilistico che permette di
ottenere queste informazioni in modo tale da riportarsi al Caso A. Questo significa
che una volta individuate le informazioni mancati è possibile ricostruire la struttura
ottima, a patto che le informazioni individuate siano corrette.
L’approccio probabilistico che si è scelto di utilizzare è basato sull’algoritmo del
Simulated Annealing (SA) (Murphy, 2002), in cui uno stato è la sequenza di istanti di
transizione (da un epoca lal’altra) di una NHCTBN. L’idea di base di questo algoritmo
si può rappresentare mediante i seguenti passaggi:
1. si parte da uno stato iniziale x, in cui gli istanti di transizione sono equidistanti;
2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x;
3. x’, a sua volta, ha una determinata probabilità di essere accettato;
4. se si accetta x’, si salva, successivamente si pone x=x’ e si riparte dal punto 2;
5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2.
Iterando questi punti, ed utilizzando adeguati operatori per generare nuovi stati, si
vuole scoprire la struttura reale del modello inerente al dataset che si sta analizzando.
Per farlo si ritorna NHCTBN ricostruita a partire dallo stato più probabile.
Tutte e tre le casistiche presentate sono state progettate e implementate mediante
il paradigma MapReduce (Dean Ghemawat, 2004). Questo permette di processare
grandi quantità di dati distribuendo la computazione su più macchine. Il paradigma
si basa sull’utilizzo di due funzioni fondamentali:
Laurea Magistrale in Informatica 2
4. Funzione map: si occupa di leggere una serie di record dal file di input, li elabora
in base alle finalità dell’applicazione ed emette in output una lista di coppie
chiave,valore intermedie.
Funzione reduce: si occupa di ricevere in input tutti i valori che condividono la
stessa chiave intermedia, li elabora in base alle finalità dell’applicazione ed
emette una coppia chiave,valore finale, la quale viene scritta in un file di
output.
In questo modo è possibile distribuire l’elaborazione su più macchine, eseguendo
in parallelo la funzione di map per poi riaggregare tutte le computazioni intermedie
grazie alla funzione di reduce.
Come implementazione del paradigma è stato scelto il framework Apache Hadoop,
un’implementazione open source che include anche un file system distribuito Hadoop
Distributed File System (HDFS)
L’implementazione proposta è stata validata sia su 13 dataset sintetici, di cui si
conosce la sequenza di strutture che li hanno generati, che su dataset reali.
Per i test su dataset sintetici sono stati valutate le misure di precision, recall
e distanza tra le epoche ritrovate e quelle reali. I risultati mostrano come nella
maggior parte dei casi il framework è stato in grado di ricostruire la struttura corretta
riportando quindi sia una misura di precision che di recall del 100%. Le distanze tra
le epoche reali e quelle ritrovate è quasi sempre molto bassa. Infine test di velocità
hanno mostrato come all’aumentare dei nodi del cluster i tempi di computazione
diminuiscono fino al 50%.
Come dataset reale è stato stato utilizzato il dataset SongBird (Robinson Har-temink,
2010), che rappresenta il flusso di informazioni passanti nel cervello dei Song-
Bird. In questi test emerge la differenza tra la ricostruzione delle epoche eseguita nodo
per nodo, come avviene nel modello delle NHCTBN, e la ricostruzione portata avanti
sull’intera rete, come avviene nel modello delle Non Omogeneous Dynamic Bayesian
Netowrk (NHDBN) di Robinson e Hartemink. Nelle NHCTBN, infatti, ogni nodo può
evolvere in maniera indipendente dagli altri, permettendo quindi una ricostruzione
più accurata. Nelle NHDBN, invece, si ricostruisce assieme l’intera rete e gli istanti di
transizione vengono mediati su tutti i nodi che la compongono.
Laurea Magistrale in Informatica 3
5. Bibliografia
Dean, Jeffrey, Ghemawat, Sanjay. 2004. MapReduce: Simplified Data
Processing on Large Clusters. In: OSDI 2004.
Dean, Thomas, Kanazawa, Keiji. 1989. A model for reasoning about
persistence and causation. Computational Intelligence.
Murphy, Kevin Patrik. 2002. Dynamic Bayesian Networks: Representation,
Inference and LEarning. Ph.D. thesis, University of California, Berkeley.
Nodelman, Uri D. 2007. Continuous Time Bayesian Networks. Ph.D. thesis,
Stanford University.
Nodelman, Uri D., Shelton, C. R., Koller, D. 2002a. Continuous Time Baye-sian
Networks. In: Proceedings of the Eighteenth Conference on Uncertainty
in Artificial Intelligence (UAI).
Nodelman, Uri D., Shelton, CR, Koller, Daphne. 2002b. Learning continuous
time Bayesian networks. Proceedings of the Nineteenth . . . .
Robinson, Joshua W., Hartemink, Alexander J. 2010. Learning
Non-Stationary Dynamic Bayesian Networks. Journal of Machine Learning.
4