continuous time bayesian network classifiers, m.sc thesis
DESCRIPTION
CTBNCs are a probabilistic model designed for temporal classification of multivariate data streams.TRANSCRIPT
Università degli Studi di Milano-BicoccaDipartimento di Informatica, Sistemistica e Comunicazione
Corso di Laurea Magistrale in Informatica
Continuous TimeBayesian Network Classifiers
Relatore: Prof. Fabio StellaCorrelatore: Dott. Daniele Codecasa
Leonardo Di DonatoMatr. n. 744739
24 settembre 2013Anno 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 suisensori delle reti stradali
◦ creazione modelli di traffico◦ generazione di dataset per le CTBN
• applicazione dei CTBNC al problema della classificazione di profili ditraffico
1Estensione a tempo d’esecuzione.2Ambiente 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 diegual durata.
Come?Rappresentano le distribuzioni delle transizioni di stato effettuate dallevariabili 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 diegual durata.
Come?Rappresentano le distribuzioni delle transizioni di stato effettuate dallevariabili 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 diegual durata.
Come?Rappresentano le distribuzioni delle transizioni di stato effettuate dallevariabili 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 econ 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 }
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)
x1qpai(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)
Una CTBN N su X consiste di 2 componenti.(1) Una distribuzione di probabilità iniziale P0
X specificata come una BayesianNetwork 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 }
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)
x1qpai(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) Un modello di transizione a tempo continuo specificato da:(2.1) un grafo G orientato e non necessariamente aciclico composto dai nodiX1 , 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 }
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)
x1qpai(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)
x1qpai(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)
x1qpai(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)
x1qpai(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.
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)
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).
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 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 CTBNCC = (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
continuous time naive bayes classifier
Definizione (Stella 2012)
Un classificatore Continuous Time Naive Bayes (CTNBC) è un CTBNCC = (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
OsservazioneIl 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) = lnP(D |G) + lnP(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =∑Xi
famscoreB(Xi ,PaG(Xi) : D) (Nodelman 2002)
OsservazioneNo vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodoeseguibile 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) = lnP(D |G) + lnP(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =∑Xi
famscoreB(Xi ,PaG(Xi) : D) (Nodelman 2002)
OsservazioneNo vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodoeseguibile 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) = lnP(D |G) + lnP(G)
• ricerca euristica (e.g., hill climbing) del punteggio massimo.
scoreB(G : D) =∑Xi
famscoreB(Xi ,PaG(Xi) : D) (Nodelman 2002)
OsservazioneNo vincolo aciclicità: ottimizzazione dell’insieme di genitori di ogni nodoeseguibile 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 passaggiodei veicoli sui sensori delle reti stradali.
Motivazione
1. CORSIM3 non può restituire dati temporali non aggregati
2. massima granularità temporale di CORSIM: 1 secondo.
ObiettivoSuperamento delle limitazioni di CORSIM al fine di:
1. rilevare il passaggio dei veicoli sui sensori di una rete stradale TSISnell’istante in cui esso avviene
2. generare e memorizzare le onde quadre dei sensori.
3Simulatore 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
ProblemaIl problema del traffico affligge tutte le grandi città.La congestione delle reti urbane incide negativamente su vari aspetti dellaqualità 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 isensori.
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.
3Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altreistanze.
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.
3Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altreistanze.
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%
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
Classificatori
Acc
urac
y
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%
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
Classificatori
Acc
urac
y
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%
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
CT
BN
C4
CT
BN
C3
CT
BN
C2
CT
NB
C
Classificatori
Acc
urac
y
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)
True
pos
itive
rat
e (T
PR
)
Classificazione di profili di traffico 13 / 14
Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione
Grazie per l’attenzione.
14 / 14