SlideShare uma empresa Scribd logo
1 de 180
Baixar para ler offline
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 
Tesi di Laurea Magistrale di 
Guido COLANGIULI 
Matricola 768987 
Anno Accademico 2013-2014
I 
Ai miei genitori, 
ai miei amici.
Indice 
Indice V 
Elenco delle figure IX 
Elenco delle tabelle XVI 
Elenco degli algoritmi XVI 
Introduzione XVII 
Contributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVIII 
1 BN e modelli omogenei 1 
1.1 BN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 
1.1.1 Apprendimento . . . . . . . . . . . . . . . . . . . . . . . 3 
1.1.2 Inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . 4 
1.2 DBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 
1.3 Processo di Markov . . . . . . . . . . . . . . . . . . . . . . . . . 7 
1.4 Processi di Markov condizionali . . . . . . . . . . . . . . . . . . 9 
1.5 CTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 
2 Modelli non omogenei 13 
2.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 
2.2 NSDBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 
2.2.1 Apprendimento NSDBN . . . . . . . . . . . . . . . . . . 16 
2.2.1.1 Score . . . . . . . . . . . . . . . . . . . . . . . 18 
3 NHCTBN 20 
3.1 NHCTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 
3.2 Statistiche sufficienti e likelihood . . . . . . . . . . . . . . . . . 22 
II
Indice 
3.2.1 Statistiche sufficienti . . . . . . . . . . . . . . . . . . . . 22 
3.2.2 Likelihood di un singolo nodo . . . . . . . . . . . . . . . 23 
3.2.3 Likelihood di una struttura . . . . . . . . . . . . . . . . 23 
3.3 Apprendimento di una NHCTBN . . . . . . . . . . . . . . . . . 25 
3.3.1 Apprendimento dei parametri . . . . . . . . . . . . . . . 26 
3.3.1.1 Approccio Maximum-Likelihood . . . . . . . . 26 
3.3.1.2 Approccio Bayesiano . . . . . . . . . . . . . . . 27 
3.3.2 Apprendimento della struttura . . . . . . . . . . . . . . 28 
3.3.2.1 Funzione di scoring . . . . . . . . . . . . . . . 29 
3.3.2.2 Ricerca della struttura . . . . . . . . . . . . . . 32 
3.3.3 Apprendimento della sequenza . . . . . . . . . . . . . . 32 
3.3.4 Apprendimento della sequenza: Approccio SA . . . . . 34 
3.3.4.1 Informazione completa . . . . . . . . . . . . . . 36 
3.3.4.2 Informazione parziale . . . . . . . . . . . . . . 38 
3.3.4.3 Nessuna informazione . . . . . . . . . . . . . . 41 
4 MapReduce 45 
4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 
4.1.1 Funzionamento . . . . . . . . . . . . . . . . . . . . . . . 46 
4.1.2 Esempio Word-Count . . . . . . . . . . . . . . . . . . . 47 
4.2 Apache Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 
4.3 Apprendimento Non-Homogeneous Continuous Time Bayesian 
Network (NHCTBN) in MapReduce . . . . . . . . . . . . . . . . 50 
5 Esperimenti 54 
5.1 Dataset sintetici . . . . . . . . . . . . . . . . . . . . . . . . . . 54 
5.1.1 Descrizione esperimenti caso A: Confronto modelli omo-genei 
e modelli non omogenei . . . . . . . . . . . . . . . 55 
5.1.2 Descrizione esperimenti caso B . . . . . . . . . . . . . . 55 
5.1.3 Descrizione esperimenti caso C . . . . . . . . . . . . . . 55 
5.1.4 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 56 
5.1.5 Analisi dei tempi di esecuzione MapReduce . . . . . . . 58 
5.2 Dataset SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . 58 
5.2.1 Descrizione degli esperimenti . . . . . . . . . . . . . . . 59 
5.2.2 Risultati Netork1 - Caso B . . . . . . . . . . . . . . . . 60 
5.2.3 Risultati Netork1 - Caso C . . . . . . . . . . . . . . . . 64 
Laurea Magistrale in Informatica III
Indice 
5.2.4 Risultati Netork2 - Caso B . . . . . . . . . . . . . . . . 69 
5.2.5 Risultati Netork2 - Caso C . . . . . . . . . . . . . . . . 73 
5.2.6 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 78 
6 Conclusioni 79 
Appendici 82 
A Dettaglio esperimenti caso A 82 
A.1 Confronto modelli omogenei e modelli non omogenei . . . . . . 83 
B Dettaglio esperimenti caso B 96 
B.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
B.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
B.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 
B.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 
B.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 
B.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 
B.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 
C Dettaglio esperimenti caso C 105 
C.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 
C.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 
C.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 
C.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 
C.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 
C.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 
C.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 
C.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 
C.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 
C.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 
Laurea Magistrale in Informatica IV
Indice 
C.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 
C.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 
C.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 
Bibliografia 158 
Acronimi 161 
Laurea Magistrale in Informatica V
Elenco delle figure 
1.1 Bayesian Network (BN) di esempio con relative tabella di pro-babilità 
condizionale (CPT) . . . . . . . . . . . . . . . . . . . . 3 
1.2 Esempio di Dynamic Bayesian Network (DBN) . . . . . . . . . . 7 
1.3 Continuous Time Bayesian Network (CTBN) che rappresenta 
l’effetto di un farmaco . . . . . . . . . . . . . . . . . . . . . . . 12 
4.1 Panoramica dell’esecuzione di un programma MapReduce. Im-magine 
tratta da (Dean & Ghemawat, 2004, p. 3) . . . . . . . . 46 
5.1 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 60 
5.2 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 60 
5.3 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 61 
5.4 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 61 
5.5 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 62 
5.6 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 62 
5.7 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 63 
5.8 SongBird Network1- Caso B -  = 120 -  = 0:1 . . . . . . . . 63 
5.9 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 64 
5.10 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 65 
5.11 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 65 
5.12 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 66 
5.13 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 66 
5.14 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 67 
5.15 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 68 
5.16 SongBird Network1- Caso C -  = 120 -  = 0:1 . . . . . . . . 68 
5.17 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 69 
5.18 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 70 
VI
Indice 
5.19 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 70 
5.20 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 71 
5.21 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 71 
5.22 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 72 
5.23 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 72 
5.24 SongBird Network2- Caso B -  = 135 -  = 0:1 . . . . . . . . 73 
5.25 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 74 
5.26 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 74 
5.27 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 75 
5.28 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 75 
5.29 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 76 
5.30 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 76 
5.31 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 77 
5.32 SongBird Network2- Caso C -  = 135 -  = 0:1 . . . . . . . . 77 
A.1 Modello omogeneo - Dataset1 - 50 traiettorie - 4495 osservazioni 83 
A.2 Modello non omogeneo - Dataset1 - 50 traiettorie - 4495 osser-vazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 
A.3 Modello omogeneo - Dataset2 - 50 traiettorie - 9882 osservazioni 84 
A.4 Modello non omogeneo - Dataset2 - 50 traiettorie - 9882 osser-vazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 
A.5 Modello omogeneo - Dataset3 - 100 traiettorie - 12452 osservazioni 85 
A.6 Modello non omogeneo - Dataset3 - 100 traiettorie - 12452 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 
A.7 Modello omogeneo - Dataset4 - 100 traiettorie - 12601 osservazioni 86 
A.8 Modello non omogeneo - Dataset4 - 100 traiettorie - 12601 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 
A.9 Modello omogeneo - Dataset5 - 40 traiettorie - 4519 osservazioni 87 
A.10 Modello non omogeneo - Dataset5 - 40 traiettorie - 4519 osser-vazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 
A.11 Modello omogeneo - Dataset6 - 150 traiettorie - 40246 osservazioni 88 
A.12 Modello non omogeneo - Dataset6 - 150 traiettorie - 40246 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 
A.13 Modello omogeneo - Dataset7 - 180 traiettorie - 110415 osserva-zioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 
Laurea Magistrale in Informatica VII
A.14 Modello non omogeneo - Dataset7 - 180 traiettorie - 110415 
osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 
A.15 Modello omogeneo - Dataset8 - 100 traiettorie - 22827 osservazioni 90 
A.16 Modello non omogeneo - Dataset8 - 100 traiettorie - 22827 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 
A.17 Modello omogeneo - Dataset9 - 600 traiettorie - 202186 osserva-zioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 
A.18 Modello non omogeneo - Dataset9 - 600 traiettorie - 202186 
osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 
A.19 Modello omogeneo - Dataset10 - 50 traiettorie - 62996 osservazioni 92 
A.20 Modello non omogeneo - Dataset10 - 50 traiettorie - 62996 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 
A.21 Modello omogeneo - Dataset11 - 50 traiettorie - 10396 osservazioni 93 
A.22 Modello non omogeneo - Dataset11 - 50 traiettorie - 10396 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 
A.23 Modello omogeneo - Dataset12 - 200 traiettorie - 103110 osser-vazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 
A.24 Modello non omogeneo - Dataset12 - 200 traiettorie - 103110 
osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 
A.25 Modello omogeneo - Dataset13 - 70 traiettorie - 10867 osservazioni 95 
A.26 Modello non omogeneo - Dataset13 - 70 traiettorie - 10867 os-servazioni 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 
Elenco delle tabelle 
5.1 Configurazioni di parametri per esperimenti caso B . . . . . . . 55 
5.2 Configurazioni di parametri per esperimenti caso C . . . . . . . 56 
5.3 Tempi di esecuzione implementazione MapReduce su Dataset9 . 58 
VIII
Elenchi 
5.4 Configurazioni di parametri per esperimenti caso B e C su da-taset 
SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 
B.1 Dataset1 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.2 Dataset1 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.3 Dataset2 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.4 Dataset2 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 
B.5 Dataset3 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.6 Dataset3 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.7 Dataset4 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.8 Dataset4 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 
B.9 Dataset5 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
B.10 Dataset5 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
Laurea Magistrale in Informatica IX
Elenchi 
B.11 Dataset6 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
B.12 Dataset6 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 
B.13 Dataset7 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.14 Dataset7 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.15 Dataset8 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.16 Dataset8 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 
B.17 Dataset9 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 
B.18 Dataset9 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 
B.19 Dataset10 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 
B.20 Dataset10 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 
B.21 Dataset11 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 
Laurea Magistrale in Informatica X
Elenchi 
B.22 Dataset11 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 
B.23 Dataset12 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 
B.24 Dataset12 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 
B.25 Dataset13 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 
B.26 Dataset13 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 
C.1 Dataset1 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 106 
C.2 Dataset1 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 107 
C.3 Dataset1 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 108 
C.4 Dataset1 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 109 
C.5 Dataset2 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 110 
C.6 Dataset2 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 111 
Laurea Magistrale in Informatica XI
Elenchi 
C.7 Dataset2 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 112 
C.8 Dataset2 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 113 
C.9 Dataset3 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 114 
C.10 Dataset3 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 115 
C.11 Dataset3 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 116 
C.12 Dataset3 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 117 
C.13 Dataset4 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 118 
C.14 Dataset4 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 119 
C.15 Dataset4 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 120 
C.16 Dataset4 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 121 
C.17 Dataset5 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 122 
Laurea Magistrale in Informatica XII
Elenchi 
C.18 Dataset5 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 123 
C.19 Dataset5 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 124 
C.20 Dataset5 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 125 
C.21 Dataset6 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 126 
C.22 Dataset6 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 127 
C.23 Dataset6 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 128 
C.24 Dataset6 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 129 
C.25 Dataset7 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . 130 
C.26 Dataset7 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . 131 
C.27 Dataset7 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . . 132 
C.28 Dataset7 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . . 133 
Laurea Magistrale in Informatica XIII
Elenchi 
C.29 Dataset8 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 134 
C.30 Dataset8 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 135 
C.31 Dataset8 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 136 
C.32 Dataset8 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 137 
C.33 Dataset9 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 138 
C.34 Dataset9 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 139 
C.35 Dataset9 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 140 
C.36 Dataset9 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 141 
C.37 Dataset10 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 142 
C.38 Dataset10 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 143 
C.39 Dataset10 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 144 
Laurea Magistrale in Informatica XIV
Elenchi 
C.40 Dataset10 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 145 
C.41 Dataset11 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 146 
C.42 Dataset11 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 147 
C.43 Dataset11 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 148 
C.44 Dataset11 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 149 
C.45 Dataset12 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 150 
C.46 Dataset12 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 151 
C.47 Dataset12 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 152 
C.48 Dataset12 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 153 
C.49 Dataset13 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . 154 
C.50 Dataset13 -  = 1;  = 10; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDeu; Pesatura 
= Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . 155 
Laurea Magistrale in Informatica XV
C.51 Dataset13 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 156 
C.52 Dataset13 -  = 1;  = 0.1; #Sequenze = 4; Iterazioni = 200; 
Tipologia operatori = Proporzionali; Score = BDe; Pesatura = 
Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 157 
Elenco degli algoritmi 
1 ARTIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 
2 Apprendimento sequenza NHCTBN - SA - Informazione completa 38 
3 Apprendimento sequenza NHCTBN - SA - Informazione parziale 41 
4 Apprendimento sequenza NHCTBN - SA - Nessuna informazione 44 
5 Word-Count in MapReduce . . . . . . . . . . . . . . . . . . . . 48 
6 Apprendimento NHCTBN MapReduce: Funzione Map . . . . . . 51 
7 Apprendimento NHCTBN MapReduce: Funzione Reduce . . . . 53 
XVI
Introduzione 
Una Bayesian Network (BN) è un modello grafico probabilistico che permette 
di rappresentare le dipendenze condizionali tra variabili aleatorie, e consente di 
fare previsioni 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 che non mutano con il passare del tempo. 
Proseguiamo con una estensione delle BN, le 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 modellare 
un sistema in cui le dipendenze condizionali tra le variabili in esso contenute 
sono fisse. 
Evoluzione di quanto detto sono le Non-Homogeneous Continuous Time 
Bayesian Network (NHCTBN) che sono delle CTBN in cui le dipendenze condi-zionali 
tra le variabili 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. 
XVII
Elenchi 
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. 
La tesi è strutturata nel seguente modo: 
 primo capitolo descrizione dei modelli omogenei, quindi BN, DBN, pro-cessi 
di Markov e CTBN, necessari ad introdurre formalmente le NHCTBN. 
 secondo capitolo panoramica e problematiche dei modelli non omogenei 
attualmente presenti in letteratura; 
 terzo capitolo definizione formale dell’apprendimento strutturale delle 
NHCTBN e relativa rappresentazione; 
 quarto capitolo si introduce il framework MapReduce, con relativa ar-chitettura 
e funzionamento. Successivamente si illustra l’implementazio-ne 
Apache Hadoop. Infine, si presenta l’algoritmo di apprendimento di 
una NHCTBN per questo framework; 
 quinto capitolo esperimenti sia su dataset creati in laboratorio che reali; 
 sesto capitolo conclusioni e sviluppi futuri. 
Contributi 
I contributi innovativi di questo lavoro di tesi sono i seguenti: 
 Progettazione di algoritmi che permettono l’apprendimento di NHCTBN; 
 Implementazione mediante framework Hadoop MapReduce dei nuovi al-goritmi, 
utile in caso di grandi quantità di dati. 
 Implementazione dei nuovi algoritmi per il funzionamento su singola mac-china 
(server), per l’esecuzione efficiente su medie e piccole quantità di 
dati; 
 Validazione del modulo software tramite una ricca campagna sperimen-tale, 
con l’utilizzo di dataset simulati e reali presenti nella letteratura 
specializzata. 
Laurea Magistrale in Informatica XVIII
Capitolo 1 
BN e modelli omogenei 
In questo primo capitolo si discute dei modelli omogenei, ovvero quelli la cui 
struttura non varia nel tempo. Si inizia definendo le Bayesian Network (BN) e si 
forniscono le nozioni fondamentali che le caratterizzano. Le BN permettono di 
modellare solo sistemi statici, tuttavia introducono concetti molto importanti, 
come quelli di genitore e di indipendenza condizionale, che sono alla base dei 
modelli trattati in questa tesi. Successivamente viene presentata un’evoluzione 
delle BN, le Dynamic Bayesian Network (DBN), che introducono una prima 
trattazione del tempo seppure in maniera discreta. Infine, si presentano le 
Continuous Time Bayesian Network (CTBN), che permettono la trattazione 
del tempo in maniera continua. 
1.1 BN 
Una Bayesian Network (BN) è un modello grafico che rappresenta un insieme di 
variabili stocastiche e le loro relazioni mediante l’uso di un grafo aciclico orien-tato 
(DAG), in cui ogni nodo rappresenta una variabile e gli archi rappresentano 
le relazioni di dipendenza. 
Per poter procedere con la definizione delle BN è necessario introdurre il 
concetto di indipendenza condizionale e ancor prima fornire la definizione di 
Indipendenza tra variabili casuali. 
Definizione 1.1. Due variabili casuali A e B sono indipendenti se 8x; y si ha 
che: 
P(x 2 Ajy 2 B) = P(x 2 A) (1.1) 
1
1.1. BN 
L’indipendenza condizionale è una proprietà più debole di quella di indi-pendenza, 
ma più comune e realistica se si parla dei sistemi complessi. 
Definizione 1.2 (Indipendenza Condizionale). (Whitt, 2006) Due variabili 
casuali A e B sono Condizionalmente Indipendenti rispetto a una variabile 
casuale C se 
P(AjC;B) = P(AjC) (1.2) 
Questo significa che quando è noto il valore della variabile C, le variabili A 
e B sono indipendenti. 
A questo punto è possibile fornire la definizione di BN: 
Definizione 1.3 (Bayesian Network). (Pearl, 1988) Una BN rispetto a un 
insieme di variabili casuali fX1; ::;Xng è costituita da: 
 G: un DAG, dove ogni nodo è associato ad una variabile casuale Xi 2 X 
 Una CPT per ogni Xi, che rappresenta la distribuzione condizionata 
P(Xi jPaG(Xi)) come funzione dei suoi genitori in G. 1 
Osservazione. Se nel grafo G non è presente un arco che collega due nodi, 
allora i suddetti nodi sono condizionalmente indipendenti. 
Rappresentiamo la probabilità che una variabile X 2 X assuma valore 
x, dati i valori u dei genitori U 2 X, con il simbolo xju, che equivale alla 
probabilità condizionata P(x j u). 
Le BN si possono considerare la rappresentazione grafica di una distribuzio-ne 
di probabilità congiunta, è infatti possibile rappresentare tale distribuzione 
mediante la chain rule: 
P(X1; : : : ;XN) = 
NY 
i=1 
P(Xi j PaG(Xi)) (1.3) 
Osservazione. Mediante la chain rule le BN sono in grado di rappresentare la 
distribuzione di probabilità congiunta in modo molto efficace. Non c’è infatti 
bisogno di rappresentare le probabilità di tutte le combinazioni di stati delle 
variabili ma solo la probabilità di ogni variabile condizionata ai suoi genitori. 
In Figura 1.1 è riportato un esempio di BN. Si evidenzia come i nodi 
radice abbiano associata una tabella di probabilità marginale che rappresenta 
la probabilità a priori della variabile ad essi associata. 
1PaG(Xi) rappresenta l’insieme dei genitori del nodo Xi in G 
Laurea Magistrale in Informatica 2
1.1. BN 
Figura 1.1: BN di esempio con relative CPT 
1.1.1 Apprendimento 
L’apprendimento di una BN si attua tramite due fasi: 
1. Ricerca del grafo - Apprendimento della struttura; 
2. Stima delle probabilità condizionate - Apprendimento dei parametri. 
Esistono tre metodi principali per l’apprendimento delle BN: 
1. Modellare la conoscenza degli esperti, cioè definire la struttura e i para-metri 
sulla base delle valutazioni (soggettive) da parte di studiosi, esperti 
del problema oggetto di studio; 
2. Imparare dai dati (sia la struttura che i parametri); 
3. Combinare i due metodi precedenti, usando la conoscenza dell’esperto 
come conoscenza a priori, in modo tale da imporre la presenza o l’as-senza 
di alcuni archi nella struttura o definire distribuzioni a priori sui 
parametri e/o sulla struttura. 
In questa tesi si assume di essere nel caso 3, quindi si focalizza l’apprendimento 
della BN a partire dai dati (completi), lasciando comunque la possibilità di 
inserire della conoscenza a priori sulla struttura (conoscenza dell’esperto). 
Laurea Magistrale in Informatica 3
1.1. BN 
Inoltre, per quanto riguarda l’apprendimento della struttura si utilizza 
l’Approccio Search  Score, dove si usano funzioni di score per confrontare 
la bontà delle possibili strutture della rete e selezionare quella che meglio si 
adatta ai dati. Questo approccio, nel nostro caso, viene descritto in dettaglio 
nell’apprendimento strutturale delle NHCTBN nel capitolo successivo. 
Mentre, per quanto riguarda l’apprendimento dei parametri, si adotta il 
caso in cui si conosce già la struttura, quindi l’apprendimento dai dati avviene 
attraverso una stima a partire da una serie di osservazioni. Per fare questo si 
ricorre al concetto di Statisticha Sufficiente. 
Definizione 1.4 (Statistica Sufficiente). (Fisher, 1922) Una statistica T si 
dice sufficiente se qualsiasi altra statistica che può essere calcolata dallo stesso 
campione non fornisce maggiori informazioni circa il valore del parametro da 
stimare. 
Una statistica sufficiente che può essere usata per le BN è il numero di 
osservazioni nelle quali la variabile X 2 X assume valore x, e i suoi genitori U 
assumono valori u, e si indica con M[xju]. 
Quindi, data la struttura G, il likelihood dei dati D si può scrivere come 
prodotto di likelihood locali, uno per ogni variabile X 
LX( : D) = 
Y 
u2U 
Y 
x2X 
M[xju] 
xju 
dove  è l’insieme dei parametri delle distribuzione di probabilità condizionale 
(CPD). Per questioni numeriche viene di norma computato il log-likelihood 
`X( : D) = 
X 
u2U 
X 
x2X 
M[xju] ln(xju) (1.4) 
La stima del parametro  che massimizza il log-likelihood nell’equazione Equa-zione 
1.4 è: 
^xju = 
M[xju] 
M[u] 
dove M[u] = 
P 
xM[xju]. 
1.1.2 Inferenza 
Con inferenza si intende il processo mediante il quale si calcola la probabilità 
a posteriori di una variabile Xi, avendo a disposizione l’osservazione di alcu- 
Laurea Magistrale in Informatica 4
1.2. DBN 
ne altre variabili. Quest’osservazione si dice evidenza, e la sua propagazione 
consiste nell’aggiornare le distribuzioni di probabilità delle variabili aleatorie 
in accordo con la nuova informazione disponibile. 
La propagazione può avvenire in 2 modi: 
 dall’alto verso il basso, ovvero quando si ha l’evidenza sui genitori, e si 
calcolano le probabilità dei figli; 
 dal basso verso l’alto, l’evidenza si ha sui figli, e si calcolano le probabilità 
dei genitori. 
Esistono inoltre due tipi di evidenza: 
 evidenza hard: si conosce lo stato di una o più variabili; 
 evidenza soft: non si conosce il valore dello stato delle variabili, ma si 
possono fare affermazioni sul loro stato. 
Gli algoritmi per fare inferenza sulle BN sono divisi in due famiglie: 
 Inferenza Esatta: si applica la chain rule, descritta nell’ Equazione 1.3, 
su tutte le variabili della rete; 
 Inferenza Approssimata: se il numero di stati delle variabili è elevato, 
l’inferenza esatta diventa onerosa, si usano quindi metodi per approssi-mare 
le distribuzioni di probabilità a posteriori. 
1.2 DBN 
Una DBN (Murphy, 2002) è un’estensione di una BN per modellare le distri-buzioni 
di probabilità su una collezione numerabile infinita di variabili casuali 
fD0;D1;D2; : : : g indicizzate dal tempo. Si noti che sono dette dinamiche per-ché 
modellano un sistema dinamico, non perché la rete cambi struttura nel 
tempo. 
Prima di procedere con la definizione di DBN è necessario fornire la defini-zione 
di time-slice. 
Definizione 1.5 (Time-slice). Un time slice, in una DBN, è un intervallo di 
tempo in cui è valida una determinata struttura. 
Laurea Magistrale in Informatica 5
1.2. DBN 
Definizione 1.6 (Dynamic Bayesian Network). (Nodelman, 2007) Una DBN 
è una coppia hB0; B2T i dove: 
 B0 è una BN su D0. 
 B2T è una 2-time-slice BN, che definisce un modello di transizione dal-l’istante 
i all’istante i + 1 come una BN sull’insieme di variabili casuali 
Di+1 condizionate dal valore delle variabili casuali Di. 
Sono permesse due tipologie di archi: 
 Archi intra-time-slice, permessi tra variabili casuali appartenenti alla 
stessa time-slice. Ad esempio tra D e D0, con D;D0 2 Di+1. 
 Archi inter-time-slice, permessi tra una variabile casuale in una time-slice 
e un’altra nella time-slice successiva. Ad esempio tra D 2 Di e 
D 2 Di+1, oppure tra D 2 Di e D0 2 Di+1. 
Osservazione. La 2-time-slice BN specifica le CPD per le variabili in Di+1 ma 
non in D. 
Osservazione. Si può dire che le DBN fotografano il comportamento di un 
sistema in diversi istanti temporali, equidistanti tra loro. Portano quindi 
con sé una limitazione non indifferente, la granularità di evoluzione temporale 
scelta è unica per l’intero sistema. 
Esempio. In Figura A.26 possiamo vedere una DBN che rappresenta il ri-schio 
di collisione in cui una nave può incorrere durante la sua navigazione. 
In questo modello tutte le variabili sono di interfaccia a meno della variabile 
collisione. Le variabili di interfaccia sono tutte quelle i cui valori al tempo 
t influenzano in maniera diretta le variabili al tempo t + 1. Quindi solo le 
variabili di interfaccia possono essere genitori delle variabili al tempo t + 1. 
Dalla componente dinamica del modello (la 2-time-slice BN B !) si evince 
che: 
 Il rischio di collisione dipende dai valori attuali di posizione e velocità; 
 La velocità dipende dal suo valore nel time slice precedente; 
 La posizione dipende sia dalla posizione che dalla velocità al time slice 
precedente; 
Laurea Magistrale in Informatica 6
1.3. Processo di Markov 
In Figura A.26 si mostra sia il modello di transizione (la 2-time-slice BN 
B !) che la struttura all’istante iniziale (B0). Si mostra inoltre la versione 
“unrolled“ delle DBN che altro non è che una BN. 
Figura 1.2: Esempio di DBN 
1.3 Processo di Markov 
Un processo di Markov è un processo stocastico, che soddisfa la proprietà di 
Markov e può essere omogeneo o non omogeneo. 
Definizione 1.7 (Proprietà di Markov). (Norris, 1998) Un processo stocastico 
X soddisfa la proprietà di Markov se il suo stato futuro non dipende dagli 
stati passati, ma solo dello stato attuale, o in termini più formali: P(X(t + 
t) j X(t);X(s)) = P(X(t + t) j X(t)) per qualsiasi s; t : s  t. 
Definizione 1.8 (processo di Markov omogeneo). (Neapolitan, 2004) Un pro-cesso 
di Markov si dice omogeneo se la probabilità dello stato futuro non di-pende 
dal tempo t, ma esclusivamente dallo stato attuale, ovvero se P(X(t + 
t) j X(t)) = P(X(0 + t) j X(0)). 
Laurea Magistrale in Informatica 7
1.3. Processo di Markov 
Un processo di Markov omogeneo X con dominio V al(X) = fx1; x2; : : : ; xng 
è definibile tramite una distribuzione di probabilità iniziale PX 
0 e una matrice 
di intensità QX 
QX = 
2 
666664 
qx1 qx1x2    qx1xn 
qx2x1 qx2    qx2xn 
... 
... 
. . . 
... 
qxnx1 qxnx2    qxn 
3 
777775 
dove l’intensità qxi = 
P 
xj6=xi 
qxixj è proporzionale alla probabilità istantanea di 
lasciare lo stato i, e l’intensità qxixj è proporzionale alla probabilità istantanea 
di transizione dallo stato xi allo stato xj . Formalmente: 
lim 
t!0 
P(X(t + t) = xj j X(t) = xi) = lim 
t!0 
qijt + O(t2), con i6= j 
lim 
t!0 
P(X(t + t) = xi j X(t) = xi) = lim 
t!0 
1  qit + O(t2) 
(1.5) 
La quantità di tempo che un processo di Markov omogeneo X rimane nello 
stato x, prima di transitare ad un altro stato, è una variabile aleatoria con 
distribuzione di probabilità esponenziale di parametro qx, e quindi la funzione 
di densità e la funzione di ripartizione risultano: 
f(qx; t) = qxexp(qxt) 
F(qx; t) = 1  exp(qxt) 
(1.6) 
Il valore atteso per il tempo in cui il processo X rimane nello stesso stato x è 
quindi 1=qx. Quando avviene il passaggio di stato X transita dallo stato x allo 
stato x0 con probabilità qxx0=qx; La distribuzione che rappresenta i suddetti 
cambi di stato è quindi imputabile a due componenti: 
 Una distribuzione esponenziale che modella il tempo in cui avviene la 
transizione; 
 Una distribuzione multinomiale che modella lo stato in cui si troverà il 
sistema dopo la transizione; 
Esempio. Assumiamo di voler modellare l’andamento della pressione baro-metrica 
B(t) discretizzata in tre stati (b1 = decresce, b2 = stazionaria, e b3 = 
Laurea Magistrale in Informatica 8
1.4. Processi di Markov condizionali 
cresce); possiamo quindi scrivere la seguente matrice di intensità: 
QB = 
2 
:21 :2 :01 
:05 :1 :05 
:01 :2 :21 
664 
3 
775 
Se usiamo come misura del tempo le ore, significa che se attualmente la pres-sione 
decresce, smetterà di decrescere in poco meno di 5 ore ( 1 
:21 ore); diventerà 
stazionaria con probabilità di :2 
:21 e crescerà con probabilità pari a :01 
:21 . 
Usando i parametri delle distribuzioni sopra elencate, oltre che con una 
matrice di intensità, un processo di Markov si può rappresentare anche utiliz-zando: 
qX = fqi : 1  i  Ng 
X = fij : 1  i; j  N; i6= jg 
dove qX è l’insieme dei parametri delle distribuzioni esponenziali e X è 
l’insieme dei parametri delle distribuzioni multinomiali. Questo metodo di 
rappresentazione è chiamato parametrizzazione mista. 
Teorema 1.1. (Nodelman, 2007) Siano X e Y due processi di Markov con 
uguale distribuzione iniziale e uguale spazio degli stati. Se X è definito dalla 
matrice di intensità QX e Y è definito tramite parametrizzazione mista qY ; Y 
allora X e Y sono stocasticamente equivalenti se e solo se: 
qi 2 qY = qi 2 QX 
ij = 
qij 
qi 
Osservazione. Entrambi i modi di rappresentazione usano N2 parametri, ma 
solo N2  N parametri sono liberi. 
1.4 Processi di Markov condizionali 
Per poter modellare una rete, mediante l’utilizzo di processi di Markov, è ne-cessario 
introdurre i processi di Markov condizionali. I processi di Markov 
condizionali sono processi di Markov non omogenei, che evolvono nel tempo, 
ma non come funzione diretta del tempo, bensì come funzione dello stato at- 
Laurea Magistrale in Informatica 9
1.4. Processi di Markov condizionali 
tuale di una serie di altre variabili, le quali evolvono a loro volta come dei 
processi di Markov. 
Con l’utilizzo dei processi di Markov condizionali è quindi possibile mo-dellare 
il comportamento dei processi di Markov basandosi non sullo stato 
dell’intero sistema ma su un insieme limitato di altre variabili. Questo è un 
concetto fondamentale per poter modellare le CTBN. 
Ora è necessario fornire una definizione di matrice di intensità condizionale 
(CIM): 
Definizione 1.9 (matrice di intensità condizionale). (Neapolitan, 2004) Dato 
un processo di Markov condizionale X che evolve rispetto a un insieme di 
processi di Markov Y - che vengono chiamati genitori di X e rappresentati 
come Pa(X) - si definisce una CIM: 
QXjPa(X) = 
2 
q1(Pa(X)) q12(Pa(X))    q1n(Pa(X)) 
q21(Pa(X)) q2(Pa(X))    q2n(Pa(X)) 
666664 
... 
... 
. . . 
... 
3 
777775 
qn1(Pa(X)) qn2(Pa(X))    qn(Pa(X)) 
Si può scrivere la CIM come una serie di matrici di intensità, una per ogni 
possibile combinazione degli stati di Pa(X). 
Esempio. Consideriamo una variabile E(t) che modella quando una persona 
sta o non sta mangiando (e1 = non mangia, e2 = mangia), che è condizionata 
dalla variabile H(t) che modella quando una persona ha o non ha fame (h1 = 
non ha fame, h2 = ha fame). 
Possiamo quindi scrivere le seguenti CIM per E(t): 
QEjh1 = 
 
:01 :01 
# 
QEjh2 = 
10 10 
 
2 2 
:01 :01 
# 
Mediamente ci si aspetta che una persona che ha fame e non sta mangiando, 
inizi a mangiare in mezz’ora, oppure che una persona che non ha fame e sta 
mangiando smetta di mangiare mediamente in 6 minuti ( 1 
10 ore) 
Laurea Magistrale in Informatica 10
1.5. CTBN 
1.5 CTBN 
Le CTBN sono un’ulteriore estensione delle BN e permettono di rappresenta-re 
processi a stati finiti, in tempo continuo e con spazio degli stati discreto. 
L’introduzione di questo modello si è resa necessaria al fine di superare le li-mitazioni 
osservate nelle DBN, ovvero per poter trattare il tempo in maniera 
continua. 
Sfruttando la definizione di processi di Markov condizionali è possibile dare 
una definizione formale di CTBN. Le CTBN possono essere infatti viste come la 
composizione di un insieme di processi di Markov condizionali. 
Definizione 1.10 (Continuous Time Bayesian Network). (Nodelman et al. , 
2002b) Sia X un insieme di variabili X1;X2; : : : ;XN, ogni Xi ha un dominio 
finito, rappresentato come V al(Xi). Una Continuous Time Bayesian Network 
N su X consiste di 2 componenti: 
 una distribuzione iniziale P0X 
, specificata come una BN B su X. 
 un modello di transizione a tempo continuo rappresentato da: 
– un grafo orientato (anche ciclico) G, i cui nodi sono X1;X2; : : : ;XN; 
L’insieme dei genitori di ogni nodo Xi viene denotato con Pa(Xi). 
– una matrice di intensità condizionale QXjPa(X) per ogni variabile 
Xi 2 X. 
Osservazione. Dato che nelle CTBN gli archi rappresentano le dipendenze nel 
tempo, non c’è motivo per cui il grafo G debba essere aciclico, e ciò porta ad 
una notevole semplificazione di calcolo. 
Esempio. (Nodelman, 2007) La Figura 1.3 mostra la struttura di una CTBN 
che modella l’effetto di un farmaco. Ci sono nodi che rappresentano l’assun-zione 
del farmaco e la concentrazione dello stesso nel flusso sanguigno. La 
concentrazione dipende da quanto lo stomaco è pieno. Il farmaco dovrebbe 
alleviare i dolori articolari, che potrebbero essere aggravati dalla diminuzione 
della pressione. Il farmaco potrebbe anche causare sonnolenza. Il modello con-tiene 
un ciclo, che modella il fatto che una persona sia affamata dipende da 
quanto lo stomaco è pieno, che a sua volta dipende da quanto tempo è passato 
da quando la persona ha mangiato. 
Laurea Magistrale in Informatica 11
1.5. CTBN 
Figura 1.3: CTBN che rappresenta l’effetto di un farmaco 
Laurea Magistrale in Informatica 12
Capitolo 2 
Modelli non omogenei 
In questo capitolo si introduce il problema della modellazione di sistemi non 
omogenei, ovvero in cui le dipendenze condizionali tra le variabili non sono 
fissate ma variano nel tempo. A tal proposito si discuteranno le principali so-luzioni 
presenti in letteratura al fine di motivare l’introduzione del nuovo mo-dello 
delle Non-Homogeneous Continuous Time Bayesian Network (NHCTBN) 
proposto in questo lavoro di tesi. 
2.1 Panoramica 
Le DBN e le CTBN, discusse nei capitoli precedenti, funzionano partendo dall’as-sunzione 
che i dati temporali, su cui si effettua l’apprendimento, provengano 
da una distribuzione che non varia nel tempo, ovvero è stazionaria. Questa 
assunzione in molti ambiti è molto restrittiva. Per questo motivo si sente la ne-cessità 
di introdurre modelli non omogenei in grado di superare i limiti dettati 
dall’assunzione di stazionarietà della distribuzione. 
Un primo modello non omogeneo, presente in letteratura, è TESLA (Ah-med 
 Xing, 2009). TESLA si basa sull’apprendimento di Discrete Binary 
Markov Random Field (Discrete Binary MRF), è in grado di scalare su un numero 
elevato di variabili, tuttavia soffre le seguenti restrizioni: 
 E’ in grado di apprendere solo variabili binarie; 
 Gli archi che rappresenta, ovvero le relazioni, non sono orientati; 
 E’ in grado di individuare le relazioni solo a coppie di variabili; 
13
2.1. Panoramica 
Un ulteriore modello non omogeneo, presente in letteratura, è ARTIVA 
(S. Lèbre, 2010). ARTIVA si basa sulle Time-Varying Dynamic Bayesian Ne-towrk 
(Time-Varying DBN), che sono delle DBN in cui gli archi, passando da 
una time-slice alla successiva, possono variare. Questo si traduce nell’avere 
una sequenza di DBN, che modellano l’evoluzione, nel tempo, delle dipendenze 
condizionate tra variabili. Tuttavia rimane la principale limitazione delle DBN 
legata alla trattazione del tempo in maniera discreta. 
Come vedremo meglio nella sezione sezione 2.2, una DBN ha valenza in un 
certo intervallo temporale chiamato epoca. La sequenza di epoche può inoltre 
essere rappresentata come una sequenza di istanti di transizione che definiscono 
il passaggio da un epoca alla successiva. 
Di seguito si mostra l’algoritmo di ARTIVA che si basa sull’algoritmo RJ-MCMC: 
Algoritmo 1 ARTIVA 
Require: bk probabilità di aggiungere un nuovo cambio di struttura; dk pro-babilità 
di rimuovere un cambio di struttura; sk probabilità di shift; L 
numero di iterazioni 
1: function LearnArtiva(K;D;M) 
2: for l   1 to L do 
3: u   estrai da U[0;1] 
4: Estrai istante di transizione k 
5: Calcola bk, dk e vk 
6: if u  bk then 
7: Crea nuovo istante di transizione al tempo k 
8: else 
9: if u  bk + dk then 
10: Elimina istante di transizione presente al tempo k 
11: else 
12: if u  bk + dk + sk then 
13: Sposta l’istante di transizione presente al tempo k 
14: else 
15: Considera un cambio di struttura 
16: end if 
17: end if 
18: end if 
19: end for 
20: end function 
In questo algoritmo k è l’istante di transizione che viene estratto ad ogni 
iterazione. I parametri bk, dk e sk rappresentano, rispettivamente, la probabi- 
Laurea Magistrale in Informatica 14
2.2. NSDBN 
lità di aggiunta, rimozione e shift di un istante di transizione. Vi è inoltre la 
probabilità vk di effettuare un cambio di struttura, questa probabilità è rappre-sentata 
dall’ultimo else dell’algoritmo. Queste probabilità vengono ricalcolate 
ad ogni iterazione in base all’istante di transizione estratto. In base alle pro-babilità 
calcolate sull’istante k si sceglie, quindi, se modificare gli istanti di 
transizione o se modificare la struttura (DBN) della singola epoca. 
Un ulteriore modello non omogeneo, che è anch’esso un’ evoluzione delle 
DBN, è il Non Omogeneous Dynamic Bayesian Netowrk (NHDBN) (Robinson 
 Hartemink, 2010). 
Le NHDBN soffrono anch’esse le limitazioni delle DBN, legate alla trattazione 
del tempo in maniera discreta, tuttavia molti concetti sono stati ereditati per 
la formulazione della versione non omogenea delle CTBN. Per questo motivo 
approfondiremo le NHDBN nel seguito di questo capitolo. 
2.2 NSDBN 
Prima di procedere con la discussione dei punti chiave riguardanti le NHDBN, 
si presentano alcuni concetti fondamentali che ritorneranno utili in tutto lo 
svolgimento della tesi. 
Si assume di poter osservare lo stato di N variabili casuali discrete Xi. 
Questi dati temporali multivariati, D, si assumono essere generati da un pro-cesso 
non omogeneo sconosciuto. Si dice non omogeneo in quanto il grafo che lo 
rappresenta, G, è una sequenza di reti G1; G2; : : : ; GM (Robinson  Hartemink, 
2010). Si definisce il tempo di transizione del grafo tm l’istante temporale in 
cui Gm viene sostituito da Gm+1 nel processo di generazione dei dati. Si defini-sce 
epoca il periodo tra due tempi di transizione consecutivi, durante il quale 
è operativa una singola CTBN. 
Si ha quindi che un nodo può avere un insieme di genitori in una determi-nata 
epoca; tuttavia questo insieme può cambiare da un’epoca ad un’altra. 
Possiamo quindi definire le NHDBN come una sequenza di DBN, una per ogni 
epoca. Mediante questa suddivisione in epoche è infatti possibile rappresentare 
l’evoluzione nel tempo delle dipendenze condizionate tra variabili. 
Laurea Magistrale in Informatica 15
2.2. NSDBN 
2.2.1 Apprendimento NSDBN 
In questa sezione si vuole dare un idea generale di come funziona l’apprendi-mento 
di una NHDBN per poi affrontare nel dettaglio le principali problema-tiche. 
Per avere informazioni più dettagliate in merito si faccia riferimento al 
relativo articolo (Robinson  Hartemink, 2010). 
L’obbiettivo dell’apprendimento è quello di ricostruire l’intera sequenza di 
strutture di una NHDBN. Per raggiungerlo gli autori propongono un approccio 
probabilistico basato su Markov Chain Monte Carlo (MCMC) (Murphy, 2012). 
Il primo passo, per poter comprendere l’utilizzo del MCMC nel nostro caso 
specifico, è dare una definizione di stato. 
Definizione 2.1 (Stato nell’algoritmo Metropolis-Hastings (MH)). Si definisce 
stato, nell’algoritmo MCMC, l’intera sequenza di DBN che compone una NHDBN, 
con relativi istanti di transizione da un epoca all’altra. 
Adesso si può descrivere l’idea alla base di questo algoritmo mediante i 
seguenti passaggi: 
1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono 
equidistanti; 
2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x 
mediante una proposal distribution; 
3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-ceptance 
probability); 
4. se si accetta x’, si salva, e successivamente si setta x = x’ e si riparte 
dal punto 2; 
5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2. 
L’algoritmo termina quando si è raggiunto un numero prefissato di itera-zioni. 
L’obbiettivo è, dopo un congruo numero di iterazioni, di converge alla 
distribuzione target, ovvero alla NHDBN obbiettivo dell’apprendimento. 
La generazione di un nuovo stato viene effettuata utilizzando un insie-me 
di operazioni, tale insieme dipende da quali sono le informazioni in nostro 
possesso. Le tre casistiche, quando si parla di apprendimento di modelli non 
omogeneo, sono: 
Laurea Magistrale in Informatica 16
2.2. NSDBN 
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 
conoscono gli istanti temporali. 
Caso C: nessuna informazione, non si conosce né il numero di transizioni né 
gli istanti temporali. 
Nel caso A, essendo a conoscenza esattamente di quali sono le epoche 
avremo bisogno solo di operazioni per modificare le singole strutture. Tali 
operazioni sono quindi inerenti all’aggiunta e rimozione di un arco tra due 
nodi. 
Nel caso B, essendo a conoscenza del numero di epoche ma non di quali esse 
siano, oltre alle precedenti operazioni, avremo anche bisogno di una ulteriore 
operazione di shift che permette di far variare la grandezza dell’epoca. 
Nel caso C, di totale assenza di informazioni, oltre alle precedenti ope-razioni, 
avremo bisogno di ulteriori operazioni per poter variare il numero di 
epoche. Tali operazioni sono di merge, split e delete, di un epoca già esistente, 
e l’operazione di creazione di una nuova epoca. L’operazione di merge consiste 
nell’unire assieme un epoca con l’epoca successiva; L’operazione di split inve-ce 
consiste nel dividere a metà un epoca, andando quindi a creare due diverse 
epoche; L’operazione di delete elimina un istante di transizione, andando quin-di 
ad effettuare il merge tra un epoca e l’epoca precedente; Creare una nuova 
epoca invece consiste nell’aggiungere un istante di transizione. 
L’accettazione di un nuovo stato dipende innanzi tutto dalla probabilità 
di proporre il nuovo stato, ovvero dalle operazioni descritte precedentemente. 
Dipende inoltre anche dal likelihood ratio, che può essere rappresentato tramite 
la seguente formula: 
P(Djx0) 
P(Djx) 
Il likelihood ratio è quindi il rapporto tra la probabilità a posteriori del 
dataset D dato il nuovo modello x0 e la probabilità a posteriori sempre del 
dataset D dato il modello precedente x. Questa probabilità viene rappresentata 
mediante una funzione di score che analizzeremo in seguito. 
Laurea Magistrale in Informatica 17
2.2. NSDBN 
Una volta generata una sequenza di stati (i nostri campioni), ovvero di 
NHDBN, che converge alla nostra distribuzione target, gli autori Robinson e 
Hartermink propongono di calcolare il modello medio. Il modello medio si 
ottiene prendendo tutti quegli archi che occorrono in almeno il 50% dei cam-pioni. 
Anche per quanto concerne i tempi di transizione si mantengono quelli 
che occorrono nel maggior numero di campioni. 
A questo punto abbiamo visto in via generale come funziona l’apprendi-mento 
delle Non Omogeneous Dynamic Bayesian Netowrk (NHDBN). Un punto 
molto importante che si vuole approfondire è come viene costruita la funzione 
di score e tutte le problematiche ad essa collegate. Tali problematiche infatti si 
ripresenteranno, in maniera leggermente diversa, anche per le NHCTBN, e per 
questo le si dedica particolare attenzione. 
2.2.1.1 Score 
Nel costruire uno score che vada bene per le NHDBN quello di cui bisogna tenere 
conto è la presenza di più epoche. 
Si inizia considerando la singola epoca, per questo Robinson e Hartemink 
propongono uno score di tipo BDeu (Murphy, 2012) con una variazione: gli 
iperparametri  e  vengono pesati anche in base alla grandezza dell’epoca. 
Questo è equivalente a contare il numero di osservazioni presenti nella singola 
epoca, avendo le NHDBN una granularità delle osservazioni fissa, come nelle 
DBN. 
Valutato lo score delle epoche singolarmente, bisogna aggregare i singoli 
score per ottenere lo score globale della NHDBN. Un primo passo è moltiplicare 
gli score delle singole epoche, andando ad ottenere il seguente score: 
P(DjG1; :::;Gm; T) / 
Yn 
i=1 
Ypi 
h=1 
Yqih 
j=1 
(ij(Ih)) 
(ij(Ih) + Nij(Ih) 
Yri 
k=1 
(ijk(Ih) + Nijk(Ih) 
(ijk(Ih)) 
dove: 
 n è il numero di nodi della rete; 
 pi è il numero di epoche del modello; 
Laurea Magistrale in Informatica 18
2.2. NSDBN 
 qih è il numero di configurazioni di genitori del nodo i-esimo nell’epoca 
h-esima; 
 ri è il numero di configurazioni del nodo i-esimo, data la configurazione 
j-esima di genitori; 
 Ih è l’ampiezza dell’epoca h-esima; 
Rimane ancora un problema da affrontare, ovvero questa tipologia di sco-re 
(come anche lo score BDeu normale) tende a restituire valori più alti alle 
epoche con un numero minore di osservazioni. Questo porta a prediligere la 
ricostruzione di epoche più piccole. 
Questo problema si nota particolarmente nel caso C di totale mancanza 
di informazioni perché si tende a creare più epoche rispetto a quelle contenute 
nel modello reale e di piccole dimensioni (micro epoche). 
Pesare gli iperparametri per l’ampiezza dell’epoca non basta a risolvere 
tale problema. Per ottenere la giusta sequenza di osservazioni Robinson e 
Hartemink suggeriscono di sottrarre allo score dell’intera sequenza i seguenti 
valori: 
 c  numero_cambi: ovvero si moltiplica un parametro c per il numero 
di archi che cambiano tra epoche contigue, questo per scoraggiare cambi 
di struttura troppo bruschi tra epoche contigue; 
 e numero_epoche: ovvero si moltiplica un parametro e per il numero 
di epoche create. 
Entrambi questi valori guidano l’algoritmo alla scoperta delle giuste strut-ture 
e del giusto numero di epoche, andando a scoraggiare la creazione di micro 
epoche. 
Vedremo nel capitolo successivo come questa stessa problematica viene 
affrontata nel caso delle NHCTBN 
Laurea Magistrale in Informatica 19
Capitolo 3 
NHCTBN 
Nel capitolo precedente si è presentato il problema di modellare sistemi in 
cui le dipendenze condizionali tra le variabili non sono fissate ma variano nel 
tempo. In questo capitolo proponiamo le Non-Homogeneous Continuous Time 
Bayesian Network (NHCTBN) come soluzione a questo problema. 
Si inizia, quindi, fornendone la definizione. Successivamente si presenta 
l’argomento chiave di questa tesi, cioè l’apprendimento, per il quale si propone 
l’approccio basato su Simulated Annealing (SA). 
3.1 NHCTBN 
Le NHCTBN sono un evoluzione delle CTBN, in cui le dipendenze condizionali 
tra le variabili nel sistema che si sta modellando non sono fissate ma variano 
nel tempo. Possono quindi essere viste come una sequenza di CTBN. 
Si fornisce di seguito la definizione formale di NHCTBN. 
Definizione 3.1 (Non-Homogeneous Continuous Time Bayesian Network). 
Sia X un insieme di variabili casuali X1;X2; : : : ;XN. Ogni Xi ha un dominio 
finito, rappresentato da V al(Xi) = fx1; x2; : : : ; xng. Una Non-Homogeneous 
Continuous Time Bayesian Network N su X consiste di 2 componenti: 
 una distribuzione iniziale P0X 
, specificata come una BN B su X. 
 un modello di transizione a tempo continuo rappresentato da: 
– una sequenza di grafi orientati (anche ciclici) G = fG1; G2; : : : ; GMg, 
i cui nodi sono X1;X2; : : : ;XN. 
20
3.1. NHCTBN 
– un insieme di matrici di intensità condizionale QPae(Xi) 
Xi per ogni 
variabile Xi 2 X, dove Pae(Xi) denota i genitori di Xi nell’epoca 
e, definita come un intervallo omogeneo e = [m1;m2], con m1;m2 2 
f1; : : : ;Mg e m1  m2. 
Data la variabile casuale Xi, la CIM QPae(Xi) 
Xi consiste in un insieme di 
matrici di intensità, una matrice di intensità (IM): 
QPae(xi) 
Xi 
= 
2 
qPae(xi) 
666664 
x1 qPae(xi) 
x1x2    qPae(xi) 
x1xn 
qPae(xi) 
x2x1 qPae(xi) 
x2    qPae(xi) 
x2xn 
... 
... 
. . . 
... 
qPae(xi) 
xnx1 qPae(xi) 
xnx2    qPae(xi) 
xn 
3 
777775 
; 
per ogni istanziazione Pae(xi) dei genitori Pae(Xi) del nodo Xi, nell’epoca 
e, dove n è la cardinalità di V al(Xi). 
Si ha che: 
 con qPae(xi) 
xj = 
P 
xj6=x0 
j 
qPae(xi) 
xjx0 
j 
si intende la probabilità istantanea di 
lasciare lo stato xj , per una specifica istanziazione Pae(xi) nell’epoca e; 
 con qPae(xi) 
xjx0 
j 
si intende la probabilità istantanea di transizione dallo stato 
xj allo stato x0 
j per la variabile casuale Xi, per una specifica istanziazione 
Pae(xi) nell’epoca e. 
La IM può essere rappresentata usando due insiemi di parametri: 
 l’insieme delle intensità che parametrizzano le distribuzioni di quando 
occorrono le transizioni: 
qPae(xi) 
Xi 
= fqPae(xi) 
xj : xj 2 V al(Xn)g 
 l’insieme delle probabilità che parametrizzano le distribuzioni di dove 
occorrono le transizioni: 
Pae(xi) 
Xi 
= fPae(xi) 
xj;x0 
j 
= qPae(xi) 
xj;x0 
j 
=qPae(xi) 
xj : xj ; x0 
j 2 V al(Xi); xj6= x0 
jg: 
I concetti che si presentano nelle seguenti sezioni faranno riferimento al 
modello delle NHCTBN, sebbene molti di essi siano in comune con le CTBN. 
Laurea Magistrale in Informatica 21
3.2. Statistiche sufficienti e likelihood 
3.2 Statistiche sufficienti e likelihood 
Definita la struttura formale della rete, andiamo al passo successivo che è quello 
di mostrare cosa significa apprendere dai dati. 
In questa sezione si mostra come rappresentare i dati in maniera aggregata, 
utilizzando le statistiche sufficienti. Successivamente, con l’utilizzo di queste 
ultime, si presenta il concetto di likelihood dei dati rispetto ad un modello 
di NHCTBN predefinito, e trattando le likelihood si farà riferimento prima alla 
likelihood di un singolo nodo e poi la likelihood di un’intera struttura. 
3.2.1 Statistiche sufficienti 
Di seguito presentiamo la definizione di statistica sufficiente: 
Definizione 3.2 (Statistica Sufficiente per nodi senza genitori). Sia X un 
processo di Markov che non ha genitori in Ge (cioè Pae(X) = ;), e con spazio 
degli stati V al(X), definiamo la sua statistica sufficiente come: 
 Te[x], il tempo speso da X nello stato x 2 V al(X), nell’epoca e; 
 Me[x; x0], il numero di transizioni da x a x0 , con x06= x, occorse 
nell’epoca e. 
Dall’ultima statistica si può definire Me[x] = 
P 
xi6=xj 
Me[x; x0] come il numero 
di transizioni in uscita dallo stato x, nell’epoca e. 
Definizione 3.3 (Statistica Sufficiente per nodi con genitori). (Nodelman 
et al. , 2002b) Sia X un processo di Markov che ha almeno un genitore in Ge 
(cioè Pae(X)6= ;), e con spazio degli stati V al(X), definiamo la sua statistica 
sufficiente come: 
 Te[xju], il tempo speso da X nello stato x 2 V al(X), mentre i genitori 
hanno configurazione degli stati u, nell’epoca e; 
 Me[x; x0ju], il numero di transizioni da x a x0, con x06= x, mentre i 
genitori hanno configurazione degli stati u, nell’epoca e. 
Dall’ultima statistica si può definire Me[xju] = 
P 
xi6=xj 
Me[x; x0ju] come il 
numero di transizioni in uscita dallo stato x, mentre i genitori hanno configu-razione 
degli stati u, nell’epoca e. 
Laurea Magistrale in Informatica 22
3.2. Statistiche sufficienti e likelihood 
3.2.2 Likelihood di un singolo nodo 
Dato un processo di Markov omogeneo X(t), la likelihood dei dati è definita 
come un prodotto di likelihood, una per ogni transizione d = xd; td; x0 
d 2 D, 
che rappresenta la transizione allo stato x0 
d dopo aver passato un tempo pari a 
td nello stato xd. Si può scrivere la likelihood di una singola transizione d nel 
seguente modo: 
Lx(q;  : d) = Lx(q : d)Lx( : d) (3.1) 
= (qxdeqxd td)(xdx0 
d 
) (3.2) 
Moltiplicando le likelihood di tutte le transizioni d nell’epoca e, e facendo uso 
delle statistiche sufficienti si ha: 
Lx(qe; e : De) = 
0 
@ 
Y 
d2De 
Lx(qe : d) 
1 
A 
0 
@ 
Y 
d2De 
1 
A 
Lx(e : d) 
= 
  
Y 
x 
qMe[x] 
x eqxTe[x] 
!0 
@ 
Y 
x 
Y 
x06=x 
Me[xjx0] 
xx0 
1 
A: 
3.2.3 Likelihood di una struttura 
In una NHCTBN è necessario fornire la likelihood di ogni singola struttura Ge, 
per ogni epoca e. Si ha, quindi, che in ogni struttura ogni variabile X 2 X 
è condizionata dallo stato dei suoi genitori PaGe(X) nell’epoca e. Avendo i 
dati completi si conosce lo stato in cui si trovano i genitori durante tutta la 
traiettoria, quindi ad ogni istante si conosce la matrice di intensità QXjPaGe 
che governa la dinamica di X. La likelihood di Ge è scomponibile per variabile: 
LGe(qe; e : De) = 
Y 
X2X 
LX(qXjUe ; XjUe : De) 
= 
Y 
X2X 
LX(qXjUe : De)LX(XjUe : De) 
(3.3) 
Il termine LX(XjUe : De) rappresenta la probabilità delle transizioni di 
stato, e dipende solo dal valore dei genitori nell’istante della transizione, e 
quindi ignora il tempo in cui rimane nello stato precedente alla transizione. 
Laurea Magistrale in Informatica 23
3.2. Statistiche sufficienti e likelihood 
Usando le statistiche sufficienti è possibile scrivere: 
LX(XjUe : De) = 
Y 
u2Ue 
Y 
x2X 
Y 
x06=x 
Me[x;x0ju] 
xx0jue (3.4) 
Il termine LX(qXjUe : De) rappresenta la likelihood del parametro qXjUe 
rispetto ai dati De, ed è funzione del tempo. 
Per riscrivere questo termine si ricorre alla statistica sufficiente Te[xju], 
che è scomponibile in 2 parti: Te[xju] = Tr 
e [xju] + Tc 
e [xju], dove Tr 
e [xju] rap-presenta 
la somma dei td delle transizioni che terminano con X invariato, e 
Tc 
e [xju] la somma dei td delle transizioni che terminano con X in uno stato 
differente. Questo perché la transizione può essere dovuta al cambio di stato 
della variabile oppure al cambio di stato di uno dei suoi genitori. 
Ora è possibile scrivere: 
LX(qXjUe : De) = 
  
Y 
u2Ue 
Y 
x2X 
qMe[xju] 
xjue 
eqxjueTc 
e [xju] 
! 
 
  
Y 
u2Ue 
Y 
x2X 
eqxjueTr 
e [xju] 
! 
= 
Y 
u2Ue 
Y 
x2X 
qMe[xju] 
xjue 
eqxjueTe[xju] 
(3.5) 
di conseguenza non è necessario distinguere Tr 
e [xju] e Tc 
e [xju], ma è sufficiente 
usare Te[xju]. 
Sostituendo le equazioni 3.4 e 3.5 nell’equazione 3.3 si ottiene: 
LGe(qe; e : De) = 
Y 
X2X 
LX(qXjUe ; XjUe : De) 
= 
Y 
X2X 
0 
@ 
Y 
u2Ue 
Y 
x2X 
Y 
x06=x 
Me[x;x0ju] 
xx0jue 
 
Y 
u2Ue 
Y 
x2X 
qMe[xju] 
xjue 
eqxjueTe[xju] 
1 
A 
(3.6) 
Passando ai logaritmi, per evitare produttorie di valori molto piccoli, ab- 
Laurea Magistrale in Informatica 24
3.3. Apprendimento di una NHCTBN 
biamo: 
`Ge(qe; e : De) = 
X 
X2X 
i 
h 
`X(qXjUe : De) + `X(XjUe : De) 
= 
 
