Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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 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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione esempio C1 C2 S1 S2 Y congestione CTBNC Continuous Time Bayesian Network Classifiers 7 / 14

Slide 21

Slide 21 text

Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione esempio C1 C2 S1 S2 Y congestione CTNBC Continuous Time Bayesian Network Classifiers 7 / 14

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione rctbn Strumenti software 9 / 14

Slide 29

Slide 29 text

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. 3Simulatore di modelli di traffico incluso in TSIS. Strumenti software 10 / 14

Slide 30

Slide 30 text

Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione sensors dll Strumenti software 10 / 14

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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 altre istanze. Classificazione di profili di traffico 12 / 14

Slide 37

Slide 37 text

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 altre istanze. Classificazione di profili di traffico 12 / 14

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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 positive rate (TPR) Classificazione di profili di traffico 13 / 14

Slide 42

Slide 42 text

Introduzione Framework Classificatori Apprendimento strutturale Software Sperimentazione Grazie per l’attenzione. 14 / 14