SlideShare a Scribd company logo
Università degli Studi di Milano-Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Laurea Magistrale in Informatica
Continuous Time
Bayesian Network Classifiers
Relatore: Prof. Fabio Stella
Correlatore: Dott. Daniele Codecasa
Leonardo Di Donato
Matr. n. 744739
24 settembre 2013
Anno accademico 2012-2013
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
classificazione di dati temporali
problemi
Gesture recognition
Trading
Log analysis
GPS data
Traffic
Medicine
Biology
approcci
DBN
(Dean & Kanazawa 1989)
DTW
(Keogh 1999)
CTBN
(Nodelman 2002)
CTBNC
(Stella & Amer 2012)
Introduzione 1 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
contributi
• realizzazione di un pacchetto R per il framework delle CTBN
◦ apprendimento parametri CTBN e apprendimento CTBNC
◦ apprendimento strutturale CTBN
◦ classificazione supervisionata CTBNC
• progettazione e implementazione di una RTE1
di TSIS2
◦ software per il monitoraggio e tracciamento del passaggio di veicoli sui
sensori delle reti stradali
◦ creazione modelli di traffico
◦ generazione di dataset per le CTBN
• applicazione dei CTBNC al problema della classificazione di profili di
traffico
1
Estensione a tempo d’esecuzione.
2
Ambiente di sviluppo integrato per la creazione e simulazione di modelli di traffico, supportato
dalla Federal Highway Administration (FHWA).
Introduzione 2 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
dynamic bayesian networks
Cosa sono?
Estensione temporale delle Bayesian Network.
Modellano la dinamica di un sistema suddividendo il tempo in intervalli di
egual durata.
Come?
Rappresentano le distribuzioni delle transizioni di stato effettuate dalle
variabili casuali in un intervallo di tempo tramite una BN.
svantaggi
• granularità temporale fissata a priori
• difficoltà nella rappresentazione di sistemi i cui processi evolvono con
differenti granularità temporali
Introduzione 3 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
dynamic bayesian networks
Cosa sono?
Estensione temporale delle Bayesian Network.
Modellano la dinamica di un sistema suddividendo il tempo in intervalli di
egual durata.
Come?
Rappresentano le distribuzioni delle transizioni di stato effettuate dalle
variabili casuali in un intervallo di tempo tramite una BN.
svantaggi
• granularità temporale fissata a priori
• difficoltà nella rappresentazione di sistemi i cui processi evolvono con
differenti granularità temporali
Introduzione 3 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
dynamic bayesian networks
Cosa sono?
Estensione temporale delle Bayesian Network.
Modellano la dinamica di un sistema suddividendo il tempo in intervalli di
egual durata.
Come?
Rappresentano le distribuzioni delle transizioni di stato effettuate dalle
variabili casuali in un intervallo di tempo tramite una BN.
svantaggi
• granularità temporale fissata a priori
• difficoltà nella rappresentazione di sistemi i cui processi evolvono con
differenti granularità temporali
Introduzione 3 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
Sia X un insieme di processi di Markov X1 , X2 , . . . , XN a tempo continuo e
con spazio degli stati finito val(Xn) = { x1 , . . . , xJ } (dove n = 1 , . . . , N).
X1
{ x1,1 , . . . , x1, J1
}
X2
{ x2,1 , . . . , x2, J2
}
X3
{ x3,1 , . . . , x3, J3
}
X4
{ x4,1 , . . . , x4, J4
}
X5
{ x5,1 , . . . , x5, J5
}
Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
Una CTBN N su X consiste di 2 componenti.
(1) Una distribuzione di probabilità iniziale P0
X specificata come una Bayesian
Network B su X . . .
X1
{ x1,1 , . . . , x1, J1
}
X2
{ x2,1 , . . . , x2, J2
}
X3
{ x3,1 , . . . , x3, J3
}
X4
{ x4,1 , . . . , x4, J4
}
X5
{ x5,1 , . . . , x5, J5
}
Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
(2) Un modello di transizione a tempo continuo specificato da:
(2.1) un grafo G orientato e non necessariamente aciclico composto dai nodi
X1 , X2 , . . . , XN; dove Pa(Xn) denota l’insieme di genitori di ognuno di essi
X1
{ x1,1 , . . . , x1, J1
}
X2
{ x2,1 , . . . , x2, J2
}
X3
{ x3,1 , . . . , x3, J3
}
X4
{ x4,1 , . . . , x4, J4
}
X5
{ x5,1 , . . . , x5, J5
}
Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
(2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X
QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x)
Per ogni pai(x), istanziazione di Pa(Xn):
QXn | pai(x) =