X 
u2Ue 
X 
x2X 
# 
Me[xju] ln(qxjue)  qxjueTe[xju] 
+ 
2 
4 
X 
u2U 
X 
x2X 
X 
x06=x 
Me[x; x0ju] ln(xx0jue) 
3 
5; 8X 2 X 
(3.7) 
3.3 Apprendimento di una NHCTBN 
Fatte salve tutte le definizioni precedentemente enunciate atte a definire che 
cos’è una NHCTBN, passiamo ad approfondire l’apprendimento di una NHCTBN 
a partire dai dati. 
La fase di apprendimento si compone di due parti: 
 apprendimento dei parametri data una struttura Ge, per ogni epoca e, 
dai dati disponibili; 
 apprendimento della successione di strutture G1; G2; : : : ; GM che compon-gono 
la NHCTBN. 
Si forniscono alcune definizioni necessarie alla comprensione della fase di ap-prendimento. 
Definizione 3.4 (Traiettoria). Dato un insieme di processi di Markov X(t) = 
(X1(t);X2(t); : : : ;XN(t)), una traiettoria è un’istanziazione delle variabili X(t) 
per ogni valore di t. 
In questo documento si tratterà l’apprendimento solo per dati completi. 
Per l’apprendimento con dati incompleti, cioè nel caso in cui si hanno alcune 
variabili non osservate, si rimanda a (Nodelman, 2007). 
Definizione 3.5 (Dati Completi). (Nodelman, 2007) Dato un insieme di va-riabili 
casuali X = (X1;X2; : : : ;XN), un insieme di dati D = (1; 2; : : : ; h) si 
dice completo se ogni i è una traiettoria completamente osservata, ovvero se 
per ogni punto nel tempo di ogni traiettoria si conosce la completa istanziazione 
di tutte le variabili Xi. 
Laurea Magistrale in Informatica 25
3.3. Apprendimento di una NHCTBN 
3.3.1 Apprendimento dei parametri 
Per quanto riguarda l’apprendimento dei parametri per una rete, data la strut-tura 
Ge, con dati completi De, per l’epoca e, nella letteratura specializzata sono 
disponibili due approcci: 
 Approccio Maximum-Likelihood, si stimano i parametri in modo da mas-simizzare 
la likelihood in Equazione 3.7. 
 Approccio Bayesiano, si sceglie una distribuzione a priori per i parametri 
e la si aggiorna in base ai dati. 
3.3.1.1 Approccio Maximum-Likelihood 
Teorema 3.1. (Nodelman et al. , 2002b) I parametri che massimizzano la 
likelihood dell’Equazione 3.7 sono: 
^qxjue = 
Me[x j u] 
Te[x j u] 
^xx0jue = 
Me[x; x0 j u] 
Me[x j u] 
(3.8) 
Questi parametri vengono chiamati Maximum Likelihood Estimation (MLE) 
parameters. 
Il parametro ^qxjue si ricava eguagliando le medie: il tempo medio che una 
variabile X rimane nello stato x, con configurazione dei genitori u, nell’epoca e 
prima di una transizione è pari a Te[xju]=Me[xju]. La media della distribuzione 
esponenziale di parametro qxjue è 1=qxjue . Si ha quindi: 
1 
qxjue 
= 
Te[x j u] 
Me[x j u] 
qxjue = 
Me[x j u] 
Te[x j u] 
La probabilità che una variabile X transiti dallo stato x allo stato x0, quando i 
genitori hanno configurazione dello stato u, nell’epoca e, è stimabile tramite il 
rapporto tra il numero totale di transizioni da x a x0 (Me[x; x0ju]) e il numero 
totale di transizioni in uscita dallo stato x (Me[xju]). Si ha quindi: 
^xx0jue = 
M[x; x0 j u]e 
M[x j u]e 
: 
Laurea Magistrale in Informatica 26
3.3. Apprendimento di una NHCTBN 
3.3.1.2 Approccio Bayesiano 
Per l’approccio Bayesiano, invece, è necessario definire una distribuzione a 
priori per i parametri della rete. Al fine di avere un calcolo efficiente si è scelto 
di usare una distribuzione a priori coniugata. 
Per prima cosa si costruisce una distribuzione a priori adatta per un singolo 
processo di Markov, la quale possiede due insiemi di parametri: 
 una distribuzione esponenziale di parametri q, nel caso specifico si è scelta 
la Distribuzione Gamma P(q) = Gamma(;  ), dove 
P(q) = 
( )+1 
( + 1) 
qeq 
 una distribuzione multinomiale di parametri , nel caso specifico si è scel-ta 
la Distribuzione di Dirichlet P() = Dir(xx1 ; : : : ; xxk ) (Heckerman, 
1996). 
Osservazione. L’iperparametro1 xx, chiamato dimensione equivalente del 
campione, è costituito dalla somma dei conteggi immaginari xx1 +: : :+xxk , 
chiamati pseudo-conteggi (Steck, Harald and Jaakkola, 2002). 
Assumendo che i due parametri siano indipendenti, ovvero che P(e; qe) = 
P(e)P(qe), si ottengono le seguenti distribuzioni a posteriori: 
P(jD) = Dir(xx1 +M[x; x1]; : : : ; xxk +M[x; xk]) 
P(qjD) = Gamma(x +M[x]; x + T[x]) 
Si vuole ora estendere l’idea all’intera rete riferita all’epoca e. Si assume che 
in una Bayesian Network (BN) (Heckerman, 1996) valgano la global parameter 
independence: 
P(qe; e) = 
Y 
X2X 
P(qXjPa(X)e; XjPa(X)e) 
e la local parameter independence: 
P(qXjUe ; XjUe) = 
  
Y 
x2X 
Y 
u2Ue 
!  
P(qxju) 
Y 
x2X 
Y 
u2Ue 
! 
: 
P(xju) 
1I parametri di una distribuzione a priori vengono chiamati iperparametri 
Laurea Magistrale in Informatica 27
3.3. Apprendimento di una NHCTBN 
Se le distribuzioni a priori scelte soddisfano le precedenti assunzioni, si ha 
che anche le distribuzioni a posteriori le soddisfano (essendo coniugate), ed 
è quindi possibile mantenere la distribuzione parametrica in forma chiusa, ed 
aggiornarla con le statistiche sufficienti. 
Data una distribuzione parametrica è possibile usarla per prevedere il pros-simo 
evento, mediando la probabilità dell’evento su tutti i possibili valori dei 
parametri. Questa previsione è equivalente all’uso dei valori attesi, che hanno 
la stessa forma dei parametri MLE, ma tengono conto dei conteggi immaginari 
degli iperparametri: 
^qxjue = 
x j ue +Me[x j u] 
x j ue + Te[x j u] 
^xx0jue = 
xx0jue +Me[x; x0 j u] 
xjue +Me[x j u] 
Osservazione. La scelta di questi parametri, teoricamente, è valida solo per 
prevedere una transizione, dopo la quale, bisognerebbe aggiornare i parametri 
di conseguenza. D’altra parte, in questi casi, è possibile approssimare il calcolo 
esatto, usando questi parametri per prevedere una traiettoria intera. 
3.3.2 Apprendimento della struttura 
Per apprendimento della struttura si intende il processo mediante il quale, a 
partire dai dati disponibili, si effettua una ricerca delle relazioni tra le variabili 
a cui si riferiscono i dati. 
Poichè le NHCTBN non hanno vincoli di aciclicità, l’apprendimento della 
struttura è molto più semplice rispetto alle DBN, per le quali consiste nel ri-solvere 
un problema di ottimizzazione NP-completo (Chickering, 1994). Si ha 
quindi che l’apprendimento della struttura è la ricerca della miglior configura-zione 
di genitori per un nodo. Tale ricerca, nel caso delle NHCTBN, la si può 
effettuare nodo per nodo. 
Per l’apprendimento della struttura si intende utilizzare, come per le BN, 
l’approccio SearchScore, in cui definiremo una funzione di score per confron-tare 
la bontà delle possibili strutture della rete e selezionare quella che meglio 
si adatta ai dati. 
Laurea Magistrale in Informatica 28
3.3. Apprendimento di una NHCTBN 
3.3.2.1 Funzione di scoring 
Come già detto, poichè una NHCTBN consiste in una sequenza di grafi orientati, 
è necessario introdurre una funzione di scoring per il singolo grafo. Nella sot-tosezione 
3.3.3 si mostra come comporre gli score dei singoli grafi per ottenere 
lo score dell’intera sequenza 
In questa tesi si è deciso di utilizzare uno score di tipo Bayesiano, e poiché 
il principio dell’approccio Bayesiano implica la definizione di una distribuzione 
a priori ovunque ci sia incertezza, come in questo caso, si definisce, quindi, una 
distribuzione a priori per la struttura nell’epoca e P(Ge) e una per i parametri 
P(GejGe). Applicando il teorema di Bayes si ha: 
P(Ge j De) = 
P(De j Ge)P(Ge) 
P(De) 
con De si intende l’istanziazione delle variabili negli istanti di tempo contenuti 
nell’epoca e. 
Dato che il denominatore è solo un fattore di normalizzazione, esso non è 
necessario per distinguere due strutture, per cui è possibile definire lo score 
come (Koller  Friedman, 2009): 
scoreB(Ge : De) = ln P(De j Ge) + ln P(Ge) (3.9) 
Inoltre, per aumentare l’efficienza dell’algoritmo di ricerca, si assume che 
le distribuzioni a priori scelte soddisfino le seguenti proprietà (Nodelman et al. 
, 2002b): 
 P(Ge) soddisfi la structure modularity, cioè 
P(Ge) = 
NY 
i=1 
P(Pae(Xi) = PaGe(Xi)) 
 parameter modularity, cioè per qualsiasi coppia di strutture Ge e G0e 
tali che PaGe(X) = PaG0e 
(X) con e fissato, vale P(qx; X j Ge) = 
P(qx; X j G0e 
) 
Combinando la parameter modularity con il fatto che i parametri sono 
Laurea Magistrale in Informatica 29
3.3. Apprendimento di una NHCTBN 
indipendenti, abbiamo: 
P(qGe ; Ge ; j Ge; ) = 
Y 
Xi 
P(qXijUei 
j Pae(Xi) = PaGe ; (Xi))P(XijUei j Pae(Xi) = PaGe ; (Xi)) 
Dato che P(Ge) non cresce con l’aumentare dei dati, la parte significativa 
nell’Equazione 3.9 è la marginal likelihood P(DejGe). Questo termine incorpora 
l’incertezza sui parametri integrando su tutti i loro possibili valori 
P(De j Ge) = 
Z 
qGe ;Ge 
P(De j qGe ; Ge)P(qGe ; Ge j Ge) dqGe dGe 
La likelihood si può scomporre in un prodotto di likelihood: 
P(De j qGe ; Ge) = 
Y 
Xi 
LXi(qXijuei : De)LXi(Xijuei : De) 
= 
0 
@ 
Y 
Xi 
LXi(qXijuei : De) 
1 
A 
| {z } 
L(q:De) 
0 
@ 
Y 
Xi 
1 
A 
LXi(Xijuei : De) 
| {z } 
L(:De) 
Combinando questa decomposizione e la global parameter independence 
abbiamo: 
P(De j Ge) = 
Z 
qGe ;Ge 
L(qGe : De)L(Ge : De)P(Ge)P(qGe) dqGe dGe 
= 
 Z 
qGe 
L(qGe : De)P(qGe) dqGe 
! 
(3.10) 
 
 Z 
Ge 
L(Ge : De)P(Ge) dGe 
! 
(3.11) 
Usando la local parameter independence il termine (3.10) si può decomporre 
Laurea Magistrale in Informatica 30
3.3. Apprendimento di una NHCTBN 
nel seguente modo: 
Y 
X2X 
Y 
ue 
Y 
x 
Z 1 
0 
P(qxjue)Lx(qxjue : De) dqxjue 
= 
Y 
X2X 
Y 
ue 
Y 
x 
Z 1 
0 
xjue 
(xjue ) 
+1 
(xjue+1) (qxjue)xjue eqxjue xjue 
(qxjue)Me[xju]eqxjueTe[xju] dqxjue 
= 
Y 
X2X 
Y 
ue 
Y 
x 
Z 1 
0 
2 
4 
xjue 
(xjue ) 
+1 
(xjue+1) (qxjue)xjue+Me[xju] 
eqxjue (xjue+Te[xju]) 
3 
5dqxjue 
= 
Y 
X2X 
Y 
ue 
Y 
x 
(xjue +Me[xju] + 1)(xjue)xjue+1 
(xjue + 1)(xjue + Te[xju])xjue+Me[xju]+1 (3.12) 
= 
Y 
X2X 
MargLq(X;PaGe(X) : De) 
Poiché la distribuzione dei parametri  è Dirichlet, l’analisi dell’Equazione 3.11 
è analoga a quella delle BN, quindi: 
Y 
X2X 
Y 
ue 
Y 
x 
(xjue) 
(xjue +Me[xju]) 
 
Y 
x06=x 
(xx0jue +Me[x; x0ju]) 
(xx0jue) 
(3.13) 
= 
Y 
X2X 
MargL(X;PaGe(X) : De) (3.14) 
Usando queste due scomposizioni, e assumendo la structure modularity, lo 
score Bayesiano dell’Equazione 3.9 può essere ora scomposto come una somma 
di family score denotati come FamScore(X;PaGe(X) : De), che assegna un 
punteggio ai genitori di X (ovvero PaGe(X)), così da poter scegliere per ogni 
nodo X 2 X i genitori che massimizzano il family score 
scoreB(Ge : De) = 
X 
Xi2X 
FamScore(Xi;PaGe(Xi) : De) 
= 
X 
Xi2X 
ln P(Pae(X) = PaGe(Xi)) + lnMargLq(Xi;Ui : De) + lnMargL(Xi;Ui : De) 
Si giunge, così, a definire lo score della struttura, in una singola epoca prefissata 
e, come una somma di score locali, uno per ogni nodo X. 
Laurea Magistrale in Informatica 31
3.3. Apprendimento di una NHCTBN 
3.3.2.2 Ricerca della struttura 
Passiamo ora alla ricerca della struttura Ge per la singola epoca e. Questo è un 
problema di ottimizzazione, ed è stato formalizzato sotto il nome di K-Learn. 
Il K-Learn consiste nella ricerca della struttura che massimizza lo score, 
vincolando ogni nodo ad avere al massimo k genitori. Per le BN è un problema 
NP-hard già con K uguale a 2 (Chickering, 1994). La motivazione è che le BN 
sono soggette al vincolo di aciclicità, e quindi la determinazione dei genitori 
ottimali di un nodo è condizionata dalla scelta effettuata per gli altri nodi. La 
stessa complessità si ha anche sulle DBN se ammettiamo archi intra time slice. 
Nel caso delle NHCTBN gli archi rappresentano l’effetto del valore corrente di 
una variabile, sul prossimo valore di un’altra variabile. Quindi, nelle NHCTBN 
non è presente il vincolo di aciclitià. Senza tale vincolo è possibile ottimizzare 
la ricerca dei genitori effettuandola nodo per nodo, indipendentemente dagli 
altri nodi. 
Teorema 3.2. (Nodelman, 2007) Dato K, il problema K-Learn per una strut-tura 
di una NHCTBN può essere risolto in tempo polinomiale rispetto al numero 
di variabili N e alla dimensione dei dati D. 
Si ha, quindi, che è possibile ricavare in tempo polinomiale una struttura 
a partire dai dati D. 
3.3.3 Apprendimento della sequenza 
Per poter affrontare l’apprendimento dell’intera sequenza di strutture della 
NHCTBN è necessario fornire un’altra funzione di scoring, ma questa volta, per 
l’intera sequenza. 
La funzione di scoring per la sequenza G = fG1; G2; : : : ; GEg (Robinson  
Hartemink, 2010) è definita come segue: 
scoreB(G : D) = 
XE 
e=1 
scoreB(Ge : De)  
XE 
e=2 
c(Ge; Ge1)  eE (3.15) 
dove c(Ge; Ge1) è il numero di cambi di archi dalla struttura per l’epoca 
e  1 alla struttura per l’epoca e, pesato per un certo parametro c, e eE è 
il numero di epoche per un certo parametro e. 
Laurea Magistrale in Informatica 32
3.3. Apprendimento di una NHCTBN 
Osservazione. Le strutture ottime localmente ad ogni epoca non è detto che 
formino la sequenza ottima di strutture. Questo deriva dallo score dell’intera 
sequenza che pesa, tramite c, il numero di cambi di archi tra epoche contigue, e 
tramite e il numero di epoche totali. Si vuole infatti evitare sia che le strutture 
cambino in maniera considerevole in due epoche contigue, sia la presenza di 
un numero elevato di epoche. 
Nell’apprendimento della sequenza di strutture particolare attenzione va 
alla pesatura degli iperparametri xx0jue e xjue presenti nelle equazioni 3.12 e 
3.13. 
In questa tesi proponiamo quattro tipologie di pesatura, le prime due si 
basano sullo score di tipo BDe (Murphy, 2012) e sono: 
1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata: 
xx0jue = xx0jue  
#Osservazioni_Epoca 
#Osservazioni_Totali 
(3.16) 
xjue = xjue  
#Osservazioni_Epoca 
#Osservazioni_Totali 
(3.17) 
2. Pesatura basata sull’ampiezza dell’epoca considerata: 
xx0jue = xx0jue  
te  te1 
T 
(3.18) 
xjue = xjue  
te  te1 
T 
(3.19) 
dove T è l’ampiezza temporale dell’intero dataset. 
Le ultime due invece si basano sullo score di tipo BDeu (Murphy, 2012) e 
sono: 
1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata: 
xx0jue = 
xx0jue 
qi  ri 
 
#Osservazioni_Epoca 
#Osservazioni_Totali 
(3.20) 
xjue = 
xjue 
qi  ri 
 
#Osservazioni_Epoca 
#Osservazioni_Totali 
(3.21) 
Laurea Magistrale in Informatica 33
3.3. Apprendimento di una NHCTBN 
2. Pesatura basata sull’ampiezza dell’epoca considerata: 
xx0jue = 
xx0jue 
qi  ri 
 
te  te1 
T 
(3.22) 
xjue = 
xjue 
qi  ri 
 
te  te1 
T 
(3.23) 
dove T è l’ampiezza temporale dell’intero dataset mentre qi ed ri sono, 
rispettivamente, il numero di stati congiunti dei genitori del nodo i, e il 
numero di stati del nodo i. 
La pesatura introdotta nella BDeu ha lo scopo di non favorire quei nodi che 
hanno un elevato numero di stati o un elevato numero di genitori. L’introduzio-ne 
invece della pesatura sull’ampiezza dell’epoca o sul numero di osservazioni 
serve per non favorire lo score di epoche troppo corte o con poche osservazioni. 
A questo punto è necessario affrontare un altro problema, quello delle 
informazioni che si hanno sui dati a disposizione. 
Poiché nell’apprendimento di una rete non omogenea è necessario sapere 
quante transizioni2 ci sono ed il punto esatto in cui queste avvengono, e queste 
due informazioni non sempre sono disponibili nei dati, si contemplano quindi 
tre casi: 
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 
conoscono gli istanti temporali. 
Caso C: nessuna informazione, non si conosce né il numero di transizioni né 
gli istanti temporali. 
Questi tre casi sono gli stessi visti nella trattazione delle NHDBN 
3.3.4 Apprendimento della sequenza: Approccio SA 
Il problema che si vuole affrontare è la mancanza di informazioni, Caso B 
e Caso C, ovvero non sapere dove sono gli istanti di transizione da un epo-ca 
all’altra o addirittura non sapere nemmeno quanti sono. La soluzione è 
2Istanti temporali in cui la rete Ge+1 sostituisce la rete Ge 
Laurea Magistrale in Informatica 34
3.3. Apprendimento di una NHCTBN 
un’approccio probabilistico che permette di ottenere queste informazioni in 
modo tale da riportarsi al Caso A. Una volta che l’informazione è completa 
l’apprendimento della sequenza si esegue in maniera esatta. Questo significa 
che una volta individuate le informazioni mancanti è possibile ricostruire la 
struttura ottima, a patto che le informazioni individuate siano corrette. 
L’approccio probabilistico che si è scelto di utilizzare è basato sull’algoritmo 
Simulated Annealing (SA) (Murphy, 2012). 
Il primo passo, per poter comprendere l’utilizzo dell’algoritmo SA nel nostro 
caso specifico, è fornire una definizione di stato. 
Definizione 3.6 (Stato nell’algoritmo SA). Si definisce stato, nell’algoritmo 
SA, la sequenza di istanti di transizione (da un’epoca all’altra) di una NHCTBN. 
Adesso si può descrivere l’idea alla base di questo algoritmo mediante i 
seguenti passaggi: 
1. si parte da uno stato iniziale x, in cui gli istanti di transizioni 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 (ac-ceptance 
probability); 
4. se si accetta x’, si salva, e 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. 
Osservazione. Nel caso C, di totale mancanza di informazione, lo stato ini-ziale 
consiste non solo in istanti di transizione equidistanti ma anche nell’e-strazione 
di un numero di epoche iniziali di partenza. 
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 l’NHCTBN ricostruita a partire dallo stato 
più probabile. 
Per ottenere la struttura con score massimo bisogna ancora specificare: 
1. come è definita l’acceptance probability; 
Laurea Magistrale in Informatica 35
3.3. Apprendimento di una NHCTBN 
2. quali sono le operazioni necessarie per generare nuovi stati. 
Il punto 2 verrà trattato nel dettaglio nelle successive sottosezioni, di se-guito 
si descrive come è calcolata l’acceptance probability. 
L’acceptance probability viene calcolata come l’esponenziale della dif-ferenza 
tra, la probabilità del nuovo stato, e la probabilità dello stato attuale. 
Se questo valore è  1, ovvero lo stato x’ ha una probabilità maggiore o uguale 
a x, allora x’ viene accettato. Tuttavia se il nuovo stato ha una probabilità 
minore del precedente si ha comunque una probabilità, determinata dalla dif-ferenza 
precedente, di accettarlo ugualmente. Questo accorgimento serve per 
evitare di rimanere bloccati in massimi locali. 
In formule si può scrivere come: 
 = exp(P(x0)  P(x)) (3.24) 
Osservazione. Si fa notare che la probabilità degli stati si ottiene dallo score 
della NHCTBN che individuano. 
Osservazione. Il valore di accettazione  si può moltiplicare per un parametro 
acceptance 2 (0; 1] al fine di rendere meno probabile l’accettazione di un nuovo 
stato. Tale parametro viene inserito dall’utente. 
Una miglioria consiste nell’introdurre una funzione di cooling. Questa 
funzione restituisce un valore 2 [0; 1] che decresce in funzione del tempo (nu-mero 
dell’iterazione corrente). Tale valore viene moltiplicato per l’acceptance 
probability (solo quando acceptance probability  1) facendo si che più si 
va avanti con le iterazioni più si rende difficile accettare uno stato con score 
peggiore di quello attuale. 
3.3.4.1 Informazione completa 
Si entra ora nello specifico del caso A, in cui si è a conoscenza sia del numero 
di transizioni che degli istanti temporali in cui tali transizioni avvengono. 
In questa situazione si è a conoscenza dell’informazione completa necessaria 
per l’apprendimento della NHCTBN. Non è quindi necessario eseguire l’algorit-mo 
SA, tuttavia la si riporta in questa sezione in quanto è il caso base a cui si 
ricollegano il caso B e il caso C 
Laurea Magistrale in Informatica 36
3.3. Apprendimento di una NHCTBN 
Avendo a disposizione tutte le informazioni l’approccio di risoluzione è 
esatto e consiste nei seguenti punti: 
1. calcolare gli score di tutte le possibili combinazioni di k-parent set (k 
fissato), di tutti i nodi, in tutte le epoche; 
2. scegliere per ogni nodo e per ogni epoca i k-parent set che massimizzano 
lo score dell’intera sequenza, tenendo conto dello specifico valore di c 
come visto nella sottosezione 3.3.3; 
Il punto 2 si può ripetere per più valori di c i quali si estraggono da una 
distribuzione gamma. Questo porta a trovare diverse NHCTBN. Non è invece 
necessario calcolare il e, che sarà quindi impostato a 0, essendo a conoscenza 
dell’informazione esatta sul numero di epoche. 
Di seguito è riportato l’algoritmo completo in cui si può notare che: 
 Riga 4-6: si cicla su tutte le epoche, sul numero massimo di genitori e su 
tutti i nodi; 
 Riga: 7: vengono create tutte le combinazioni di k-parentSet per un k 
fissato; 
 Riga: 8-9: si calcola lo score per un determinato parentSet U; 
 Riga 14: si ritorna il parentSet con score massimo. 
Laurea Magistrale in Informatica 37
3.3. Apprendimento di una NHCTBN 
Algoritmo 2 Apprendimento sequenza NHCTBN - SA - Informazione completa 
Require: Massimo numero di genitori K, insieme di traiettorie completamen-te 
osservate D, istanti di transizione T, valore del lambda cambi c, valore 
del lambda epoche e. 
Ensure: Sequenza di strutture con il miglior score per i dati D 
EnumerateParents(Xi; k) è una funzione che enumera tutte le possibili 
combinazioni di k genitori per il nodo Xi. 
CalculateScore(Xi;U;D; Tfirst; Tlast; c) è una funzione che calcola 
lo score del nodo Xi con insieme dei genitori U dai dati D compresi 
nell’intervallo da Tfirst a Tlast, per un c prefissato. 
getBestParentSet(score[], c, e) è una funzione che dati in input gli 
score, il valore del lambda cambi e dei lambda epoca, e ritorna il migliori 
parent set globali con relativo score. 
1: function LearnFullInformation(K;D; T; c; e) 
2: E   Length[T] + 1 
3: bestP arent[N;E]   ; 
4: for e   1 to E do 
5: for k   0 to K do 
6: for i   1 to N do 
7: parentSet   EnumerateParent(Xi; k) 
8: for all U in parentSet do 
9: score[e]:add( CalculateScore(Xi;U;D; T[e]; T[e + 
1]; c; e)) 
10: end for 
11: end for 
12: end for 
13: end for 
14: bestP arentSet   getBestParentSet(score[], c,e) 
15: return bestP arentSet 
16: end function 
3.3.4.2 Informazione parziale 
Si entra ora nello specifico del caso B, in cui si è a conoscenza solamente del 
numero di transizioni, ma non degli istanti temporali in cui tali transizioni 
avvengono. Si entra quindi nel vivo dell’algoritmo SA. 
Si definisce di seguito l’operatore che, ad ogni iterazione dell’algoritmo, 
ci propone un nuovo stato in cui spostarci, a partire da quello attuale. In 
questo caso, in cui il numero di istanti di transizione è noto, può variare solo 
la posizione dei suddetti. Sarà quindi necessario utilizzare un solo operatore 
che si occupa dello shift degli istanti temporali di transizione. 
Laurea Magistrale in Informatica 38
3.3. Apprendimento di una NHCTBN 
Si propongono due tipologie di shift che l’utente può selezionare: omogeneo 
e proporzionale. 
Lo shift omogeneo funziona nel seguente modo: 
1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando 
una distribuzione di probabilità uniforme; 
2. si estrae un ulteriore valore u  U[1; 1]; 
3. si propone infine lo spostamento s = t + shift  u. 
Osservazione. Mentre il valore u definisce la direzione dello spostamento, il 
parametro shift definisce la grandezza dello spostamento. 
Lo shift proporzionale funziona nel seguente modo: 
1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando 
una distribuzione di probabilità uniforme, supponendo che t separi le 
epoche (ta; t)(t; tb); 
2. si estrae un ulteriore valore u  U[1; 1]; 
3. se u  0 allora si propone lo spostamento s = t + shift  u  (t  ta) 
4. altrimenti si propone lo spostamento s = t + shift  u  (tb  t) 
Osservazione. Lo shift proporzionale permette di eseguire uno spostamento 
che non è fisso, ma che appunto è proporzionale alla distanza dei tempi contigui 
a t. 
Osservazione. E’ inoltre possibile fornire una versione discreta degli operatori 
di shift, che consiste nel ritornare non il tempo generato dall’operatore, ma 
quello dell’osservazione più vicina (a tale tempo) presente nel dataset. 
Per entrambe le versioni, al valore di shift viene associato una funzione 
di cooling, come per l’acceptance probability, al fine di diminuire la grandezza 
dello spostamento proposto in proporzione al numero di iterazioni dell’algorit-mo. 
L’idea generale di funzionamento dell’algoritmo SA, descritta nella sotto-sezione 
3.3.4, si riferisce all’apprendimento di una sola sequenza di stati. Nel 
caso B, invece, si estraggono più c da una distribuzione gamma, come per il 
Laurea Magistrale in Informatica 39
3.3. Apprendimento di una NHCTBN 
caso A, e per ognuno di essi si fa partire una sequenza differente. Alla fine, 
da tutti gli stati contenuti in ogni sequenza, si ritorna lo stato più probabile 
con il modello NHCTBN che esso individua. 
Non è invece necessario valutare il e, che sarà impostato a 0, essendo noto 
il numero di epoche. 
Di seguito è riportato l’algoritmo completo in cui si può notare che: 
 Riga 2-7: si estrae un numero pari ad N di valori c e si fa partire una 
