$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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.
    3Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre
    istanze.
    Classificazione di profili di traffico 12 / 14

    View Slide

  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.
    3Classificatore CTBN appreso fissando il numero massimo di genitori a 2. Similmente per le altre
    istanze.
    Classificazione di profili di traffico 12 / 14

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide