Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Time Bayesian Network Classifiers

Continuous Time Bayesian Network Classifiers

CTBNCs are a probabilistic model designed for temporal classification of multivariate data streams.
M.Sc Thesis.

Leonardo Di Donato

October 06, 2013
Tweet

More Decks by Leonardo Di Donato

Other Decks in Science

Transcript

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

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

    S1 S2 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 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
  29. 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
  30. 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
  31. 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
  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 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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