−qpai(x)
x1
qpai(x)
x1x2
· · · qpai(x)
x1xK
qpai(x)
x2x1
−qpai(x)
x2
· · · qpai(x)
x2xK
...
...
...
...
qpai(x)
xKx1
qpai(x)
xKx2
· · · −qpai(x)
xK








Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
(2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X
QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x)
Per ogni pai(x), istanziazione di Pa(Xn):
QXn | pai(x) =








−qpai(x)
x1
qpai(x)
x1x2
· · · qpai(x)
x1xK
qpai(x)
x2x1
−qpai(x)
x2
· · · qpai(x)
x2xK
...
...
...
...
qpai(x)
xKx1
qpai(x)
xKx2
· · · −qpai(x)
xK








Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian networks
Definizione (Nodelman 2002)
(2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X
QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x)
Per ogni pai(x), istanziazione di Pa(Xn):
QXn | pai(x) =








−qpai(x)
x1
qpai(x)
x1x2
· · · qpai(x)
x1xK
qpai(x)
x2x1
−qpai(x)
x2
· · · qpai(x)
x2xK
...
...
...
...
qpai(x)
xKx1
qpai(x)
xKx2
· · · −qpai(x)
xK








Continuous Time Bayesian Networks 4 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian network classifiers
Classe di modelli di classificazione supervisionata derivata dalle CTBN.
Continuous Time Bayesian Network Classifiers 5 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian network classifiers
Definizione (Stella 2012)
Un CTBNC è composto da una coppia C = (N , P(Y)) dove:
• N è una CTBN con nodi attributo X1 , X2 , . . . , XN
• Y è il nodo classe con valori val(Y) = { y1 , . . . , yK } e probabilità
marginale P(Y).
Continuous Time Bayesian Network Classifiers 5 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian network classifiers
Definizione (Stella 2012)
Il grafo su N rispetta le seguenti condizioni:
• G è un grafo connesso
• Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe
• il nodo Y è indipendente dal tempo ed è specificato solo dalla sua
probabilità marginale P(Y).
Continuous Time Bayesian Network Classifiers 5 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian network classifiers
Definizione (Stella 2012)
Il grafo su N rispetta le seguenti condizioni:
• G è un grafo connesso
• Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe
• il nodo Y è indipendente dal tempo ed è specificato solo dalla sua
probabilità marginale P(Y).
Y
X1 X2 X3
X4 X5
Continuous Time Bayesian Network Classifiers 5 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time bayesian network classifiers
Definizione (Stella 2012)
Il grafo su N rispetta le seguenti condizioni:
• G è un grafo connesso
• Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe
• il nodo Y è indipendente dal tempo ed è specificato solo dalla sua
probabilità marginale P(Y).
Y
X1 X2 X3
X4 X5
Continuous Time Bayesian Network Classifiers 5 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time naive bayes classifier
Definizione (Stella 2012)
Un classificatore Continuous Time Naive Bayes (CTNBC) è un CTBNC
C = (N , P(Y)) in cui ogni nodo attributo ha un solo genitore, il nodo classe Y.
Quindi: Pa(Xn) = {Y} ∀ Xn ∈ G.
Continuous Time Bayesian Network Classifiers 6 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
continuous time naive bayes classifier
Definizione (Stella 2012)
Un classificatore Continuous Time Naive Bayes (CTNBC) è un CTBNC
C = (N , P(Y)) in cui ogni nodo attributo ha un solo genitore, il nodo classe Y.
Quindi: Pa(Xn) = {Y} ∀ Xn ∈ G.
X1 X2 X3 X4 X5
Y
Continuous Time Bayesian Network Classifiers 6 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
esempio
C1 C2S1S2
Y
congestione
CTBNC
Continuous Time Bayesian Network Classifiers 7 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
esempio
C1 C2S1S2
Y
congestione
CTNBC
Continuous Time Bayesian Network Classifiers 7 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
esempio
Osservazione
Il CTBNC cattura più informazione rispetto al CTNBC. Ad esempio:
• la dinamica del sensore S1 dipende da C1
• la dinamica del sensore S2 dipende da S1.
Continuous Time Bayesian Network Classifiers 7 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
apprendimento strutturale
Metodologia
Approccio basato su punteggio:
• punteggio di una struttura G rispetto a un training set D
scoreB(G : D) = ln P(D | G) + ln P(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =
Xi
famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002)
Osservazione
No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo
eseguibile indipendentemente dagli altri nodi.
Apprendimento strutturale 8 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
apprendimento strutturale
Metodologia
Approccio basato su punteggio:
• punteggio di una struttura G rispetto a un training set D
scoreB(G : D) = ln P(D | G) + ln P(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =
Xi
famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002)
Osservazione
No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo
eseguibile indipendentemente dagli altri nodi.
Apprendimento strutturale 8 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
apprendimento strutturale
Metodologia
Approccio basato su punteggio:
• punteggio di una struttura G rispetto a un training set D
scoreB(G : D) = ln P(D | G) + ln P(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =
Xi
famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002)
Osservazione
No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo
eseguibile indipendentemente dagli altri nodi.
Apprendimento strutturale 8 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
rctbn
Pacchetto R che implementa il framework CTBN e i CTBNC.
Requisito 1 – Gestione dei dataset
• importazione
• serializzazione
• caricamento veloce.
Requisito 2 – Apprendimento di modelli CTBN
• calcolo delle statistiche sufficienti
• calcolo iper-parametri
• calcolo matrici di intensità condizionali.
Strumenti software 9 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
rctbn
Pacchetto R che implementa il framework CTBN e i CTBNC.
Requisito 3 – Apprendimento strutturale per CTBN
• funzione di punteggio
• ricerca euristica.
Requisito 4 – Classificazione supervisionata tramite CTBNC
• apprendimento CTBNC
• inferenza tramite CTBNC.
Strumenti software 9 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
rctbn
Strumenti software 9 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sensors dll
Estensione di TSIS finalizzata al monitoraggio e tracciamento del passaggio
dei veicoli sui sensori delle reti stradali.
Motivazione
1. CORSIM3
non può restituire dati temporali non aggregati
2. massima granularità temporale di CORSIM: 1 secondo.
Obiettivo
Superamento delle limitazioni di CORSIM al fine di:
1. rilevare il passaggio dei veicoli sui sensori di una rete stradale TSIS
nell’istante in cui esso avviene
2. generare e memorizzare le onde quadre dei sensori.
3
Simulatore di modelli di traffico incluso in TSIS.
Strumenti software 10 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sensors dll
Strumenti software 10 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
contesto
Problema
Il problema del traffico affligge tutte le grandi città.
La congestione delle reti urbane incide negativamente su vari aspetti della
qualità della vita.
Approccio (Angulo 2011)
Ottimizzazione dei piani semaforici in base alle condizioni di traffico:
1. classificazione dei profili di traffico
2. selezione del piano semaforico ad esso associato.
Classificazione di profili di traffico 11 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Modelli di traffico
1. modello fittizio
2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Modelli di traffico
1. modello fittizio
2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Modelli di traffico
1. modello fittizio
2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Dataset 1
• 40 sensori
• 86400 secondi totali di simulazione
• 6 classi – mattina , giorno, pomeriggio, sera, notte, alba
Generate 2 varianti: traiettorie da 100 o 300 secondi.
Dataset 2
• 6 sensori reali
• 32 sensori totali
• 86400 secondi totali di simulazione
• 6 classi – mattina , giorno, pomeriggio, sera, notte, alba
Generate 4 varianti: traiettorie da 100 o 300 secondi, solo sensori reali o tutti i
sensori.
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Scopo
• classificazione di profili di traffico tramite classificatori CTBN
• comparazione di 4 istanze di classificatori:
CTNBC, CTBNC23
, CTBNC3, CTBNC4.
Metodologia
Per ogni dataset, per ogni classificatore:
1. esecuzione k-fold cross-validazione con k = 10
2. computazione metriche di valutazione per ogni fold
3. aggregazione risultati tramite approccio macro-average e micro-average.
3
Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre
istanze.
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
sperimentazione
Scopo
• classificazione di profili di traffico tramite classificatori CTBN
• comparazione di 4 istanze di classificatori:
CTNBC, CTBNC23
, CTBNC3, CTBNC4.
Metodologia
Per ogni dataset, per ogni classificatore:
1. esecuzione k-fold cross-validazione con k = 10
2. computazione metriche di valutazione per ogni fold
3. aggregazione risultati tramite approccio macro-average e micro-average.
3
Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre
istanze.
Classificazione di profili di traffico 12 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
risultati
Dataset # 1.100 Dataset # 1.300
0%
25%
50%
75%
100%
CTBNC4
CTBNC3
CTBNC2
CTNBC
CTBNC4
CTBNC3
CTBNC2
CTNBC
Classificatori
Accuracy
0%
25%
50%
75%
100%
Classificazione di profili di traffico 13 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
risultati
Dataset # 2.B.100 Dataset # 2.B.300
0%
25%
50%
75%
100%
CTBNC4
CTBNC3
CTBNC2
CTNBC
CTBNC4
CTBNC3
CTBNC2
CTNBC
Classificatori
Accuracy
0%
25%
50%
75%
100%
Classificazione di profili di traffico 13 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
risultati
Dataset # 2.E.100 Dataset # 2.E.300
0%
25%
50%
75%
100%
CTBNC4
CTBNC3
CTBNC2
CTNBC
CTBNC4
CTBNC3
CTBNC2
CTNBC
Classificatori
Accuracy
0%
25%
50%
75%
100%
Classificazione di profili di traffico 13 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
risultati
CTBNC2 CTBNC3
CTBNC4 CTNBC
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00
False positive rate (FPR)
Truepositiverate(TPR)
Classificazione di profili di traffico 13 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
Grazie per l’attenzione.
14 / 14

More Related Content

Similar to Continuous Time Bayesian Network Classifiers, M.Sc Thesis

Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
MicheleScomina
 
Presentazione Tesi Elisa Benetti R
Presentazione Tesi Elisa Benetti RPresentazione Tesi Elisa Benetti R
Presentazione Tesi Elisa Benetti Rguest6ac2c
 
Extended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet NetworkExtended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet Network
OlesiaRonzon
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Francesco Komauli
 
Deep Learning on Event-Based Cameras
Deep Learning on Event-Based CamerasDeep Learning on Event-Based Cameras
Deep Learning on Event-Based Cameras
Marco Cannici
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
MichaelFuser
 
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
Guido Colangiuli
 

Similar to Continuous Time Bayesian Network Classifiers, M.Sc Thesis (7)

Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
 
Presentazione Tesi Elisa Benetti R
Presentazione Tesi Elisa Benetti RPresentazione Tesi Elisa Benetti R
Presentazione Tesi Elisa Benetti R
 
Extended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet NetworkExtended Summary of Optimized Design of a Human Intranet Network
Extended Summary of Optimized Design of a Human Intranet Network
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
 
Deep Learning on Event-Based Cameras
Deep Learning on Event-Based CamerasDeep Learning on Event-Based Cameras
Deep Learning on Event-Based Cameras
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
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
 