nuova sequenza per ogni valore estratto; 
 Riga 8: per ogni sequenza si effettua un numero pari ad IT di iterazioni; 
 Riga 9-11: Si genera il nuovo stato, ricostruendone la struttura, e si 
calcola l’acceptance probability; 
 Riga 12-20: Si decide se accettare o meno il nuovo stato in accordo con 
l’acceptance probability; 
 Riga 25: Si ritorna la sequenza ricostruita da cui poi si andrà ad estrarre 
la struttura con score massimo; 
Laurea Magistrale in Informatica 40
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Mais conteúdo relacionado

Mais procurados

Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Andrea Bidinost
 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...fcecutti
 
Modellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAModellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAkylanee
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...lucafiore1
 
Applicazioni intelligenzaartificiale
Applicazioni intelligenzaartificialeApplicazioni intelligenzaartificiale
Applicazioni intelligenzaartificialeAntonella79
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markovrkjp
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYvantasso
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Marco Tannino
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...maaske
 
Banovaz Diego - Tesi
Banovaz Diego - TesiBanovaz Diego - Tesi
Banovaz Diego - TesiDiego Banovaz
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Antonio Sanfelice
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleGiovanni Schettino
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Fulvio Corno
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound SystemAntonioTringali
 

Mais procurados (20)

Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
 
Tesi
TesiTesi
Tesi
 
Modellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAModellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDA
 
Tesi Nicola Pretto
Tesi Nicola PrettoTesi Nicola Pretto
Tesi Nicola Pretto
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
 
Applicazioni intelligenzaartificiale
Applicazioni intelligenzaartificialeApplicazioni intelligenzaartificiale
Applicazioni intelligenzaartificiale
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markov
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
 
Andrea_Gangemi_tesi
Andrea_Gangemi_tesiAndrea_Gangemi_tesi
Andrea_Gangemi_tesi
 
Banovaz Diego - Tesi
Banovaz Diego - TesiBanovaz Diego - Tesi
Banovaz Diego - Tesi
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettrale
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound System
 

Destaque

大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組みShinji Shimojo
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisGuido Colangiuli
 
Mal pwps
Mal pwpsMal pwps
Mal pwpsshimnas
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt correctedshimnas
 
Mal pwps
Mal pwpsMal pwps
Mal pwpsshimnas
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt correctedshimnas
 
powerpoint presentation
powerpoint presentationpowerpoint presentation
powerpoint presentationshimnas
 
Mal pwps
Mal pwpsMal pwps
Mal pwpsshimnas
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt correctedshimnas
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt correctedshimnas
 
Future Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and TestbedFuture Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and TestbedShinji Shimojo
 
Mitsubishi s500 e-vfd-detailed
Mitsubishi s500 e-vfd-detailedMitsubishi s500 e-vfd-detailed
Mitsubishi s500 e-vfd-detailedawatori
 
Adjective presentation
Adjective presentationAdjective presentation
Adjective presentationRENU PRIYA
 

Destaque (18)

大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
 
Mal pwps
Mal pwpsMal pwps
Mal pwps
 
Faculty member
Faculty memberFaculty member
Faculty member
 
Presentation1
Presentation1Presentation1
Presentation1
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt corrected
 
Mal pwps
Mal pwpsMal pwps
Mal pwps
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt corrected
 
powerpoint presentation
powerpoint presentationpowerpoint presentation
powerpoint presentation
 
Mal pwps
Mal pwpsMal pwps
Mal pwps
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt corrected
 
Common Direction—MFA Thesis
Common Direction—MFA ThesisCommon Direction—MFA Thesis
Common Direction—MFA Thesis
 
Shimna assmnt corrected
Shimna assmnt correctedShimna assmnt corrected
Shimna assmnt corrected
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
104-2
104-2104-2
104-2
 
Future Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and TestbedFuture Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and Testbed
 
Mitsubishi s500 e-vfd-detailed
Mitsubishi s500 e-vfd-detailedMitsubishi s500 e-vfd-detailed
Mitsubishi s500 e-vfd-detailed
 
Adjective presentation
Adjective presentationAdjective presentation
Adjective presentation
 

Semelhante a Learning of non-homogeneous Continuous Times Bayesian Networks Thesis

Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Gerardo Di Iorio
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Pasquale Naclerio
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System Stefano Bonetta
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...GabrieleGandossi
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Maurizio Cacace
 
tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015Marco Tannino
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistraleDomenico Caputi
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiPietro Corona
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleLuigi De Russis
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàRiccardo Melioli
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionAmmLibera AL
 
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Francesco De Giorgi
 

Semelhante a Learning of non-homogeneous Continuous Times Bayesian Networks Thesis (19)

Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques
 
tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistrale
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzati
 
repairpdf_Oy51nCFX
repairpdf_Oy51nCFXrepairpdf_Oy51nCFX
repairpdf_Oy51nCFX
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
 
Costruzioni metalliche - Di Re
Costruzioni metalliche - Di ReCostruzioni metalliche - Di Re
Costruzioni metalliche - Di Re
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisition
 