More from Leonardo Di Donato

Prometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesPrometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on Kubernetes
Leonardo Di Donato
 
Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?
Leonardo Di Donato
 
From logs to metrics
From logs to metricsFrom logs to metrics
From logs to metrics
Leonardo Di Donato
 
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasksTopic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Leonardo Di Donato
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social Network
Leonardo Di Donato
 
Sistema Rilevamento Transiti (SRT) - Software Analysis and Design
Sistema Rilevamento Transiti (SRT) - Software Analysis and DesignSistema Rilevamento Transiti (SRT) - Software Analysis and Design
Sistema Rilevamento Transiti (SRT) - Software Analysis and DesignLeonardo Di Donato
 

More from Leonardo Di Donato (7)

Prometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesPrometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on Kubernetes
 
Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?
 
From logs to metrics
From logs to metricsFrom logs to metrics
From logs to metrics
 
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasksTopic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
 
Virtual Worlds
Virtual WorldsVirtual Worlds
Virtual Worlds
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social Network
 
Sistema Rilevamento Transiti (SRT) - Software Analysis and Design
Sistema Rilevamento Transiti (SRT) - Software Analysis and DesignSistema Rilevamento Transiti (SRT) - Software Analysis and Design
Sistema Rilevamento Transiti (SRT) - Software Analysis and Design
 

Continuous Time Bayesian Network Classifiers, M.Sc Thesis

  • 1. Università degli Studi di Milano-Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Laurea Magistrale in Informatica Continuous Time Bayesian Network Classifiers Relatore: Prof. Fabio Stella Correlatore: Dott. Daniele Codecasa Leonardo Di Donato Matr. n. 744739 24 settembre 2013 Anno accademico 2012-2013
  • 2. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione classificazione di dati temporali problemi Gesture recognition Trading Log analysis GPS data Traffic Medicine Biology approcci DBN (Dean & Kanazawa 1989) DTW (Keogh 1999) CTBN (Nodelman 2002) CTBNC (Stella & Amer 2012) Introduzione 1 / 14
  • 3. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione contributi • realizzazione di un pacchetto R per il framework delle CTBN ◦ apprendimento parametri CTBN e apprendimento CTBNC ◦ apprendimento strutturale CTBN ◦ classificazione supervisionata CTBNC • progettazione e implementazione di una RTE1 di TSIS2 ◦ software per il monitoraggio e tracciamento del passaggio di veicoli sui sensori delle reti stradali ◦ creazione modelli di traffico ◦ generazione di dataset per le CTBN • applicazione dei CTBNC al problema della classificazione di profili di traffico 1 Estensione a tempo d’esecuzione. 2 Ambiente di sviluppo integrato per la creazione e simulazione di modelli di traffico, supportato dalla Federal Highway Administration (FHWA). Introduzione 2 / 14
  • 4. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione dynamic bayesian networks Cosa sono? Estensione temporale delle Bayesian Network. Modellano la dinamica di un sistema suddividendo il tempo in intervalli di egual durata. Come? Rappresentano le distribuzioni delle transizioni di stato effettuate dalle variabili casuali in un intervallo di tempo tramite una BN. svantaggi • granularità temporale fissata a priori • difficoltà nella rappresentazione di sistemi i cui processi evolvono con differenti granularità temporali Introduzione 3 / 14
  • 5. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione dynamic bayesian networks Cosa sono? Estensione temporale delle Bayesian Network. Modellano la dinamica di un sistema suddividendo il tempo in intervalli di egual durata. Come? Rappresentano le distribuzioni delle transizioni di stato effettuate dalle variabili casuali in un intervallo di tempo tramite una BN. svantaggi • granularità temporale fissata a priori • difficoltà nella rappresentazione di sistemi i cui processi evolvono con differenti granularità temporali Introduzione 3 / 14
  • 6. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione dynamic bayesian networks Cosa sono? Estensione temporale delle Bayesian Network. Modellano la dinamica di un sistema suddividendo il tempo in intervalli di egual durata. Come? Rappresentano le distribuzioni delle transizioni di stato effettuate dalle variabili casuali in un intervallo di tempo tramite una BN. svantaggi • granularità temporale fissata a priori • difficoltà nella rappresentazione di sistemi i cui processi evolvono con differenti granularità temporali Introduzione 3 / 14
  • 7. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) Sia X un insieme di processi di Markov X1 , X2 , . . . , XN a tempo continuo e con spazio degli stati finito val(Xn) = { x1 , . . . , xJ } (dove n = 1 , . . . , N). X1 { x1,1 , . . . , x1, J1 } X2 { x2,1 , . . . , x2, J2 } X3 { x3,1 , . . . , x3, J3 } X4 { x4,1 , . . . , x4, J4 } X5 { x5,1 , . . . , x5, J5 } Continuous Time Bayesian Networks 4 / 14
  • 8. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) Una CTBN N su X consiste di 2 componenti. (1) Una distribuzione di probabilità iniziale P0 X specificata come una Bayesian Network B su X . . . X1 { x1,1 , . . . , x1, J1 } X2 { x2,1 , . . . , x2, J2 } X3 { x3,1 , . . . , x3, J3 } X4 { x4,1 , . . . , x4, J4 } X5 { x5,1 , . . . , x5, J5 } Continuous Time Bayesian Networks 4 / 14
  • 9. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) (2) Un modello di transizione a tempo continuo specificato da: (2.1) un grafo G orientato e non necessariamente aciclico composto dai nodi X1 , X2 , . . . , XN; dove Pa(Xn) denota l’insieme di genitori di ognuno di essi X1 { x1,1 , . . . , x1, J1 } X2 { x2,1 , . . . , x2, J2 } X3 { x3,1 , . . . , x3, J3 } X4 { x4,1 , . . . , x4, J4 } X5 { x5,1 , . . . , x5, J5 } Continuous Time Bayesian Networks 4 / 14
  • 10. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) (2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x) Per ogni pai(x), istanziazione di Pa(Xn): QXn | pai(x) =         −qpai(x) x1 qpai(x) x1x2 · · · qpai(x) x1xK qpai(x) x2x1 −qpai(x) x2 · · · qpai(x) x2xK ... ... ... ... qpai(x) xKx1 qpai(x) xKx2 · · · −qpai(x) xK         Continuous Time Bayesian Networks 4 / 14
  • 11. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) (2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x) Per ogni pai(x), istanziazione di Pa(Xn): QXn | pai(x) =         −qpai(x) x1 qpai(x) x1x2 · · · qpai(x) x1xK qpai(x) x2x1 −qpai(x) x2 · · · qpai(x) x2xK ... ... ... ... qpai(x) xKx1 qpai(x) xKx2 · · · −qpai(x) xK         Continuous Time Bayesian Networks 4 / 14
  • 12. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian networks Definizione (Nodelman 2002) (2.2) una matrice di intensità condizionale QXn | Pa(Xn) per ogni nodo Xn ∈ X QXn | Pa(Xn) = QXn | pa1(x) , QXn | pa2(x) , . . . , QXn | paI(x) Per ogni pai(x), istanziazione di Pa(Xn): QXn | pai(x) =         −qpai(x) x1 qpai(x) x1x2 · · · qpai(x) x1xK qpai(x) x2x1 −qpai(x) x2 · · · qpai(x) x2xK ... ... ... ... qpai(x) xKx1 qpai(x) xKx2 · · · −qpai(x) xK         Continuous Time Bayesian Networks 4 / 14
  • 13. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian network classifiers Classe di modelli di classificazione supervisionata derivata dalle CTBN. Continuous Time Bayesian Network Classifiers 5 / 14
  • 14. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian network classifiers Definizione (Stella 2012) Un CTBNC è composto da una coppia C = (N , P(Y)) dove: • N è una CTBN con nodi attributo X1 , X2 , . . . , XN • Y è il nodo classe con valori val(Y) = { y1 , . . . , yK } e probabilità marginale P(Y). Continuous Time Bayesian Network Classifiers 5 / 14
  • 15. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian network classifiers Definizione (Stella 2012) Il grafo su N rispetta le seguenti condizioni: • G è un grafo connesso • Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe • il nodo Y è indipendente dal tempo ed è specificato solo dalla sua probabilità marginale P(Y). Continuous Time Bayesian Network Classifiers 5 / 14
  • 16. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian network classifiers Definizione (Stella 2012) Il grafo su N rispetta le seguenti condizioni: • G è un grafo connesso • Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe • il nodo Y è indipendente dal tempo ed è specificato solo dalla sua probabilità marginale P(Y). Y X1 X2 X3 X4 X5 Continuous Time Bayesian Network Classifiers 5 / 14
  • 17. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time bayesian network classifiers Definizione (Stella 2012) Il grafo su N rispetta le seguenti condizioni: • G è un grafo connesso • Pa(Y) = ∅ – la variabile casuale Y è associata al nodo classe • il nodo Y è indipendente dal tempo ed è specificato solo dalla sua probabilità marginale P(Y). Y X1 X2 X3 X4 X5 Continuous Time Bayesian Network Classifiers 5 / 14
  • 18. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time naive bayes classifier Definizione (Stella 2012) Un classificatore Continuous Time Naive Bayes (CTNBC) è un CTBNC C = (N , P(Y)) in cui ogni nodo attributo ha un solo genitore, il nodo classe Y. Quindi: Pa(Xn) = {Y} ∀ Xn ∈ G. Continuous Time Bayesian Network Classifiers 6 / 14
  • 19. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione continuous time naive bayes classifier Definizione (Stella 2012) Un classificatore Continuous Time Naive Bayes (CTNBC) è un CTBNC C = (N , P(Y)) in cui ogni nodo attributo ha un solo genitore, il nodo classe Y. Quindi: Pa(Xn) = {Y} ∀ Xn ∈ G. X1 X2 X3 X4 X5 Y Continuous Time Bayesian Network Classifiers 6 / 14
  • 20. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione esempio C1 C2S1S2 Y congestione CTBNC Continuous Time Bayesian Network Classifiers 7 / 14
  • 21. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione esempio C1 C2S1S2 Y congestione CTNBC Continuous Time Bayesian Network Classifiers 7 / 14
  • 22. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione esempio Osservazione Il CTBNC cattura più informazione rispetto al CTNBC. Ad esempio: • la dinamica del sensore S1 dipende da C1 • la dinamica del sensore S2 dipende da S1. Continuous Time Bayesian Network Classifiers 7 / 14
  • 23. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione apprendimento strutturale Metodologia Approccio basato su punteggio: • punteggio di una struttura G rispetto a un training set D scoreB(G : D) = ln P(D | G) + ln P(G) • ricerca euristica (e.g., hill climbing) del punteggio massimo. scoreB(G : D) = Xi famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002) Osservazione No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo eseguibile indipendentemente dagli altri nodi. Apprendimento strutturale 8 / 14
  • 24. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione apprendimento strutturale Metodologia Approccio basato su punteggio: • punteggio di una struttura G rispetto a un training set D scoreB(G : D) = ln P(D | G) + ln P(G) • ricerca euristica (e.g., hill climbing) del punteggio massimo. scoreB(G : D) = Xi famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002) Osservazione No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo eseguibile indipendentemente dagli altri nodi. Apprendimento strutturale 8 / 14
  • 25. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione apprendimento strutturale Metodologia Approccio basato su punteggio: • punteggio di una struttura G rispetto a un training set D scoreB(G : D) = ln P(D | G) + ln P(G) • ricerca euristica (e.g., hill climbing) del punteggio massimo. scoreB(G : D) = Xi famscoreB(Xi , PaG(Xi) : D) (Nodelman 2002) Osservazione No vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodo eseguibile indipendentemente dagli altri nodi. Apprendimento strutturale 8 / 14
  • 26. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione rctbn Pacchetto R che implementa il framework CTBN e i CTBNC. Requisito 1 – Gestione dei dataset • importazione • serializzazione • caricamento veloce. Requisito 2 – Apprendimento di modelli CTBN • calcolo delle statistiche sufficienti • calcolo iper-parametri • calcolo matrici di intensità condizionali. Strumenti software 9 / 14
  • 27. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione rctbn Pacchetto R che implementa il framework CTBN e i CTBNC. Requisito 3 – Apprendimento strutturale per CTBN • funzione di punteggio • ricerca euristica. Requisito 4 – Classificazione supervisionata tramite CTBNC • apprendimento CTBNC • inferenza tramite CTBNC. Strumenti software 9 / 14
  • 28. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione rctbn Strumenti software 9 / 14
  • 29. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sensors dll Estensione di TSIS finalizzata al monitoraggio e tracciamento del passaggio dei veicoli sui sensori delle reti stradali. Motivazione 1. CORSIM3 non può restituire dati temporali non aggregati 2. massima granularità temporale di CORSIM: 1 secondo. Obiettivo Superamento delle limitazioni di CORSIM al fine di: 1. rilevare il passaggio dei veicoli sui sensori di una rete stradale TSIS nell’istante in cui esso avviene 2. generare e memorizzare le onde quadre dei sensori. 3 Simulatore di modelli di traffico incluso in TSIS. Strumenti software 10 / 14
  • 30. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sensors dll Strumenti software 10 / 14
  • 31. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione contesto Problema Il problema del traffico affligge tutte le grandi città. La congestione delle reti urbane incide negativamente su vari aspetti della qualità della vita. Approccio (Angulo 2011) Ottimizzazione dei piani semaforici in base alle condizioni di traffico: 1. classificazione dei profili di traffico 2. selezione del piano semaforico ad esso associato. Classificazione di profili di traffico 11 / 14
  • 32. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Modelli di traffico 1. modello fittizio 2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia Classificazione di profili di traffico 12 / 14
  • 33. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Modelli di traffico 1. modello fittizio 2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia Classificazione di profili di traffico 12 / 14
  • 34. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Modelli di traffico 1. modello fittizio 2. riproduzione della rete stradale circostante Viale C. Battisti, Monza - Italia Classificazione di profili di traffico 12 / 14
  • 35. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Dataset 1 • 40 sensori • 86400 secondi totali di simulazione • 6 classi – mattina , giorno, pomeriggio, sera, notte, alba Generate 2 varianti: traiettorie da 100 o 300 secondi. Dataset 2 • 6 sensori reali • 32 sensori totali • 86400 secondi totali di simulazione • 6 classi – mattina , giorno, pomeriggio, sera, notte, alba Generate 4 varianti: traiettorie da 100 o 300 secondi, solo sensori reali o tutti i sensori. Classificazione di profili di traffico 12 / 14
  • 36. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Scopo • classificazione di profili di traffico tramite classificatori CTBN • comparazione di 4 istanze di classificatori: CTNBC, CTBNC23 , CTBNC3, CTBNC4. Metodologia Per ogni dataset, per ogni classificatore: 1. esecuzione k-fold cross-validazione con k = 10 2. computazione metriche di valutazione per ogni fold 3. aggregazione risultati tramite approccio macro-average e micro-average. 3 Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre istanze. Classificazione di profili di traffico 12 / 14
  • 37. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sperimentazione Scopo • classificazione di profili di traffico tramite classificatori CTBN • comparazione di 4 istanze di classificatori: CTNBC, CTBNC23 , CTBNC3, CTBNC4. Metodologia Per ogni dataset, per ogni classificatore: 1. esecuzione k-fold cross-validazione con k = 10 2. computazione metriche di valutazione per ogni fold 3. aggregazione risultati tramite approccio macro-average e micro-average. 3 Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre istanze. Classificazione di profili di traffico 12 / 14
  • 38. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione risultati Dataset # 1.100 Dataset # 1.300 0% 25% 50% 75% 100% CTBNC4 CTBNC3 CTBNC2 CTNBC CTBNC4 CTBNC3 CTBNC2 CTNBC Classificatori Accuracy 0% 25% 50% 75% 100% Classificazione di profili di traffico 13 / 14
  • 39. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione risultati Dataset # 2.B.100 Dataset # 2.B.300 0% 25% 50% 75% 100% CTBNC4 CTBNC3 CTBNC2 CTNBC CTBNC4 CTBNC3 CTBNC2 CTNBC Classificatori Accuracy 0% 25% 50% 75% 100% Classificazione di profili di traffico 13 / 14
  • 40. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione risultati Dataset # 2.E.100 Dataset # 2.E.300 0% 25% 50% 75% 100% CTBNC4 CTBNC3 CTBNC2 CTNBC CTBNC4 CTBNC3 CTBNC2 CTNBC Classificatori Accuracy 0% 25% 50% 75% 100% Classificazione di profili di traffico 13 / 14
  • 41. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione risultati CTBNC2 CTBNC3 CTBNC4 CTNBC 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 False positive rate (FPR) Truepositiverate(TPR) Classificazione di profili di traffico 13 / 14
  • 42. Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione Grazie per l’attenzione. 14 / 14