Tesi
TesiTesi
Tesi
 
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
 

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 Tesi di Laurea Magistrale di Guido COLANGIULI Matricola 768987 Anno Accademico 2013-2014
  • 2. I Ai miei genitori, ai miei amici.
  • 3. Indice Indice V Elenco delle figure IX Elenco delle tabelle XVI Elenco degli algoritmi XVI Introduzione XVII Contributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVIII 1 BN e modelli omogenei 1 1.1 BN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Apprendimento . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 DBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Processo di Markov . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Processi di Markov condizionali . . . . . . . . . . . . . . . . . . 9 1.5 CTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Modelli non omogenei 13 2.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 NSDBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 Apprendimento NSDBN . . . . . . . . . . . . . . . . . . 16 2.2.1.1 Score . . . . . . . . . . . . . . . . . . . . . . . 18 3 NHCTBN 20 3.1 NHCTBN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Statistiche sufficienti e likelihood . . . . . . . . . . . . . . . . . 22 II
  • 4. Indice 3.2.1 Statistiche sufficienti . . . . . . . . . . . . . . . . . . . . 22 3.2.2 Likelihood di un singolo nodo . . . . . . . . . . . . . . . 23 3.2.3 Likelihood di una struttura . . . . . . . . . . . . . . . . 23 3.3 Apprendimento di una NHCTBN . . . . . . . . . . . . . . . . . 25 3.3.1 Apprendimento dei parametri . . . . . . . . . . . . . . . 26 3.3.1.1 Approccio Maximum-Likelihood . . . . . . . . 26 3.3.1.2 Approccio Bayesiano . . . . . . . . . . . . . . . 27 3.3.2 Apprendimento della struttura . . . . . . . . . . . . . . 28 3.3.2.1 Funzione di scoring . . . . . . . . . . . . . . . 29 3.3.2.2 Ricerca della struttura . . . . . . . . . . . . . . 32 3.3.3 Apprendimento della sequenza . . . . . . . . . . . . . . 32 3.3.4 Apprendimento della sequenza: Approccio SA . . . . . 34 3.3.4.1 Informazione completa . . . . . . . . . . . . . . 36 3.3.4.2 Informazione parziale . . . . . . . . . . . . . . 38 3.3.4.3 Nessuna informazione . . . . . . . . . . . . . . 41 4 MapReduce 45 4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.1.1 Funzionamento . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.2 Esempio Word-Count . . . . . . . . . . . . . . . . . . . 47 4.2 Apache Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3 Apprendimento Non-Homogeneous Continuous Time Bayesian Network (NHCTBN) in MapReduce . . . . . . . . . . . . . . . . 50 5 Esperimenti 54 5.1 Dataset sintetici . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1.1 Descrizione esperimenti caso A: Confronto modelli omo-genei e modelli non omogenei . . . . . . . . . . . . . . . 55 5.1.2 Descrizione esperimenti caso B . . . . . . . . . . . . . . 55 5.1.3 Descrizione esperimenti caso C . . . . . . . . . . . . . . 55 5.1.4 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 56 5.1.5 Analisi dei tempi di esecuzione MapReduce . . . . . . . 58 5.2 Dataset SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2.1 Descrizione degli esperimenti . . . . . . . . . . . . . . . 59 5.2.2 Risultati Netork1 - Caso B . . . . . . . . . . . . . . . . 60 5.2.3 Risultati Netork1 - Caso C . . . . . . . . . . . . . . . . 64 Laurea Magistrale in Informatica III
  • 5. Indice 5.2.4 Risultati Netork2 - Caso B . . . . . . . . . . . . . . . . 69 5.2.5 Risultati Netork2 - Caso C . . . . . . . . . . . . . . . . 73 5.2.6 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . 78 6 Conclusioni 79 Appendici 82 A Dettaglio esperimenti caso A 82 A.1 Confronto modelli omogenei e modelli non omogenei . . . . . . 83 B Dettaglio esperimenti caso B 96 B.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 B.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 B.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 C Dettaglio esperimenti caso C 105 C.1 Dataset1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 C.2 Dataset2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 C.3 Dataset3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 C.4 Dataset4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 C.5 Dataset5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 C.6 Dataset6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 C.7 Dataset7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 C.8 Dataset8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 C.9 Dataset9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 C.10 Dataset10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Laurea Magistrale in Informatica IV
  • 6. Indice C.11 Dataset11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 C.12 Dataset12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 C.13 Dataset13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Bibliografia 158 Acronimi 161 Laurea Magistrale in Informatica V
  • 7. Elenco delle figure 1.1 Bayesian Network (BN) di esempio con relative tabella di pro-babilità condizionale (CPT) . . . . . . . . . . . . . . . . . . . . 3 1.2 Esempio di Dynamic Bayesian Network (DBN) . . . . . . . . . . 7 1.3 Continuous Time Bayesian Network (CTBN) che rappresenta l’effetto di un farmaco . . . . . . . . . . . . . . . . . . . . . . . 12 4.1 Panoramica dell’esecuzione di un programma MapReduce. Im-magine tratta da (Dean & Ghemawat, 2004, p. 3) . . . . . . . . 46 5.1 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 60 5.2 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 60 5.3 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 61 5.4 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 61 5.5 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 62 5.6 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 62 5.7 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 63 5.8 SongBird Network1- Caso B - = 120 - = 0:1 . . . . . . . . 63 5.9 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 64 5.10 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 65 5.11 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 65 5.12 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 66 5.13 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 66 5.14 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 67 5.15 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 68 5.16 SongBird Network1- Caso C - = 120 - = 0:1 . . . . . . . . 68 5.17 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 69 5.18 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 70 VI
  • 8. Indice 5.19 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 70 5.20 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 71 5.21 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 71 5.22 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 72 5.23 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 72 5.24 SongBird Network2- Caso B - = 135 - = 0:1 . . . . . . . . 73 5.25 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 74 5.26 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 74 5.27 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 75 5.28 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 75 5.29 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 76 5.30 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 76 5.31 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 77 5.32 SongBird Network2- Caso C - = 135 - = 0:1 . . . . . . . . 77 A.1 Modello omogeneo - Dataset1 - 50 traiettorie - 4495 osservazioni 83 A.2 Modello non omogeneo - Dataset1 - 50 traiettorie - 4495 osser-vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A.3 Modello omogeneo - Dataset2 - 50 traiettorie - 9882 osservazioni 84 A.4 Modello non omogeneo - Dataset2 - 50 traiettorie - 9882 osser-vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 A.5 Modello omogeneo - Dataset3 - 100 traiettorie - 12452 osservazioni 85 A.6 Modello non omogeneo - Dataset3 - 100 traiettorie - 12452 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 A.7 Modello omogeneo - Dataset4 - 100 traiettorie - 12601 osservazioni 86 A.8 Modello non omogeneo - Dataset4 - 100 traiettorie - 12601 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.9 Modello omogeneo - Dataset5 - 40 traiettorie - 4519 osservazioni 87 A.10 Modello non omogeneo - Dataset5 - 40 traiettorie - 4519 osser-vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A.11 Modello omogeneo - Dataset6 - 150 traiettorie - 40246 osservazioni 88 A.12 Modello non omogeneo - Dataset6 - 150 traiettorie - 40246 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.13 Modello omogeneo - Dataset7 - 180 traiettorie - 110415 osserva-zioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Laurea Magistrale in Informatica VII
  • 9. A.14 Modello non omogeneo - Dataset7 - 180 traiettorie - 110415 osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 A.15 Modello omogeneo - Dataset8 - 100 traiettorie - 22827 osservazioni 90 A.16 Modello non omogeneo - Dataset8 - 100 traiettorie - 22827 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.17 Modello omogeneo - Dataset9 - 600 traiettorie - 202186 osserva-zioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.18 Modello non omogeneo - Dataset9 - 600 traiettorie - 202186 osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.19 Modello omogeneo - Dataset10 - 50 traiettorie - 62996 osservazioni 92 A.20 Modello non omogeneo - Dataset10 - 50 traiettorie - 62996 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.21 Modello omogeneo - Dataset11 - 50 traiettorie - 10396 osservazioni 93 A.22 Modello non omogeneo - Dataset11 - 50 traiettorie - 10396 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.23 Modello omogeneo - Dataset12 - 200 traiettorie - 103110 osser-vazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.24 Modello non omogeneo - Dataset12 - 200 traiettorie - 103110 osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.25 Modello omogeneo - Dataset13 - 70 traiettorie - 10867 osservazioni 95 A.26 Modello non omogeneo - Dataset13 - 70 traiettorie - 10867 os-servazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Elenco delle tabelle 5.1 Configurazioni di parametri per esperimenti caso B . . . . . . . 55 5.2 Configurazioni di parametri per esperimenti caso C . . . . . . . 56 5.3 Tempi di esecuzione implementazione MapReduce su Dataset9 . 58 VIII
  • 10. Elenchi 5.4 Configurazioni di parametri per esperimenti caso B e C su da-taset SongBird . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 B.1 Dataset1 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.2 Dataset1 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.3 Dataset2 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.4 Dataset2 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.5 Dataset3 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.6 Dataset3 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.7 Dataset4 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.8 Dataset4 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.9 Dataset5 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.10 Dataset5 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Laurea Magistrale in Informatica IX
  • 11. Elenchi B.11 Dataset6 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.12 Dataset6 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.13 Dataset7 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.14 Dataset7 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.15 Dataset8 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.16 Dataset8 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.17 Dataset9 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.18 Dataset9 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.19 Dataset10 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.20 Dataset10 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 B.21 Dataset11 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Laurea Magistrale in Informatica X
  • 12. Elenchi B.22 Dataset11 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 B.23 Dataset12 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 B.24 Dataset12 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 B.25 Dataset13 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 B.26 Dataset13 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 C.1 Dataset1 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 106 C.2 Dataset1 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 107 C.3 Dataset1 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 108 C.4 Dataset1 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 109 C.5 Dataset2 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 110 C.6 Dataset2 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 111 Laurea Magistrale in Informatica XI
  • 13. Elenchi C.7 Dataset2 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 112 C.8 Dataset2 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 113 C.9 Dataset3 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 114 C.10 Dataset3 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 115 C.11 Dataset3 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 116 C.12 Dataset3 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 117 C.13 Dataset4 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 118 C.14 Dataset4 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 119 C.15 Dataset4 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 120 C.16 Dataset4 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 121 C.17 Dataset5 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 122 Laurea Magistrale in Informatica XII
  • 14. Elenchi C.18 Dataset5 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 123 C.19 Dataset5 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 124 C.20 Dataset5 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 125 C.21 Dataset6 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 126 C.22 Dataset6 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 127 C.23 Dataset6 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 128 C.24 Dataset6 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 129 C.25 Dataset7 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . 130 C.26 Dataset7 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . 131 C.27 Dataset7 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 8; . . . . . . . . 132 C.28 Dataset7 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 4 ; Epoche Max = 8; . . . . . . . . 133 Laurea Magistrale in Informatica XIII
  • 15. Elenchi C.29 Dataset8 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 134 C.30 Dataset8 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 135 C.31 Dataset8 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 136 C.32 Dataset8 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 137 C.33 Dataset9 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 138 C.34 Dataset9 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 139 C.35 Dataset9 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 140 C.36 Dataset9 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 141 C.37 Dataset10 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 142 C.38 Dataset10 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 143 C.39 Dataset10 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 144 Laurea Magistrale in Informatica XIV
  • 16. Elenchi C.40 Dataset10 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 145 C.41 Dataset11 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 146 C.42 Dataset11 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 147 C.43 Dataset11 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . . 148 C.44 Dataset11 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . . 149 C.45 Dataset12 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2 ; Epoche Max = 5; . . . . . . . 150 C.46 Dataset12 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3 ; Epoche Max = 6; . . . . . . . 151 C.47 Dataset12 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 152 C.48 Dataset12 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 153 C.49 Dataset13 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . 154 C.50 Dataset13 - = 1; = 10; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDeu; Pesatura = Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . 155 Laurea Magistrale in Informatica XV
  • 17. C.51 Dataset13 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 2; Epoche Max = 5; . . . . . . . . . 156 C.52 Dataset13 - = 1; = 0.1; #Sequenze = 4; Iterazioni = 200; Tipologia operatori = Proporzionali; Score = BDe; Pesatura = Ampiezza; Epoche Start = 3; Epoche Max = 6; . . . . . . . . . 157 Elenco degli algoritmi 1 ARTIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2 Apprendimento sequenza NHCTBN - SA - Informazione completa 38 3 Apprendimento sequenza NHCTBN - SA - Informazione parziale 41 4 Apprendimento sequenza NHCTBN - SA - Nessuna informazione 44 5 Word-Count in MapReduce . . . . . . . . . . . . . . . . . . . . 48 6 Apprendimento NHCTBN MapReduce: Funzione Map . . . . . . 51 7 Apprendimento NHCTBN MapReduce: Funzione Reduce . . . . 53 XVI
  • 18. Introduzione Una Bayesian Network (BN) è un modello grafico probabilistico che permette di rappresentare le dipendenze condizionali tra variabili aleatorie, e consente di fare previsioni 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 che non mutano con il passare del tempo. Proseguiamo con una estensione delle BN, le 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 modellare un sistema in cui le dipendenze condizionali tra le variabili in esso contenute sono fisse. Evoluzione di quanto detto sono le Non-Homogeneous Continuous Time Bayesian Network (NHCTBN) che sono delle CTBN in cui le dipendenze condi-zionali tra le variabili 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. XVII
  • 19. Elenchi 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. La tesi è strutturata nel seguente modo: primo capitolo descrizione dei modelli omogenei, quindi BN, DBN, pro-cessi di Markov e CTBN, necessari ad introdurre formalmente le NHCTBN. secondo capitolo panoramica e problematiche dei modelli non omogenei attualmente presenti in letteratura; terzo capitolo definizione formale dell’apprendimento strutturale delle NHCTBN e relativa rappresentazione; quarto capitolo si introduce il framework MapReduce, con relativa ar-chitettura e funzionamento. Successivamente si illustra l’implementazio-ne Apache Hadoop. Infine, si presenta l’algoritmo di apprendimento di una NHCTBN per questo framework; quinto capitolo esperimenti sia su dataset creati in laboratorio che reali; sesto capitolo conclusioni e sviluppi futuri. Contributi I contributi innovativi di questo lavoro di tesi sono i seguenti: Progettazione di algoritmi che permettono l’apprendimento di NHCTBN; Implementazione mediante framework Hadoop MapReduce dei nuovi al-goritmi, utile in caso di grandi quantità di dati. Implementazione dei nuovi algoritmi per il funzionamento su singola mac-china (server), per l’esecuzione efficiente su medie e piccole quantità di dati; Validazione del modulo software tramite una ricca campagna sperimen-tale, con l’utilizzo di dataset simulati e reali presenti nella letteratura specializzata. Laurea Magistrale in Informatica XVIII
  • 20. Capitolo 1 BN e modelli omogenei In questo primo capitolo si discute dei modelli omogenei, ovvero quelli la cui struttura non varia nel tempo. Si inizia definendo le Bayesian Network (BN) e si forniscono le nozioni fondamentali che le caratterizzano. Le BN permettono di modellare solo sistemi statici, tuttavia introducono concetti molto importanti, come quelli di genitore e di indipendenza condizionale, che sono alla base dei modelli trattati in questa tesi. Successivamente viene presentata un’evoluzione delle BN, le Dynamic Bayesian Network (DBN), che introducono una prima trattazione del tempo seppure in maniera discreta. Infine, si presentano le Continuous Time Bayesian Network (CTBN), che permettono la trattazione del tempo in maniera continua. 1.1 BN Una Bayesian Network (BN) è un modello grafico che rappresenta un insieme di variabili stocastiche e le loro relazioni mediante l’uso di un grafo aciclico orien-tato (DAG), in cui ogni nodo rappresenta una variabile e gli archi rappresentano le relazioni di dipendenza. Per poter procedere con la definizione delle BN è necessario introdurre il concetto di indipendenza condizionale e ancor prima fornire la definizione di Indipendenza tra variabili casuali. Definizione 1.1. Due variabili casuali A e B sono indipendenti se 8x; y si ha che: P(x 2 Ajy 2 B) = P(x 2 A) (1.1) 1
  • 21. 1.1. BN L’indipendenza condizionale è una proprietà più debole di quella di indi-pendenza, ma più comune e realistica se si parla dei sistemi complessi. Definizione 1.2 (Indipendenza Condizionale). (Whitt, 2006) Due variabili casuali A e B sono Condizionalmente Indipendenti rispetto a una variabile casuale C se P(AjC;B) = P(AjC) (1.2) Questo significa che quando è noto il valore della variabile C, le variabili A e B sono indipendenti. A questo punto è possibile fornire la definizione di BN: Definizione 1.3 (Bayesian Network). (Pearl, 1988) Una BN rispetto a un insieme di variabili casuali fX1; ::;Xng è costituita da: G: un DAG, dove ogni nodo è associato ad una variabile casuale Xi 2 X Una CPT per ogni Xi, che rappresenta la distribuzione condizionata P(Xi jPaG(Xi)) come funzione dei suoi genitori in G. 1 Osservazione. Se nel grafo G non è presente un arco che collega due nodi, allora i suddetti nodi sono condizionalmente indipendenti. Rappresentiamo la probabilità che una variabile X 2 X assuma valore x, dati i valori u dei genitori U 2 X, con il simbolo xju, che equivale alla probabilità condizionata P(x j u). Le BN si possono considerare la rappresentazione grafica di una distribuzio-ne di probabilità congiunta, è infatti possibile rappresentare tale distribuzione mediante la chain rule: P(X1; : : : ;XN) = NY i=1 P(Xi j PaG(Xi)) (1.3) Osservazione. Mediante la chain rule le BN sono in grado di rappresentare la distribuzione di probabilità congiunta in modo molto efficace. Non c’è infatti bisogno di rappresentare le probabilità di tutte le combinazioni di stati delle variabili ma solo la probabilità di ogni variabile condizionata ai suoi genitori. In Figura 1.1 è riportato un esempio di BN. Si evidenzia come i nodi radice abbiano associata una tabella di probabilità marginale che rappresenta la probabilità a priori della variabile ad essi associata. 1PaG(Xi) rappresenta l’insieme dei genitori del nodo Xi in G Laurea Magistrale in Informatica 2
  • 22. 1.1. BN Figura 1.1: BN di esempio con relative CPT 1.1.1 Apprendimento L’apprendimento di una BN si attua tramite due fasi: 1. Ricerca del grafo - Apprendimento della struttura; 2. Stima delle probabilità condizionate - Apprendimento dei parametri. Esistono tre metodi principali per l’apprendimento delle BN: 1. Modellare la conoscenza degli esperti, cioè definire la struttura e i para-metri sulla base delle valutazioni (soggettive) da parte di studiosi, esperti del problema oggetto di studio; 2. Imparare dai dati (sia la struttura che i parametri); 3. Combinare i due metodi precedenti, usando la conoscenza dell’esperto come conoscenza a priori, in modo tale da imporre la presenza o l’as-senza di alcuni archi nella struttura o definire distribuzioni a priori sui parametri e/o sulla struttura. In questa tesi si assume di essere nel caso 3, quindi si focalizza l’apprendimento della BN a partire dai dati (completi), lasciando comunque la possibilità di inserire della conoscenza a priori sulla struttura (conoscenza dell’esperto). Laurea Magistrale in Informatica 3
  • 23. 1.1. BN Inoltre, per quanto riguarda l’apprendimento della struttura si utilizza l’Approccio Search Score, dove si usano funzioni di score per confrontare la bontà delle possibili strutture della rete e selezionare quella che meglio si adatta ai dati. Questo approccio, nel nostro caso, viene descritto in dettaglio nell’apprendimento strutturale delle NHCTBN nel capitolo successivo. Mentre, per quanto riguarda l’apprendimento dei parametri, si adotta il caso in cui si conosce già la struttura, quindi l’apprendimento dai dati avviene attraverso una stima a partire da una serie di osservazioni. Per fare questo si ricorre al concetto di Statisticha Sufficiente. Definizione 1.4 (Statistica Sufficiente). (Fisher, 1922) Una statistica T si dice sufficiente se qualsiasi altra statistica che può essere calcolata dallo stesso campione non fornisce maggiori informazioni circa il valore del parametro da stimare. Una statistica sufficiente che può essere usata per le BN è il numero di osservazioni nelle quali la variabile X 2 X assume valore x, e i suoi genitori U assumono valori u, e si indica con M[xju]. Quindi, data la struttura G, il likelihood dei dati D si può scrivere come prodotto di likelihood locali, uno per ogni variabile X LX( : D) = Y u2U Y x2X M[xju] xju dove è l’insieme dei parametri delle distribuzione di probabilità condizionale (CPD). Per questioni numeriche viene di norma computato il log-likelihood `X( : D) = X u2U X x2X M[xju] ln(xju) (1.4) La stima del parametro che massimizza il log-likelihood nell’equazione Equa-zione 1.4 è: ^xju = M[xju] M[u] dove M[u] = P xM[xju]. 1.1.2 Inferenza Con inferenza si intende il processo mediante il quale si calcola la probabilità a posteriori di una variabile Xi, avendo a disposizione l’osservazione di alcu- Laurea Magistrale in Informatica 4
  • 24. 1.2. DBN ne altre variabili. Quest’osservazione si dice evidenza, e la sua propagazione consiste nell’aggiornare le distribuzioni di probabilità delle variabili aleatorie in accordo con la nuova informazione disponibile. La propagazione può avvenire in 2 modi: dall’alto verso il basso, ovvero quando si ha l’evidenza sui genitori, e si calcolano le probabilità dei figli; dal basso verso l’alto, l’evidenza si ha sui figli, e si calcolano le probabilità dei genitori. Esistono inoltre due tipi di evidenza: evidenza hard: si conosce lo stato di una o più variabili; evidenza soft: non si conosce il valore dello stato delle variabili, ma si possono fare affermazioni sul loro stato. Gli algoritmi per fare inferenza sulle BN sono divisi in due famiglie: Inferenza Esatta: si applica la chain rule, descritta nell’ Equazione 1.3, su tutte le variabili della rete; Inferenza Approssimata: se il numero di stati delle variabili è elevato, l’inferenza esatta diventa onerosa, si usano quindi metodi per approssi-mare le distribuzioni di probabilità a posteriori. 1.2 DBN Una DBN (Murphy, 2002) è un’estensione di una BN per modellare le distri-buzioni di probabilità su una collezione numerabile infinita di variabili casuali fD0;D1;D2; : : : g indicizzate dal tempo. Si noti che sono dette dinamiche per-ché modellano un sistema dinamico, non perché la rete cambi struttura nel tempo. Prima di procedere con la definizione di DBN è necessario fornire la defini-zione di time-slice. Definizione 1.5 (Time-slice). Un time slice, in una DBN, è un intervallo di tempo in cui è valida una determinata struttura. Laurea Magistrale in Informatica 5
  • 25. 1.2. DBN Definizione 1.6 (Dynamic Bayesian Network). (Nodelman, 2007) Una DBN è una coppia hB0; B2T i dove: B0 è una BN su D0. B2T è una 2-time-slice BN, che definisce un modello di transizione dal-l’istante i all’istante i + 1 come una BN sull’insieme di variabili casuali Di+1 condizionate dal valore delle variabili casuali Di. Sono permesse due tipologie di archi: Archi intra-time-slice, permessi tra variabili casuali appartenenti alla stessa time-slice. Ad esempio tra D e D0, con D;D0 2 Di+1. Archi inter-time-slice, permessi tra una variabile casuale in una time-slice e un’altra nella time-slice successiva. Ad esempio tra D 2 Di e D 2 Di+1, oppure tra D 2 Di e D0 2 Di+1. Osservazione. La 2-time-slice BN specifica le CPD per le variabili in Di+1 ma non in D. Osservazione. Si può dire che le DBN fotografano il comportamento di un sistema in diversi istanti temporali, equidistanti tra loro. Portano quindi con sé una limitazione non indifferente, la granularità di evoluzione temporale scelta è unica per l’intero sistema. Esempio. In Figura A.26 possiamo vedere una DBN che rappresenta il ri-schio di collisione in cui una nave può incorrere durante la sua navigazione. In questo modello tutte le variabili sono di interfaccia a meno della variabile collisione. Le variabili di interfaccia sono tutte quelle i cui valori al tempo t influenzano in maniera diretta le variabili al tempo t + 1. Quindi solo le variabili di interfaccia possono essere genitori delle variabili al tempo t + 1. Dalla componente dinamica del modello (la 2-time-slice BN B !) si evince che: Il rischio di collisione dipende dai valori attuali di posizione e velocità; La velocità dipende dal suo valore nel time slice precedente; La posizione dipende sia dalla posizione che dalla velocità al time slice precedente; Laurea Magistrale in Informatica 6
  • 26. 1.3. Processo di Markov In Figura A.26 si mostra sia il modello di transizione (la 2-time-slice BN B !) che la struttura all’istante iniziale (B0). Si mostra inoltre la versione “unrolled“ delle DBN che altro non è che una BN. Figura 1.2: Esempio di DBN 1.3 Processo di Markov Un processo di Markov è un processo stocastico, che soddisfa la proprietà di Markov e può essere omogeneo o non omogeneo. Definizione 1.7 (Proprietà di Markov). (Norris, 1998) Un processo stocastico X soddisfa la proprietà di Markov se il suo stato futuro non dipende dagli stati passati, ma solo dello stato attuale, o in termini più formali: P(X(t + t) j X(t);X(s)) = P(X(t + t) j X(t)) per qualsiasi s; t : s t. Definizione 1.8 (processo di Markov omogeneo). (Neapolitan, 2004) Un pro-cesso di Markov si dice omogeneo se la probabilità dello stato futuro non di-pende dal tempo t, ma esclusivamente dallo stato attuale, ovvero se P(X(t + t) j X(t)) = P(X(0 + t) j X(0)). Laurea Magistrale in Informatica 7
  • 27. 1.3. Processo di Markov Un processo di Markov omogeneo X con dominio V al(X) = fx1; x2; : : : ; xng è definibile tramite una distribuzione di probabilità iniziale PX 0 e una matrice di intensità QX QX = 2 666664 qx1 qx1x2 qx1xn qx2x1 qx2 qx2xn ... ... . . . ... qxnx1 qxnx2 qxn 3 777775 dove l’intensità qxi = P xj6=xi qxixj è proporzionale alla probabilità istantanea di lasciare lo stato i, e l’intensità qxixj è proporzionale alla probabilità istantanea di transizione dallo stato xi allo stato xj . Formalmente: lim t!0 P(X(t + t) = xj j X(t) = xi) = lim t!0 qijt + O(t2), con i6= j lim t!0 P(X(t + t) = xi j X(t) = xi) = lim t!0 1 qit + O(t2) (1.5) La quantità di tempo che un processo di Markov omogeneo X rimane nello stato x, prima di transitare ad un altro stato, è una variabile aleatoria con distribuzione di probabilità esponenziale di parametro qx, e quindi la funzione di densità e la funzione di ripartizione risultano: f(qx; t) = qxexp(qxt) F(qx; t) = 1 exp(qxt) (1.6) Il valore atteso per il tempo in cui il processo X rimane nello stesso stato x è quindi 1=qx. Quando avviene il passaggio di stato X transita dallo stato x allo stato x0 con probabilità qxx0=qx; La distribuzione che rappresenta i suddetti cambi di stato è quindi imputabile a due componenti: Una distribuzione esponenziale che modella il tempo in cui avviene la transizione; Una distribuzione multinomiale che modella lo stato in cui si troverà il sistema dopo la transizione; Esempio. Assumiamo di voler modellare l’andamento della pressione baro-metrica B(t) discretizzata in tre stati (b1 = decresce, b2 = stazionaria, e b3 = Laurea Magistrale in Informatica 8
  • 28. 1.4. Processi di Markov condizionali cresce); possiamo quindi scrivere la seguente matrice di intensità: QB = 2 :21 :2 :01 :05 :1 :05 :01 :2 :21 664 3 775 Se usiamo come misura del tempo le ore, significa che se attualmente la pres-sione decresce, smetterà di decrescere in poco meno di 5 ore ( 1 :21 ore); diventerà stazionaria con probabilità di :2 :21 e crescerà con probabilità pari a :01 :21 . Usando i parametri delle distribuzioni sopra elencate, oltre che con una matrice di intensità, un processo di Markov si può rappresentare anche utiliz-zando: qX = fqi : 1 i Ng X = fij : 1 i; j N; i6= jg dove qX è l’insieme dei parametri delle distribuzioni esponenziali e X è l’insieme dei parametri delle distribuzioni multinomiali. Questo metodo di rappresentazione è chiamato parametrizzazione mista. Teorema 1.1. (Nodelman, 2007) Siano X e Y due processi di Markov con uguale distribuzione iniziale e uguale spazio degli stati. Se X è definito dalla matrice di intensità QX e Y è definito tramite parametrizzazione mista qY ; Y allora X e Y sono stocasticamente equivalenti se e solo se: qi 2 qY = qi 2 QX ij = qij qi Osservazione. Entrambi i modi di rappresentazione usano N2 parametri, ma solo N2 N parametri sono liberi. 1.4 Processi di Markov condizionali Per poter modellare una rete, mediante l’utilizzo di processi di Markov, è ne-cessario introdurre i processi di Markov condizionali. I processi di Markov condizionali sono processi di Markov non omogenei, che evolvono nel tempo, ma non come funzione diretta del tempo, bensì come funzione dello stato at- Laurea Magistrale in Informatica 9
  • 29. 1.4. Processi di Markov condizionali tuale di una serie di altre variabili, le quali evolvono a loro volta come dei processi di Markov. Con l’utilizzo dei processi di Markov condizionali è quindi possibile mo-dellare il comportamento dei processi di Markov basandosi non sullo stato dell’intero sistema ma su un insieme limitato di altre variabili. Questo è un concetto fondamentale per poter modellare le CTBN. Ora è necessario fornire una definizione di matrice di intensità condizionale (CIM): Definizione 1.9 (matrice di intensità condizionale). (Neapolitan, 2004) Dato un processo di Markov condizionale X che evolve rispetto a un insieme di processi di Markov Y - che vengono chiamati genitori di X e rappresentati come Pa(X) - si definisce una CIM: QXjPa(X) = 2 q1(Pa(X)) q12(Pa(X)) q1n(Pa(X)) q21(Pa(X)) q2(Pa(X)) q2n(Pa(X)) 666664 ... ... . . . ... 3 777775 qn1(Pa(X)) qn2(Pa(X)) qn(Pa(X)) Si può scrivere la CIM come una serie di matrici di intensità, una per ogni possibile combinazione degli stati di Pa(X). Esempio. Consideriamo una variabile E(t) che modella quando una persona sta o non sta mangiando (e1 = non mangia, e2 = mangia), che è condizionata dalla variabile H(t) che modella quando una persona ha o non ha fame (h1 = non ha fame, h2 = ha fame). Possiamo quindi scrivere le seguenti CIM per E(t): QEjh1 = :01 :01 # QEjh2 = 10 10 2 2 :01 :01 # Mediamente ci si aspetta che una persona che ha fame e non sta mangiando, inizi a mangiare in mezz’ora, oppure che una persona che non ha fame e sta mangiando smetta di mangiare mediamente in 6 minuti ( 1 10 ore) Laurea Magistrale in Informatica 10
  • 30. 1.5. CTBN 1.5 CTBN Le CTBN sono un’ulteriore estensione delle BN e permettono di rappresenta-re processi a stati finiti, in tempo continuo e con spazio degli stati discreto. L’introduzione di questo modello si è resa necessaria al fine di superare le li-mitazioni osservate nelle DBN, ovvero per poter trattare il tempo in maniera continua. Sfruttando la definizione di processi di Markov condizionali è possibile dare una definizione formale di CTBN. Le CTBN possono essere infatti viste come la composizione di un insieme di processi di Markov condizionali. Definizione 1.10 (Continuous Time Bayesian Network). (Nodelman et al. , 2002b) Sia X un insieme di variabili X1;X2; : : : ;XN, ogni Xi ha un dominio finito, rappresentato come V al(Xi). Una Continuous Time Bayesian Network N su X consiste di 2 componenti: una distribuzione iniziale P0X , specificata come una BN B su X. un modello di transizione a tempo continuo rappresentato da: – un grafo orientato (anche ciclico) G, i cui nodi sono X1;X2; : : : ;XN; L’insieme dei genitori di ogni nodo Xi viene denotato con Pa(Xi). – una matrice di intensità condizionale QXjPa(X) per ogni variabile Xi 2 X. Osservazione. Dato che nelle CTBN gli archi rappresentano le dipendenze nel tempo, non c’è motivo per cui il grafo G debba essere aciclico, e ciò porta ad una notevole semplificazione di calcolo. Esempio. (Nodelman, 2007) La Figura 1.3 mostra la struttura di una CTBN che modella l’effetto di un farmaco. Ci sono nodi che rappresentano l’assun-zione del farmaco e la concentrazione dello stesso nel flusso sanguigno. La concentrazione dipende da quanto lo stomaco è pieno. Il farmaco dovrebbe alleviare i dolori articolari, che potrebbero essere aggravati dalla diminuzione della pressione. Il farmaco potrebbe anche causare sonnolenza. Il modello con-tiene un ciclo, che modella il fatto che una persona sia affamata dipende da quanto lo stomaco è pieno, che a sua volta dipende da quanto tempo è passato da quando la persona ha mangiato. Laurea Magistrale in Informatica 11
  • 31. 1.5. CTBN Figura 1.3: CTBN che rappresenta l’effetto di un farmaco Laurea Magistrale in Informatica 12
  • 32. Capitolo 2 Modelli non omogenei In questo capitolo si introduce il problema della modellazione di sistemi non omogenei, ovvero in cui le dipendenze condizionali tra le variabili non sono fissate ma variano nel tempo. A tal proposito si discuteranno le principali so-luzioni presenti in letteratura al fine di motivare l’introduzione del nuovo mo-dello delle Non-Homogeneous Continuous Time Bayesian Network (NHCTBN) proposto in questo lavoro di tesi. 2.1 Panoramica Le DBN e le CTBN, discusse nei capitoli precedenti, funzionano partendo dall’as-sunzione che i dati temporali, su cui si effettua l’apprendimento, provengano da una distribuzione che non varia nel tempo, ovvero è stazionaria. Questa assunzione in molti ambiti è molto restrittiva. Per questo motivo si sente la ne-cessità di introdurre modelli non omogenei in grado di superare i limiti dettati dall’assunzione di stazionarietà della distribuzione. Un primo modello non omogeneo, presente in letteratura, è TESLA (Ah-med Xing, 2009). TESLA si basa sull’apprendimento di Discrete Binary Markov Random Field (Discrete Binary MRF), è in grado di scalare su un numero elevato di variabili, tuttavia soffre le seguenti restrizioni: E’ in grado di apprendere solo variabili binarie; Gli archi che rappresenta, ovvero le relazioni, non sono orientati; E’ in grado di individuare le relazioni solo a coppie di variabili; 13
  • 33. 2.1. Panoramica Un ulteriore modello non omogeneo, presente in letteratura, è ARTIVA (S. Lèbre, 2010). ARTIVA si basa sulle Time-Varying Dynamic Bayesian Ne-towrk (Time-Varying DBN), che sono delle DBN in cui gli archi, passando da una time-slice alla successiva, possono variare. Questo si traduce nell’avere una sequenza di DBN, che modellano l’evoluzione, nel tempo, delle dipendenze condizionate tra variabili. Tuttavia rimane la principale limitazione delle DBN legata alla trattazione del tempo in maniera discreta. Come vedremo meglio nella sezione sezione 2.2, una DBN ha valenza in un certo intervallo temporale chiamato epoca. La sequenza di epoche può inoltre essere rappresentata come una sequenza di istanti di transizione che definiscono il passaggio da un epoca alla successiva. Di seguito si mostra l’algoritmo di ARTIVA che si basa sull’algoritmo RJ-MCMC: Algoritmo 1 ARTIVA Require: bk probabilità di aggiungere un nuovo cambio di struttura; dk pro-babilità di rimuovere un cambio di struttura; sk probabilità di shift; L numero di iterazioni 1: function LearnArtiva(K;D;M) 2: for l 1 to L do 3: u estrai da U[0;1] 4: Estrai istante di transizione k 5: Calcola bk, dk e vk 6: if u bk then 7: Crea nuovo istante di transizione al tempo k 8: else 9: if u bk + dk then 10: Elimina istante di transizione presente al tempo k 11: else 12: if u bk + dk + sk then 13: Sposta l’istante di transizione presente al tempo k 14: else 15: Considera un cambio di struttura 16: end if 17: end if 18: end if 19: end for 20: end function In questo algoritmo k è l’istante di transizione che viene estratto ad ogni iterazione. I parametri bk, dk e sk rappresentano, rispettivamente, la probabi- Laurea Magistrale in Informatica 14
  • 34. 2.2. NSDBN lità di aggiunta, rimozione e shift di un istante di transizione. Vi è inoltre la probabilità vk di effettuare un cambio di struttura, questa probabilità è rappre-sentata dall’ultimo else dell’algoritmo. Queste probabilità vengono ricalcolate ad ogni iterazione in base all’istante di transizione estratto. In base alle pro-babilità calcolate sull’istante k si sceglie, quindi, se modificare gli istanti di transizione o se modificare la struttura (DBN) della singola epoca. Un ulteriore modello non omogeneo, che è anch’esso un’ evoluzione delle DBN, è il Non Omogeneous Dynamic Bayesian Netowrk (NHDBN) (Robinson Hartemink, 2010). Le NHDBN soffrono anch’esse le limitazioni delle DBN, legate alla trattazione del tempo in maniera discreta, tuttavia molti concetti sono stati ereditati per la formulazione della versione non omogenea delle CTBN. Per questo motivo approfondiremo le NHDBN nel seguito di questo capitolo. 2.2 NSDBN Prima di procedere con la discussione dei punti chiave riguardanti le NHDBN, si presentano alcuni concetti fondamentali che ritorneranno utili in tutto lo svolgimento della tesi. Si assume di poter osservare lo stato di N variabili casuali discrete Xi. Questi dati temporali multivariati, D, si assumono essere generati da un pro-cesso non omogeneo sconosciuto. Si dice non omogeneo in quanto il grafo che lo rappresenta, G, è una sequenza di reti G1; G2; : : : ; GM (Robinson Hartemink, 2010). Si definisce il tempo di transizione del grafo tm l’istante temporale in cui Gm viene sostituito da Gm+1 nel processo di generazione dei dati. Si defini-sce epoca il periodo tra due tempi di transizione consecutivi, durante il quale è operativa una singola CTBN. Si ha quindi che un nodo può avere un insieme di genitori in una determi-nata epoca; tuttavia questo insieme può cambiare da un’epoca ad un’altra. Possiamo quindi definire le NHDBN come una sequenza di DBN, una per ogni epoca. Mediante questa suddivisione in epoche è infatti possibile rappresentare l’evoluzione nel tempo delle dipendenze condizionate tra variabili. Laurea Magistrale in Informatica 15
  • 35. 2.2. NSDBN 2.2.1 Apprendimento NSDBN In questa sezione si vuole dare un idea generale di come funziona l’apprendi-mento di una NHDBN per poi affrontare nel dettaglio le principali problema-tiche. Per avere informazioni più dettagliate in merito si faccia riferimento al relativo articolo (Robinson Hartemink, 2010). L’obbiettivo dell’apprendimento è quello di ricostruire l’intera sequenza di strutture di una NHDBN. Per raggiungerlo gli autori propongono un approccio probabilistico basato su Markov Chain Monte Carlo (MCMC) (Murphy, 2012). Il primo passo, per poter comprendere l’utilizzo del MCMC nel nostro caso specifico, è dare una definizione di stato. Definizione 2.1 (Stato nell’algoritmo Metropolis-Hastings (MH)). Si definisce stato, nell’algoritmo MCMC, l’intera sequenza di DBN che compone una NHDBN, con relativi istanti di transizione da un epoca all’altra. Adesso si può descrivere l’idea alla base di questo algoritmo mediante i seguenti passaggi: 1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono equidistanti; 2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x mediante una proposal distribution; 3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-ceptance probability); 4. se si accetta x’, si salva, e successivamente si setta x = x’ e si riparte dal punto 2; 5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2. L’algoritmo termina quando si è raggiunto un numero prefissato di itera-zioni. L’obbiettivo è, dopo un congruo numero di iterazioni, di converge alla distribuzione target, ovvero alla NHDBN obbiettivo dell’apprendimento. La generazione di un nuovo stato viene effettuata utilizzando un insie-me di operazioni, tale insieme dipende da quali sono le informazioni in nostro possesso. Le tre casistiche, quando si parla di apprendimento di modelli non omogeneo, sono: Laurea Magistrale in Informatica 16
  • 36. 2.2. NSDBN 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 conoscono gli istanti temporali. Caso C: nessuna informazione, non si conosce né il numero di transizioni né gli istanti temporali. Nel caso A, essendo a conoscenza esattamente di quali sono le epoche avremo bisogno solo di operazioni per modificare le singole strutture. Tali operazioni sono quindi inerenti all’aggiunta e rimozione di un arco tra due nodi. Nel caso B, essendo a conoscenza del numero di epoche ma non di quali esse siano, oltre alle precedenti operazioni, avremo anche bisogno di una ulteriore operazione di shift che permette di far variare la grandezza dell’epoca. Nel caso C, di totale assenza di informazioni, oltre alle precedenti ope-razioni, avremo bisogno di ulteriori operazioni per poter variare il numero di epoche. Tali operazioni sono di merge, split e delete, di un epoca già esistente, e l’operazione di creazione di una nuova epoca. L’operazione di merge consiste nell’unire assieme un epoca con l’epoca successiva; L’operazione di split inve-ce consiste nel dividere a metà un epoca, andando quindi a creare due diverse epoche; L’operazione di delete elimina un istante di transizione, andando quin-di ad effettuare il merge tra un epoca e l’epoca precedente; Creare una nuova epoca invece consiste nell’aggiungere un istante di transizione. L’accettazione di un nuovo stato dipende innanzi tutto dalla probabilità di proporre il nuovo stato, ovvero dalle operazioni descritte precedentemente. Dipende inoltre anche dal likelihood ratio, che può essere rappresentato tramite la seguente formula: P(Djx0) P(Djx) Il likelihood ratio è quindi il rapporto tra la probabilità a posteriori del dataset D dato il nuovo modello x0 e la probabilità a posteriori sempre del dataset D dato il modello precedente x. Questa probabilità viene rappresentata mediante una funzione di score che analizzeremo in seguito. Laurea Magistrale in Informatica 17
  • 37. 2.2. NSDBN Una volta generata una sequenza di stati (i nostri campioni), ovvero di NHDBN, che converge alla nostra distribuzione target, gli autori Robinson e Hartermink propongono di calcolare il modello medio. Il modello medio si ottiene prendendo tutti quegli archi che occorrono in almeno il 50% dei cam-pioni. Anche per quanto concerne i tempi di transizione si mantengono quelli che occorrono nel maggior numero di campioni. A questo punto abbiamo visto in via generale come funziona l’apprendi-mento delle Non Omogeneous Dynamic Bayesian Netowrk (NHDBN). Un punto molto importante che si vuole approfondire è come viene costruita la funzione di score e tutte le problematiche ad essa collegate. Tali problematiche infatti si ripresenteranno, in maniera leggermente diversa, anche per le NHCTBN, e per questo le si dedica particolare attenzione. 2.2.1.1 Score Nel costruire uno score che vada bene per le NHDBN quello di cui bisogna tenere conto è la presenza di più epoche. Si inizia considerando la singola epoca, per questo Robinson e Hartemink propongono uno score di tipo BDeu (Murphy, 2012) con una variazione: gli iperparametri e vengono pesati anche in base alla grandezza dell’epoca. Questo è equivalente a contare il numero di osservazioni presenti nella singola epoca, avendo le NHDBN una granularità delle osservazioni fissa, come nelle DBN. Valutato lo score delle epoche singolarmente, bisogna aggregare i singoli score per ottenere lo score globale della NHDBN. Un primo passo è moltiplicare gli score delle singole epoche, andando ad ottenere il seguente score: P(DjG1; :::;Gm; T) / Yn i=1 Ypi h=1 Yqih j=1 (ij(Ih)) (ij(Ih) + Nij(Ih) Yri k=1 (ijk(Ih) + Nijk(Ih) (ijk(Ih)) dove: n è il numero di nodi della rete; pi è il numero di epoche del modello; Laurea Magistrale in Informatica 18
  • 38. 2.2. NSDBN qih è il numero di configurazioni di genitori del nodo i-esimo nell’epoca h-esima; ri è il numero di configurazioni del nodo i-esimo, data la configurazione j-esima di genitori; Ih è l’ampiezza dell’epoca h-esima; Rimane ancora un problema da affrontare, ovvero questa tipologia di sco-re (come anche lo score BDeu normale) tende a restituire valori più alti alle epoche con un numero minore di osservazioni. Questo porta a prediligere la ricostruzione di epoche più piccole. Questo problema si nota particolarmente nel caso C di totale mancanza di informazioni perché si tende a creare più epoche rispetto a quelle contenute nel modello reale e di piccole dimensioni (micro epoche). Pesare gli iperparametri per l’ampiezza dell’epoca non basta a risolvere tale problema. Per ottenere la giusta sequenza di osservazioni Robinson e Hartemink suggeriscono di sottrarre allo score dell’intera sequenza i seguenti valori: c numero_cambi: ovvero si moltiplica un parametro c per il numero di archi che cambiano tra epoche contigue, questo per scoraggiare cambi di struttura troppo bruschi tra epoche contigue; e numero_epoche: ovvero si moltiplica un parametro e per il numero di epoche create. Entrambi questi valori guidano l’algoritmo alla scoperta delle giuste strut-ture e del giusto numero di epoche, andando a scoraggiare la creazione di micro epoche. Vedremo nel capitolo successivo come questa stessa problematica viene affrontata nel caso delle NHCTBN Laurea Magistrale in Informatica 19
  • 39. Capitolo 3 NHCTBN Nel capitolo precedente si è presentato il problema di modellare sistemi in cui le dipendenze condizionali tra le variabili non sono fissate ma variano nel tempo. In questo capitolo proponiamo le Non-Homogeneous Continuous Time Bayesian Network (NHCTBN) come soluzione a questo problema. Si inizia, quindi, fornendone la definizione. Successivamente si presenta l’argomento chiave di questa tesi, cioè l’apprendimento, per il quale si propone l’approccio basato su Simulated Annealing (SA). 3.1 NHCTBN Le NHCTBN sono un evoluzione delle CTBN, in cui le dipendenze condizionali tra le variabili nel sistema che si sta modellando non sono fissate ma variano nel tempo. Possono quindi essere viste come una sequenza di CTBN. Si fornisce di seguito la definizione formale di NHCTBN. Definizione 3.1 (Non-Homogeneous Continuous Time Bayesian Network). Sia X un insieme di variabili casuali X1;X2; : : : ;XN. Ogni Xi ha un dominio finito, rappresentato da V al(Xi) = fx1; x2; : : : ; xng. Una Non-Homogeneous Continuous Time Bayesian Network N su X consiste di 2 componenti: una distribuzione iniziale P0X , specificata come una BN B su X. un modello di transizione a tempo continuo rappresentato da: – una sequenza di grafi orientati (anche ciclici) G = fG1; G2; : : : ; GMg, i cui nodi sono X1;X2; : : : ;XN. 20
  • 40. 3.1. NHCTBN – un insieme di matrici di intensità condizionale QPae(Xi) Xi per ogni variabile Xi 2 X, dove Pae(Xi) denota i genitori di Xi nell’epoca e, definita come un intervallo omogeneo e = [m1;m2], con m1;m2 2 f1; : : : ;Mg e m1 m2. Data la variabile casuale Xi, la CIM QPae(Xi) Xi consiste in un insieme di matrici di intensità, una matrice di intensità (IM): QPae(xi) Xi = 2 qPae(xi) 666664 x1 qPae(xi) x1x2 qPae(xi) x1xn qPae(xi) x2x1 qPae(xi) x2 qPae(xi) x2xn ... ... . . . ... qPae(xi) xnx1 qPae(xi) xnx2 qPae(xi) xn 3 777775 ; per ogni istanziazione Pae(xi) dei genitori Pae(Xi) del nodo Xi, nell’epoca e, dove n è la cardinalità di V al(Xi). Si ha che: con qPae(xi) xj = P xj6=x0 j qPae(xi) xjx0 j si intende la probabilità istantanea di lasciare lo stato xj , per una specifica istanziazione Pae(xi) nell’epoca e; con qPae(xi) xjx0 j si intende la probabilità istantanea di transizione dallo stato xj allo stato x0 j per la variabile casuale Xi, per una specifica istanziazione Pae(xi) nell’epoca e. La IM può essere rappresentata usando due insiemi di parametri: l’insieme delle intensità che parametrizzano le distribuzioni di quando occorrono le transizioni: qPae(xi) Xi = fqPae(xi) xj : xj 2 V al(Xn)g l’insieme delle probabilità che parametrizzano le distribuzioni di dove occorrono le transizioni: Pae(xi) Xi = fPae(xi) xj;x0 j = qPae(xi) xj;x0 j =qPae(xi) xj : xj ; x0 j 2 V al(Xi); xj6= x0 jg: I concetti che si presentano nelle seguenti sezioni faranno riferimento al modello delle NHCTBN, sebbene molti di essi siano in comune con le CTBN. Laurea Magistrale in Informatica 21
  • 41. 3.2. Statistiche sufficienti e likelihood 3.2 Statistiche sufficienti e likelihood Definita la struttura formale della rete, andiamo al passo successivo che è quello di mostrare cosa significa apprendere dai dati. In questa sezione si mostra come rappresentare i dati in maniera aggregata, utilizzando le statistiche sufficienti. Successivamente, con l’utilizzo di queste ultime, si presenta il concetto di likelihood dei dati rispetto ad un modello di NHCTBN predefinito, e trattando le likelihood si farà riferimento prima alla likelihood di un singolo nodo e poi la likelihood di un’intera struttura. 3.2.1 Statistiche sufficienti Di seguito presentiamo la definizione di statistica sufficiente: Definizione 3.2 (Statistica Sufficiente per nodi senza genitori). Sia X un processo di Markov che non ha genitori in Ge (cioè Pae(X) = ;), e con spazio degli stati V al(X), definiamo la sua statistica sufficiente come: Te[x], il tempo speso da X nello stato x 2 V al(X), nell’epoca e; Me[x; x0], il numero di transizioni da x a x0 , con x06= x, occorse nell’epoca e. Dall’ultima statistica si può definire Me[x] = P xi6=xj Me[x; x0] come il numero di transizioni in uscita dallo stato x, nell’epoca e. Definizione 3.3 (Statistica Sufficiente per nodi con genitori). (Nodelman et al. , 2002b) Sia X un processo di Markov che ha almeno un genitore in Ge (cioè Pae(X)6= ;), e con spazio degli stati V al(X), definiamo la sua statistica sufficiente come: Te[xju], il tempo speso da X nello stato x 2 V al(X), mentre i genitori hanno configurazione degli stati u, nell’epoca e; Me[x; x0ju], il numero di transizioni da x a x0, con x06= x, mentre i genitori hanno configurazione degli stati u, nell’epoca e. Dall’ultima statistica si può definire Me[xju] = P xi6=xj Me[x; x0ju] come il numero di transizioni in uscita dallo stato x, mentre i genitori hanno configu-razione degli stati u, nell’epoca e. Laurea Magistrale in Informatica 22
  • 42. 3.2. Statistiche sufficienti e likelihood 3.2.2 Likelihood di un singolo nodo Dato un processo di Markov omogeneo X(t), la likelihood dei dati è definita come un prodotto di likelihood, una per ogni transizione d = xd; td; x0 d 2 D, che rappresenta la transizione allo stato x0 d dopo aver passato un tempo pari a td nello stato xd. Si può scrivere la likelihood di una singola transizione d nel seguente modo: Lx(q; : d) = Lx(q : d)Lx( : d) (3.1) = (qxdeqxd td)(xdx0 d ) (3.2) Moltiplicando le likelihood di tutte le transizioni d nell’epoca e, e facendo uso delle statistiche sufficienti si ha: Lx(qe; e : De) = 0 @ Y d2De Lx(qe : d) 1 A 0 @ Y d2De 1 A Lx(e : d) = Y x qMe[x] x eqxTe[x] !0 @ Y x Y x06=x Me[xjx0] xx0 1 A: 3.2.3 Likelihood di una struttura In una NHCTBN è necessario fornire la likelihood di ogni singola struttura Ge, per ogni epoca e. Si ha, quindi, che in ogni struttura ogni variabile X 2 X è condizionata dallo stato dei suoi genitori PaGe(X) nell’epoca e. Avendo i dati completi si conosce lo stato in cui si trovano i genitori durante tutta la traiettoria, quindi ad ogni istante si conosce la matrice di intensità QXjPaGe che governa la dinamica di X. La likelihood di Ge è scomponibile per variabile: LGe(qe; e : De) = Y X2X LX(qXjUe ; XjUe : De) = Y X2X LX(qXjUe : De)LX(XjUe : De) (3.3) Il termine LX(XjUe : De) rappresenta la probabilità delle transizioni di stato, e dipende solo dal valore dei genitori nell’istante della transizione, e quindi ignora il tempo in cui rimane nello stato precedente alla transizione. Laurea Magistrale in Informatica 23
  • 43. 3.2. Statistiche sufficienti e likelihood Usando le statistiche sufficienti è possibile scrivere: LX(XjUe : De) = Y u2Ue Y x2X Y x06=x Me[x;x0ju] xx0jue (3.4) Il termine LX(qXjUe : De) rappresenta la likelihood del parametro qXjUe rispetto ai dati De, ed è funzione del tempo. Per riscrivere questo termine si ricorre alla statistica sufficiente Te[xju], che è scomponibile in 2 parti: Te[xju] = Tr e [xju] + Tc e [xju], dove Tr e [xju] rap-presenta la somma dei td delle transizioni che terminano con X invariato, e Tc e [xju] la somma dei td delle transizioni che terminano con X in uno stato differente. Questo perché la transizione può essere dovuta al cambio di stato della variabile oppure al cambio di stato di uno dei suoi genitori. Ora è possibile scrivere: LX(qXjUe : De) = Y u2Ue Y x2X qMe[xju] xjue eqxjueTc e [xju] ! Y u2Ue Y x2X eqxjueTr e [xju] ! = Y u2Ue Y x2X qMe[xju] xjue eqxjueTe[xju] (3.5) di conseguenza non è necessario distinguere Tr e [xju] e Tc e [xju], ma è sufficiente usare Te[xju]. Sostituendo le equazioni 3.4 e 3.5 nell’equazione 3.3 si ottiene: LGe(qe; e : De) = Y X2X LX(qXjUe ; XjUe : De) = Y X2X 0 @ Y u2Ue Y x2X Y x06=x Me[x;x0ju] xx0jue Y u2Ue Y x2X qMe[xju] xjue eqxjueTe[xju] 1 A (3.6) Passando ai logaritmi, per evitare produttorie di valori molto piccoli, ab- Laurea Magistrale in Informatica 24
  • 44. 3.3. Apprendimento di una NHCTBN biamo: `Ge(qe; e : De) = X X2X i h `X(qXjUe : De) + `X(XjUe : De) = X u2Ue X x2X # Me[xju] ln(qxjue) qxjueTe[xju] + 2 4 X u2U X x2X X x06=x Me[x; x0ju] ln(xx0jue) 3 5; 8X 2 X (3.7) 3.3 Apprendimento di una NHCTBN Fatte salve tutte le definizioni precedentemente enunciate atte a definire che cos’è una NHCTBN, passiamo ad approfondire l’apprendimento di una NHCTBN a partire dai dati. La fase di apprendimento si compone di due parti: apprendimento dei parametri data una struttura Ge, per ogni epoca e, dai dati disponibili; apprendimento della successione di strutture G1; G2; : : : ; GM che compon-gono la NHCTBN. Si forniscono alcune definizioni necessarie alla comprensione della fase di ap-prendimento. Definizione 3.4 (Traiettoria). Dato un insieme di processi di Markov X(t) = (X1(t);X2(t); : : : ;XN(t)), una traiettoria è un’istanziazione delle variabili X(t) per ogni valore di t. In questo documento si tratterà l’apprendimento solo per dati completi. Per l’apprendimento con dati incompleti, cioè nel caso in cui si hanno alcune variabili non osservate, si rimanda a (Nodelman, 2007). Definizione 3.5 (Dati Completi). (Nodelman, 2007) Dato un insieme di va-riabili casuali X = (X1;X2; : : : ;XN), un insieme di dati D = (1; 2; : : : ; h) si dice completo se ogni i è una traiettoria completamente osservata, ovvero se per ogni punto nel tempo di ogni traiettoria si conosce la completa istanziazione di tutte le variabili Xi. Laurea Magistrale in Informatica 25
  • 45. 3.3. Apprendimento di una NHCTBN 3.3.1 Apprendimento dei parametri Per quanto riguarda l’apprendimento dei parametri per una rete, data la strut-tura Ge, con dati completi De, per l’epoca e, nella letteratura specializzata sono disponibili due approcci: Approccio Maximum-Likelihood, si stimano i parametri in modo da mas-simizzare la likelihood in Equazione 3.7. Approccio Bayesiano, si sceglie una distribuzione a priori per i parametri e la si aggiorna in base ai dati. 3.3.1.1 Approccio Maximum-Likelihood Teorema 3.1. (Nodelman et al. , 2002b) I parametri che massimizzano la likelihood dell’Equazione 3.7 sono: ^qxjue = Me[x j u] Te[x j u] ^xx0jue = Me[x; x0 j u] Me[x j u] (3.8) Questi parametri vengono chiamati Maximum Likelihood Estimation (MLE) parameters. Il parametro ^qxjue si ricava eguagliando le medie: il tempo medio che una variabile X rimane nello stato x, con configurazione dei genitori u, nell’epoca e prima di una transizione è pari a Te[xju]=Me[xju]. La media della distribuzione esponenziale di parametro qxjue è 1=qxjue . Si ha quindi: 1 qxjue = Te[x j u] Me[x j u] qxjue = Me[x j u] Te[x j u] La probabilità che una variabile X transiti dallo stato x allo stato x0, quando i genitori hanno configurazione dello stato u, nell’epoca e, è stimabile tramite il rapporto tra il numero totale di transizioni da x a x0 (Me[x; x0ju]) e il numero totale di transizioni in uscita dallo stato x (Me[xju]). Si ha quindi: ^xx0jue = M[x; x0 j u]e M[x j u]e : Laurea Magistrale in Informatica 26
  • 46. 3.3. Apprendimento di una NHCTBN 3.3.1.2 Approccio Bayesiano Per l’approccio Bayesiano, invece, è necessario definire una distribuzione a priori per i parametri della rete. Al fine di avere un calcolo efficiente si è scelto di usare una distribuzione a priori coniugata. Per prima cosa si costruisce una distribuzione a priori adatta per un singolo processo di Markov, la quale possiede due insiemi di parametri: una distribuzione esponenziale di parametri q, nel caso specifico si è scelta la Distribuzione Gamma P(q) = Gamma(; ), dove P(q) = ( )+1 ( + 1) qeq una distribuzione multinomiale di parametri , nel caso specifico si è scel-ta la Distribuzione di Dirichlet P() = Dir(xx1 ; : : : ; xxk ) (Heckerman, 1996). Osservazione. L’iperparametro1 xx, chiamato dimensione equivalente del campione, è costituito dalla somma dei conteggi immaginari xx1 +: : :+xxk , chiamati pseudo-conteggi (Steck, Harald and Jaakkola, 2002). Assumendo che i due parametri siano indipendenti, ovvero che P(e; qe) = P(e)P(qe), si ottengono le seguenti distribuzioni a posteriori: P(jD) = Dir(xx1 +M[x; x1]; : : : ; xxk +M[x; xk]) P(qjD) = Gamma(x +M[x]; x + T[x]) Si vuole ora estendere l’idea all’intera rete riferita all’epoca e. Si assume che in una Bayesian Network (BN) (Heckerman, 1996) valgano la global parameter independence: P(qe; e) = Y X2X P(qXjPa(X)e; XjPa(X)e) e la local parameter independence: P(qXjUe ; XjUe) = Y x2X Y u2Ue ! P(qxju) Y x2X Y u2Ue ! : P(xju) 1I parametri di una distribuzione a priori vengono chiamati iperparametri Laurea Magistrale in Informatica 27
  • 47. 3.3. Apprendimento di una NHCTBN Se le distribuzioni a priori scelte soddisfano le precedenti assunzioni, si ha che anche le distribuzioni a posteriori le soddisfano (essendo coniugate), ed è quindi possibile mantenere la distribuzione parametrica in forma chiusa, ed aggiornarla con le statistiche sufficienti. Data una distribuzione parametrica è possibile usarla per prevedere il pros-simo evento, mediando la probabilità dell’evento su tutti i possibili valori dei parametri. Questa previsione è equivalente all’uso dei valori attesi, che hanno la stessa forma dei parametri MLE, ma tengono conto dei conteggi immaginari degli iperparametri: ^qxjue = x j ue +Me[x j u] x j ue + Te[x j u] ^xx0jue = xx0jue +Me[x; x0 j u] xjue +Me[x j u] Osservazione. La scelta di questi parametri, teoricamente, è valida solo per prevedere una transizione, dopo la quale, bisognerebbe aggiornare i parametri di conseguenza. D’altra parte, in questi casi, è possibile approssimare il calcolo esatto, usando questi parametri per prevedere una traiettoria intera. 3.3.2 Apprendimento della struttura Per apprendimento della struttura si intende il processo mediante il quale, a partire dai dati disponibili, si effettua una ricerca delle relazioni tra le variabili a cui si riferiscono i dati. Poichè le NHCTBN non hanno vincoli di aciclicità, l’apprendimento della struttura è molto più semplice rispetto alle DBN, per le quali consiste nel ri-solvere un problema di ottimizzazione NP-completo (Chickering, 1994). Si ha quindi che l’apprendimento della struttura è la ricerca della miglior configura-zione di genitori per un nodo. Tale ricerca, nel caso delle NHCTBN, la si può effettuare nodo per nodo. Per l’apprendimento della struttura si intende utilizzare, come per le BN, l’approccio SearchScore, in cui definiremo una funzione di score per confron-tare la bontà delle possibili strutture della rete e selezionare quella che meglio si adatta ai dati. Laurea Magistrale in Informatica 28
  • 48. 3.3. Apprendimento di una NHCTBN 3.3.2.1 Funzione di scoring Come già detto, poichè una NHCTBN consiste in una sequenza di grafi orientati, è necessario introdurre una funzione di scoring per il singolo grafo. Nella sot-tosezione 3.3.3 si mostra come comporre gli score dei singoli grafi per ottenere lo score dell’intera sequenza In questa tesi si è deciso di utilizzare uno score di tipo Bayesiano, e poiché il principio dell’approccio Bayesiano implica la definizione di una distribuzione a priori ovunque ci sia incertezza, come in questo caso, si definisce, quindi, una distribuzione a priori per la struttura nell’epoca e P(Ge) e una per i parametri P(GejGe). Applicando il teorema di Bayes si ha: P(Ge j De) = P(De j Ge)P(Ge) P(De) con De si intende l’istanziazione delle variabili negli istanti di tempo contenuti nell’epoca e. Dato che il denominatore è solo un fattore di normalizzazione, esso non è necessario per distinguere due strutture, per cui è possibile definire lo score come (Koller Friedman, 2009): scoreB(Ge : De) = ln P(De j Ge) + ln P(Ge) (3.9) Inoltre, per aumentare l’efficienza dell’algoritmo di ricerca, si assume che le distribuzioni a priori scelte soddisfino le seguenti proprietà (Nodelman et al. , 2002b): P(Ge) soddisfi la structure modularity, cioè P(Ge) = NY i=1 P(Pae(Xi) = PaGe(Xi)) parameter modularity, cioè per qualsiasi coppia di strutture Ge e G0e tali che PaGe(X) = PaG0e (X) con e fissato, vale P(qx; X j Ge) = P(qx; X j G0e ) Combinando la parameter modularity con il fatto che i parametri sono Laurea Magistrale in Informatica 29
  • 49. 3.3. Apprendimento di una NHCTBN indipendenti, abbiamo: P(qGe ; Ge ; j Ge; ) = Y Xi P(qXijUei j Pae(Xi) = PaGe ; (Xi))P(XijUei j Pae(Xi) = PaGe ; (Xi)) Dato che P(Ge) non cresce con l’aumentare dei dati, la parte significativa nell’Equazione 3.9 è la marginal likelihood P(DejGe). Questo termine incorpora l’incertezza sui parametri integrando su tutti i loro possibili valori P(De j Ge) = Z qGe ;Ge P(De j qGe ; Ge)P(qGe ; Ge j Ge) dqGe dGe La likelihood si può scomporre in un prodotto di likelihood: P(De j qGe ; Ge) = Y Xi LXi(qXijuei : De)LXi(Xijuei : De) = 0 @ Y Xi LXi(qXijuei : De) 1 A | {z } L(q:De) 0 @ Y Xi 1 A LXi(Xijuei : De) | {z } L(:De) Combinando questa decomposizione e la global parameter independence abbiamo: P(De j Ge) = Z qGe ;Ge L(qGe : De)L(Ge : De)P(Ge)P(qGe) dqGe dGe = Z qGe L(qGe : De)P(qGe) dqGe ! (3.10) Z Ge L(Ge : De)P(Ge) dGe ! (3.11) Usando la local parameter independence il termine (3.10) si può decomporre Laurea Magistrale in Informatica 30
  • 50. 3.3. Apprendimento di una NHCTBN nel seguente modo: Y X2X Y ue Y x Z 1 0 P(qxjue)Lx(qxjue : De) dqxjue = Y X2X Y ue Y x Z 1 0 xjue (xjue ) +1 (xjue+1) (qxjue)xjue eqxjue xjue (qxjue)Me[xju]eqxjueTe[xju] dqxjue = Y X2X Y ue Y x Z 1 0 2 4 xjue (xjue ) +1 (xjue+1) (qxjue)xjue+Me[xju] eqxjue (xjue+Te[xju]) 3 5dqxjue = Y X2X Y ue Y x (xjue +Me[xju] + 1)(xjue)xjue+1 (xjue + 1)(xjue + Te[xju])xjue+Me[xju]+1 (3.12) = Y X2X MargLq(X;PaGe(X) : De) Poiché la distribuzione dei parametri è Dirichlet, l’analisi dell’Equazione 3.11 è analoga a quella delle BN, quindi: Y X2X Y ue Y x (xjue) (xjue +Me[xju]) Y x06=x (xx0jue +Me[x; x0ju]) (xx0jue) (3.13) = Y X2X MargL(X;PaGe(X) : De) (3.14) Usando queste due scomposizioni, e assumendo la structure modularity, lo score Bayesiano dell’Equazione 3.9 può essere ora scomposto come una somma di family score denotati come FamScore(X;PaGe(X) : De), che assegna un punteggio ai genitori di X (ovvero PaGe(X)), così da poter scegliere per ogni nodo X 2 X i genitori che massimizzano il family score scoreB(Ge : De) = X Xi2X FamScore(Xi;PaGe(Xi) : De) = X Xi2X ln P(Pae(X) = PaGe(Xi)) + lnMargLq(Xi;Ui : De) + lnMargL(Xi;Ui : De) Si giunge, così, a definire lo score della struttura, in una singola epoca prefissata e, come una somma di score locali, uno per ogni nodo X. Laurea Magistrale in Informatica 31
  • 51. 3.3. Apprendimento di una NHCTBN 3.3.2.2 Ricerca della struttura Passiamo ora alla ricerca della struttura Ge per la singola epoca e. Questo è un problema di ottimizzazione, ed è stato formalizzato sotto il nome di K-Learn. Il K-Learn consiste nella ricerca della struttura che massimizza lo score, vincolando ogni nodo ad avere al massimo k genitori. Per le BN è un problema NP-hard già con K uguale a 2 (Chickering, 1994). La motivazione è che le BN sono soggette al vincolo di aciclicità, e quindi la determinazione dei genitori ottimali di un nodo è condizionata dalla scelta effettuata per gli altri nodi. La stessa complessità si ha anche sulle DBN se ammettiamo archi intra time slice. Nel caso delle NHCTBN gli archi rappresentano l’effetto del valore corrente di una variabile, sul prossimo valore di un’altra variabile. Quindi, nelle NHCTBN non è presente il vincolo di aciclitià. Senza tale vincolo è possibile ottimizzare la ricerca dei genitori effettuandola nodo per nodo, indipendentemente dagli altri nodi. Teorema 3.2. (Nodelman, 2007) Dato K, il problema K-Learn per una strut-tura di una NHCTBN può essere risolto in tempo polinomiale rispetto al numero di variabili N e alla dimensione dei dati D. Si ha, quindi, che è possibile ricavare in tempo polinomiale una struttura a partire dai dati D. 3.3.3 Apprendimento della sequenza Per poter affrontare l’apprendimento dell’intera sequenza di strutture della NHCTBN è necessario fornire un’altra funzione di scoring, ma questa volta, per l’intera sequenza. La funzione di scoring per la sequenza G = fG1; G2; : : : ; GEg (Robinson Hartemink, 2010) è definita come segue: scoreB(G : D) = XE e=1 scoreB(Ge : De) XE e=2 c(Ge; Ge1) eE (3.15) dove c(Ge; Ge1) è il numero di cambi di archi dalla struttura per l’epoca e 1 alla struttura per l’epoca e, pesato per un certo parametro c, e eE è il numero di epoche per un certo parametro e. Laurea Magistrale in Informatica 32
  • 52. 3.3. Apprendimento di una NHCTBN Osservazione. Le strutture ottime localmente ad ogni epoca non è detto che formino la sequenza ottima di strutture. Questo deriva dallo score dell’intera sequenza che pesa, tramite c, il numero di cambi di archi tra epoche contigue, e tramite e il numero di epoche totali. Si vuole infatti evitare sia che le strutture cambino in maniera considerevole in due epoche contigue, sia la presenza di un numero elevato di epoche. Nell’apprendimento della sequenza di strutture particolare attenzione va alla pesatura degli iperparametri xx0jue e xjue presenti nelle equazioni 3.12 e 3.13. In questa tesi proponiamo quattro tipologie di pesatura, le prime due si basano sullo score di tipo BDe (Murphy, 2012) e sono: 1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata: xx0jue = xx0jue #Osservazioni_Epoca #Osservazioni_Totali (3.16) xjue = xjue #Osservazioni_Epoca #Osservazioni_Totali (3.17) 2. Pesatura basata sull’ampiezza dell’epoca considerata: xx0jue = xx0jue te te1 T (3.18) xjue = xjue te te1 T (3.19) dove T è l’ampiezza temporale dell’intero dataset. Le ultime due invece si basano sullo score di tipo BDeu (Murphy, 2012) e sono: 1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata: xx0jue = xx0jue qi ri #Osservazioni_Epoca #Osservazioni_Totali (3.20) xjue = xjue qi ri #Osservazioni_Epoca #Osservazioni_Totali (3.21) Laurea Magistrale in Informatica 33
  • 53. 3.3. Apprendimento di una NHCTBN 2. Pesatura basata sull’ampiezza dell’epoca considerata: xx0jue = xx0jue qi ri te te1 T (3.22) xjue = xjue qi ri te te1 T (3.23) dove T è l’ampiezza temporale dell’intero dataset mentre qi ed ri sono, rispettivamente, il numero di stati congiunti dei genitori del nodo i, e il numero di stati del nodo i. La pesatura introdotta nella BDeu ha lo scopo di non favorire quei nodi che hanno un elevato numero di stati o un elevato numero di genitori. L’introduzio-ne invece della pesatura sull’ampiezza dell’epoca o sul numero di osservazioni serve per non favorire lo score di epoche troppo corte o con poche osservazioni. A questo punto è necessario affrontare un altro problema, quello delle informazioni che si hanno sui dati a disposizione. Poiché nell’apprendimento di una rete non omogenea è necessario sapere quante transizioni2 ci sono ed il punto esatto in cui queste avvengono, e queste due informazioni non sempre sono disponibili nei dati, si contemplano quindi tre casi: 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 conoscono gli istanti temporali. Caso C: nessuna informazione, non si conosce né il numero di transizioni né gli istanti temporali. Questi tre casi sono gli stessi visti nella trattazione delle NHDBN 3.3.4 Apprendimento della sequenza: Approccio SA Il problema che si vuole affrontare è la mancanza di informazioni, Caso B e Caso C, ovvero non sapere dove sono gli istanti di transizione da un epo-ca all’altra o addirittura non sapere nemmeno quanti sono. La soluzione è 2Istanti temporali in cui la rete Ge+1 sostituisce la rete Ge Laurea Magistrale in Informatica 34
  • 54. 3.3. Apprendimento di una NHCTBN un’approccio probabilistico che permette di ottenere queste informazioni in modo tale da riportarsi al Caso A. Una volta che l’informazione è completa l’apprendimento della sequenza si esegue in maniera esatta. Questo significa che una volta individuate le informazioni mancanti è possibile ricostruire la struttura ottima, a patto che le informazioni individuate siano corrette. L’approccio probabilistico che si è scelto di utilizzare è basato sull’algoritmo Simulated Annealing (SA) (Murphy, 2012). Il primo passo, per poter comprendere l’utilizzo dell’algoritmo SA nel nostro caso specifico, è fornire una definizione di stato. Definizione 3.6 (Stato nell’algoritmo SA). Si definisce stato, nell’algoritmo SA, la sequenza di istanti di transizione (da un’epoca all’altra) di una NHCTBN. Adesso si può descrivere l’idea alla base di questo algoritmo mediante i seguenti passaggi: 1. si parte da uno stato iniziale x, in cui gli istanti di transizioni 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 (ac-ceptance probability); 4. se si accetta x’, si salva, e 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. Osservazione. Nel caso C, di totale mancanza di informazione, lo stato ini-ziale consiste non solo in istanti di transizione equidistanti ma anche nell’e-strazione di un numero di epoche iniziali di partenza. 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 l’NHCTBN ricostruita a partire dallo stato più probabile. Per ottenere la struttura con score massimo bisogna ancora specificare: 1. come è definita l’acceptance probability; Laurea Magistrale in Informatica 35
  • 55. 3.3. Apprendimento di una NHCTBN 2. quali sono le operazioni necessarie per generare nuovi stati. Il punto 2 verrà trattato nel dettaglio nelle successive sottosezioni, di se-guito si descrive come è calcolata l’acceptance probability. L’acceptance probability viene calcolata come l’esponenziale della dif-ferenza tra, la probabilità del nuovo stato, e la probabilità dello stato attuale. Se questo valore è 1, ovvero lo stato x’ ha una probabilità maggiore o uguale a x, allora x’ viene accettato. Tuttavia se il nuovo stato ha una probabilità minore del precedente si ha comunque una probabilità, determinata dalla dif-ferenza precedente, di accettarlo ugualmente. Questo accorgimento serve per evitare di rimanere bloccati in massimi locali. In formule si può scrivere come: = exp(P(x0) P(x)) (3.24) Osservazione. Si fa notare che la probabilità degli stati si ottiene dallo score della NHCTBN che individuano. Osservazione. Il valore di accettazione si può moltiplicare per un parametro acceptance 2 (0; 1] al fine di rendere meno probabile l’accettazione di un nuovo stato. Tale parametro viene inserito dall’utente. Una miglioria consiste nell’introdurre una funzione di cooling. Questa funzione restituisce un valore 2 [0; 1] che decresce in funzione del tempo (nu-mero dell’iterazione corrente). Tale valore viene moltiplicato per l’acceptance probability (solo quando acceptance probability 1) facendo si che più si va avanti con le iterazioni più si rende difficile accettare uno stato con score peggiore di quello attuale. 3.3.4.1 Informazione completa Si entra ora nello specifico del caso A, in cui si è a conoscenza sia del numero di transizioni che degli istanti temporali in cui tali transizioni avvengono. In questa situazione si è a conoscenza dell’informazione completa necessaria per l’apprendimento della NHCTBN. Non è quindi necessario eseguire l’algorit-mo SA, tuttavia la si riporta in questa sezione in quanto è il caso base a cui si ricollegano il caso B e il caso C Laurea Magistrale in Informatica 36
  • 56. 3.3. Apprendimento di una NHCTBN Avendo a disposizione tutte le informazioni l’approccio di risoluzione è esatto e consiste nei seguenti punti: 1. calcolare gli score di tutte le possibili combinazioni di k-parent set (k fissato), di tutti i nodi, in tutte le epoche; 2. scegliere per ogni nodo e per ogni epoca i k-parent set che massimizzano lo score dell’intera sequenza, tenendo conto dello specifico valore di c come visto nella sottosezione 3.3.3; Il punto 2 si può ripetere per più valori di c i quali si estraggono da una distribuzione gamma. Questo porta a trovare diverse NHCTBN. Non è invece necessario calcolare il e, che sarà quindi impostato a 0, essendo a conoscenza dell’informazione esatta sul numero di epoche. Di seguito è riportato l’algoritmo completo in cui si può notare che: Riga 4-6: si cicla su tutte le epoche, sul numero massimo di genitori e su tutti i nodi; Riga: 7: vengono create tutte le combinazioni di k-parentSet per un k fissato; Riga: 8-9: si calcola lo score per un determinato parentSet U; Riga 14: si ritorna il parentSet con score massimo. Laurea Magistrale in Informatica 37
  • 57. 3.3. Apprendimento di una NHCTBN Algoritmo 2 Apprendimento sequenza NHCTBN - SA - Informazione completa Require: Massimo numero di genitori K, insieme di traiettorie completamen-te osservate D, istanti di transizione T, valore del lambda cambi c, valore del lambda epoche e. Ensure: Sequenza di strutture con il miglior score per i dati D EnumerateParents(Xi; k) è una funzione che enumera tutte le possibili combinazioni di k genitori per il nodo Xi. CalculateScore(Xi;U;D; Tfirst; Tlast; c) è una funzione che calcola lo score del nodo Xi con insieme dei genitori U dai dati D compresi nell’intervallo da Tfirst a Tlast, per un c prefissato. getBestParentSet(score[], c, e) è una funzione che dati in input gli score, il valore del lambda cambi e dei lambda epoca, e ritorna il migliori parent set globali con relativo score. 1: function LearnFullInformation(K;D; T; c; e) 2: E Length[T] + 1 3: bestP arent[N;E] ; 4: for e 1 to E do 5: for k 0 to K do 6: for i 1 to N do 7: parentSet EnumerateParent(Xi; k) 8: for all U in parentSet do 9: score[e]:add( CalculateScore(Xi;U;D; T[e]; T[e + 1]; c; e)) 10: end for 11: end for 12: end for 13: end for 14: bestP arentSet getBestParentSet(score[], c,e) 15: return bestP arentSet 16: end function 3.3.4.2 Informazione parziale Si entra ora nello specifico del caso B, in cui si è a conoscenza solamente del numero di transizioni, ma non degli istanti temporali in cui tali transizioni avvengono. Si entra quindi nel vivo dell’algoritmo SA. Si definisce di seguito l’operatore che, ad ogni iterazione dell’algoritmo, ci propone un nuovo stato in cui spostarci, a partire da quello attuale. In questo caso, in cui il numero di istanti di transizione è noto, può variare solo la posizione dei suddetti. Sarà quindi necessario utilizzare un solo operatore che si occupa dello shift degli istanti temporali di transizione. Laurea Magistrale in Informatica 38
  • 58. 3.3. Apprendimento di una NHCTBN Si propongono due tipologie di shift che l’utente può selezionare: omogeneo e proporzionale. Lo shift omogeneo funziona nel seguente modo: 1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando una distribuzione di probabilità uniforme; 2. si estrae un ulteriore valore u U[1; 1]; 3. si propone infine lo spostamento s = t + shift u. Osservazione. Mentre il valore u definisce la direzione dello spostamento, il parametro shift definisce la grandezza dello spostamento. Lo shift proporzionale funziona nel seguente modo: 1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando una distribuzione di probabilità uniforme, supponendo che t separi le epoche (ta; t)(t; tb); 2. si estrae un ulteriore valore u U[1; 1]; 3. se u 0 allora si propone lo spostamento s = t + shift u (t ta) 4. altrimenti si propone lo spostamento s = t + shift u (tb t) Osservazione. Lo shift proporzionale permette di eseguire uno spostamento che non è fisso, ma che appunto è proporzionale alla distanza dei tempi contigui a t. Osservazione. E’ inoltre possibile fornire una versione discreta degli operatori di shift, che consiste nel ritornare non il tempo generato dall’operatore, ma quello dell’osservazione più vicina (a tale tempo) presente nel dataset. Per entrambe le versioni, al valore di shift viene associato una funzione di cooling, come per l’acceptance probability, al fine di diminuire la grandezza dello spostamento proposto in proporzione al numero di iterazioni dell’algorit-mo. L’idea generale di funzionamento dell’algoritmo SA, descritta nella sotto-sezione 3.3.4, si riferisce all’apprendimento di una sola sequenza di stati. Nel caso B, invece, si estraggono più c da una distribuzione gamma, come per il Laurea Magistrale in Informatica 39
  • 59. 3.3. Apprendimento di una NHCTBN caso A, e per ognuno di essi si fa partire una sequenza differente. Alla fine, da tutti gli stati contenuti in ogni sequenza, si ritorna lo stato più probabile con il modello NHCTBN che esso individua. Non è invece necessario valutare il e, che sarà impostato a 0, essendo noto il numero di epoche. Di seguito è riportato l’algoritmo completo in cui si può notare che: Riga 2-7: si estrae un numero pari ad N di valori c e si fa partire una nuova sequenza per ogni valore estratto; Riga 8: per ogni sequenza si effettua un numero pari ad IT di iterazioni; Riga 9-11: Si genera il nuovo stato, ricostruendone la struttura, e si calcola l’acceptance probability; Riga 12-20: Si decide se accettare o meno il nuovo stato in accordo con l’acceptance probability; Riga 25: Si ritorna la sequenza ricostruita da cui poi si andrà ad estrarre la struttura con score massimo; Laurea Magistrale in Informatica 40