Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
1. Università degli Studi di Milano-Bicocca
Dipartimento di Informatica, Sistemistica e
Comunicazione
Corso di Laurea Magistrale in Informatica
APPRENDIMENTO DI RETI BAYESIANE NON
OMOGENEE A TEMPO CONTINUO
Relatore: Prof. Fabio STELLA
Co-relatore: Prof. Enrico FAGIUOLI
Tesi di Laurea Magistrale di
Guido COLANGIULI
Matricola 768987
Anno Accademico 2013-2014
18. Introduzione
Una Bayesian Network (BN) è un modello grafico probabilistico che permette
di rappresentare le dipendenze condizionali tra variabili aleatorie, e consente di
fare previsioni su di esse, calcolando la probabilità che una variabile si trovi in
un determinato stato conoscendo lo stato di altre variabili; tuttavia nella loro
formulazione base le BN permettono di modellare solamente i sistemi statici,
ovvero solamente quelli che non mutano con il passare del tempo.
Proseguiamo con una estensione delle BN, le Dynamic Bayesian Network
(DBN) (Dean Kanazawa, 1989), che permettono di rappresentare sistemi
dinamici a tempo discreto.
Le DBN modellano la distribuzione delle transizioni dal tempo t al tempo
t+t attraverso una BN, per una determinata granularità t; si può dire che
le DBN fotografano il comportamento di un sistema in diversi istanti temporali
equidistanti tra loro, tuttavia portando con sé una limitazione non indifferente,
poiché la granularità scelta è unica per l’intero sistema. Tale situazione implica
che le variabili contenute nel sistema sono costrette ad evolvere con tassi o
velocità simili, anche se questo non necessariamente avviene nella realtà.
Un superamento delle DBN sono le Continuous Time Bayesian Network
(CTBN) (Nodelman et al. , 2002a) in cui l’evoluzione dello stato del sistema
modellato è rappresentata in modo esplicito rispetto al tempo. Questo modello
si basa sulle BN e sui processi di Markov, prestandosi molto bene a modellare
un sistema in cui le dipendenze condizionali tra le variabili in esso contenute
sono fisse.
Evoluzione di quanto detto sono le Non-Homogeneous Continuous Time
Bayesian Network (NHCTBN) che sono delle CTBN in cui le dipendenze condi-zionali
tra le variabili nel sistema che si sta modellando non sono fissate ma
variano nel tempo: questo si traduce nella la rappresentazione di più strutture
per modellare le dipendenze, una per ogni epoca che si vuole modellare.
XVII
19. Elenchi
Lo scopo di questa tesi è la progettazione, realizzazione e validazione di
un framework che permette l’apprendimento delle NHCTBN, rendendo possibile
l’utilizzo di questo nuovo modello in ambito applicativo.
La tesi è strutturata nel seguente modo:
primo capitolo descrizione dei modelli omogenei, quindi BN, DBN, pro-cessi
di Markov e CTBN, necessari ad introdurre formalmente le NHCTBN.
secondo capitolo panoramica e problematiche dei modelli non omogenei
attualmente presenti in letteratura;
terzo capitolo definizione formale dell’apprendimento strutturale delle
NHCTBN e relativa rappresentazione;
quarto capitolo si introduce il framework MapReduce, con relativa ar-chitettura
e funzionamento. Successivamente si illustra l’implementazio-ne
Apache Hadoop. Infine, si presenta l’algoritmo di apprendimento di
una NHCTBN per questo framework;
quinto capitolo esperimenti sia su dataset creati in laboratorio che reali;
sesto capitolo conclusioni e sviluppi futuri.
Contributi
I contributi innovativi di questo lavoro di tesi sono i seguenti:
Progettazione di algoritmi che permettono l’apprendimento di NHCTBN;
Implementazione mediante framework Hadoop MapReduce dei nuovi al-goritmi,
utile in caso di grandi quantità di dati.
Implementazione dei nuovi algoritmi per il funzionamento su singola mac-china
(server), per l’esecuzione efficiente su medie e piccole quantità di
dati;
Validazione del modulo software tramite una ricca campagna sperimen-tale,
con l’utilizzo di dataset simulati e reali presenti nella letteratura
specializzata.
Laurea Magistrale in Informatica XVIII
20. Capitolo 1
BN e modelli omogenei
In questo primo capitolo si discute dei modelli omogenei, ovvero quelli la cui
struttura non varia nel tempo. Si inizia definendo le Bayesian Network (BN) e si
forniscono le nozioni fondamentali che le caratterizzano. Le BN permettono di
modellare solo sistemi statici, tuttavia introducono concetti molto importanti,
come quelli di genitore e di indipendenza condizionale, che sono alla base dei
modelli trattati in questa tesi. Successivamente viene presentata un’evoluzione
delle BN, le Dynamic Bayesian Network (DBN), che introducono una prima
trattazione del tempo seppure in maniera discreta. Infine, si presentano le
Continuous Time Bayesian Network (CTBN), che permettono la trattazione
del tempo in maniera continua.
1.1 BN
Una Bayesian Network (BN) è un modello grafico che rappresenta un insieme di
variabili stocastiche e le loro relazioni mediante l’uso di un grafo aciclico orien-tato
(DAG), in cui ogni nodo rappresenta una variabile e gli archi rappresentano
le relazioni di dipendenza.
Per poter procedere con la definizione delle BN è necessario introdurre il
concetto di indipendenza condizionale e ancor prima fornire la definizione di
Indipendenza tra variabili casuali.
Definizione 1.1. Due variabili casuali A e B sono indipendenti se 8x; y si ha
che:
P(x 2 Ajy 2 B) = P(x 2 A) (1.1)
1
21. 1.1. BN
L’indipendenza condizionale è una proprietà più debole di quella di indi-pendenza,
ma più comune e realistica se si parla dei sistemi complessi.
Definizione 1.2 (Indipendenza Condizionale). (Whitt, 2006) Due variabili
casuali A e B sono Condizionalmente Indipendenti rispetto a una variabile
casuale C se
P(AjC;B) = P(AjC) (1.2)
Questo significa che quando è noto il valore della variabile C, le variabili A
e B sono indipendenti.
A questo punto è possibile fornire la definizione di BN:
Definizione 1.3 (Bayesian Network). (Pearl, 1988) Una BN rispetto a un
insieme di variabili casuali fX1; ::;Xng è costituita da:
G: un DAG, dove ogni nodo è associato ad una variabile casuale Xi 2 X
Una CPT per ogni Xi, che rappresenta la distribuzione condizionata
P(Xi jPaG(Xi)) come funzione dei suoi genitori in G. 1
Osservazione. Se nel grafo G non è presente un arco che collega due nodi,
allora i suddetti nodi sono condizionalmente indipendenti.
Rappresentiamo la probabilità che una variabile X 2 X assuma valore
x, dati i valori u dei genitori U 2 X, con il simbolo xju, che equivale alla
probabilità condizionata P(x j u).
Le BN si possono considerare la rappresentazione grafica di una distribuzio-ne
di probabilità congiunta, è infatti possibile rappresentare tale distribuzione
mediante la chain rule:
P(X1; : : : ;XN) =
NY
i=1
P(Xi j PaG(Xi)) (1.3)
Osservazione. Mediante la chain rule le BN sono in grado di rappresentare la
distribuzione di probabilità congiunta in modo molto efficace. Non c’è infatti
bisogno di rappresentare le probabilità di tutte le combinazioni di stati delle
variabili ma solo la probabilità di ogni variabile condizionata ai suoi genitori.
In Figura 1.1 è riportato un esempio di BN. Si evidenzia come i nodi
radice abbiano associata una tabella di probabilità marginale che rappresenta
la probabilità a priori della variabile ad essi associata.
1PaG(Xi) rappresenta l’insieme dei genitori del nodo Xi in G
Laurea Magistrale in Informatica 2
22. 1.1. BN
Figura 1.1: BN di esempio con relative CPT
1.1.1 Apprendimento
L’apprendimento di una BN si attua tramite due fasi:
1. Ricerca del grafo - Apprendimento della struttura;
2. Stima delle probabilità condizionate - Apprendimento dei parametri.
Esistono tre metodi principali per l’apprendimento delle BN:
1. Modellare la conoscenza degli esperti, cioè definire la struttura e i para-metri
sulla base delle valutazioni (soggettive) da parte di studiosi, esperti
del problema oggetto di studio;
2. Imparare dai dati (sia la struttura che i parametri);
3. Combinare i due metodi precedenti, usando la conoscenza dell’esperto
come conoscenza a priori, in modo tale da imporre la presenza o l’as-senza
di alcuni archi nella struttura o definire distribuzioni a priori sui
parametri e/o sulla struttura.
In questa tesi si assume di essere nel caso 3, quindi si focalizza l’apprendimento
della BN a partire dai dati (completi), lasciando comunque la possibilità di
inserire della conoscenza a priori sulla struttura (conoscenza dell’esperto).
Laurea Magistrale in Informatica 3
23. 1.1. BN
Inoltre, per quanto riguarda l’apprendimento della struttura si utilizza
l’Approccio Search Score, dove si usano funzioni di score per confrontare
la bontà delle possibili strutture della rete e selezionare quella che meglio si
adatta ai dati. Questo approccio, nel nostro caso, viene descritto in dettaglio
nell’apprendimento strutturale delle NHCTBN nel capitolo successivo.
Mentre, per quanto riguarda l’apprendimento dei parametri, si adotta il
caso in cui si conosce già la struttura, quindi l’apprendimento dai dati avviene
attraverso una stima a partire da una serie di osservazioni. Per fare questo si
ricorre al concetto di Statisticha Sufficiente.
Definizione 1.4 (Statistica Sufficiente). (Fisher, 1922) Una statistica T si
dice sufficiente se qualsiasi altra statistica che può essere calcolata dallo stesso
campione non fornisce maggiori informazioni circa il valore del parametro da
stimare.
Una statistica sufficiente che può essere usata per le BN è il numero di
osservazioni nelle quali la variabile X 2 X assume valore x, e i suoi genitori U
assumono valori u, e si indica con M[xju].
Quindi, data la struttura G, il likelihood dei dati D si può scrivere come
prodotto di likelihood locali, uno per ogni variabile X
LX( : D) =
Y
u2U
Y
x2X
M[xju]
xju
dove è l’insieme dei parametri delle distribuzione di probabilità condizionale
(CPD). Per questioni numeriche viene di norma computato il log-likelihood
`X( : D) =
X
u2U
X
x2X
M[xju] ln(xju) (1.4)
La stima del parametro che massimizza il log-likelihood nell’equazione Equa-zione
1.4 è:
^xju =
M[xju]
M[u]
dove M[u] =
P
xM[xju].
1.1.2 Inferenza
Con inferenza si intende il processo mediante il quale si calcola la probabilità
a posteriori di una variabile Xi, avendo a disposizione l’osservazione di alcu-
Laurea Magistrale in Informatica 4
24. 1.2. DBN
ne altre variabili. Quest’osservazione si dice evidenza, e la sua propagazione
consiste nell’aggiornare le distribuzioni di probabilità delle variabili aleatorie
in accordo con la nuova informazione disponibile.
La propagazione può avvenire in 2 modi:
dall’alto verso il basso, ovvero quando si ha l’evidenza sui genitori, e si
calcolano le probabilità dei figli;
dal basso verso l’alto, l’evidenza si ha sui figli, e si calcolano le probabilità
dei genitori.
Esistono inoltre due tipi di evidenza:
evidenza hard: si conosce lo stato di una o più variabili;
evidenza soft: non si conosce il valore dello stato delle variabili, ma si
possono fare affermazioni sul loro stato.
Gli algoritmi per fare inferenza sulle BN sono divisi in due famiglie:
Inferenza Esatta: si applica la chain rule, descritta nell’ Equazione 1.3,
su tutte le variabili della rete;
Inferenza Approssimata: se il numero di stati delle variabili è elevato,
l’inferenza esatta diventa onerosa, si usano quindi metodi per approssi-mare
le distribuzioni di probabilità a posteriori.
1.2 DBN
Una DBN (Murphy, 2002) è un’estensione di una BN per modellare le distri-buzioni
di probabilità su una collezione numerabile infinita di variabili casuali
fD0;D1;D2; : : : g indicizzate dal tempo. Si noti che sono dette dinamiche per-ché
modellano un sistema dinamico, non perché la rete cambi struttura nel
tempo.
Prima di procedere con la definizione di DBN è necessario fornire la defini-zione
di time-slice.
Definizione 1.5 (Time-slice). Un time slice, in una DBN, è un intervallo di
tempo in cui è valida una determinata struttura.
Laurea Magistrale in Informatica 5
25. 1.2. DBN
Definizione 1.6 (Dynamic Bayesian Network). (Nodelman, 2007) Una DBN
è una coppia hB0; B2T i dove:
B0 è una BN su D0.
B2T è una 2-time-slice BN, che definisce un modello di transizione dal-l’istante
i all’istante i + 1 come una BN sull’insieme di variabili casuali
Di+1 condizionate dal valore delle variabili casuali Di.
Sono permesse due tipologie di archi:
Archi intra-time-slice, permessi tra variabili casuali appartenenti alla
stessa time-slice. Ad esempio tra D e D0, con D;D0 2 Di+1.
Archi inter-time-slice, permessi tra una variabile casuale in una time-slice
e un’altra nella time-slice successiva. Ad esempio tra D 2 Di e
D 2 Di+1, oppure tra D 2 Di e D0 2 Di+1.
Osservazione. La 2-time-slice BN specifica le CPD per le variabili in Di+1 ma
non in D.
Osservazione. Si può dire che le DBN fotografano il comportamento di un
sistema in diversi istanti temporali, equidistanti tra loro. Portano quindi
con sé una limitazione non indifferente, la granularità di evoluzione temporale
scelta è unica per l’intero sistema.
Esempio. In Figura A.26 possiamo vedere una DBN che rappresenta il ri-schio
di collisione in cui una nave può incorrere durante la sua navigazione.
In questo modello tutte le variabili sono di interfaccia a meno della variabile
collisione. Le variabili di interfaccia sono tutte quelle i cui valori al tempo
t influenzano in maniera diretta le variabili al tempo t + 1. Quindi solo le
variabili di interfaccia possono essere genitori delle variabili al tempo t + 1.
Dalla componente dinamica del modello (la 2-time-slice BN B !) si evince
che:
Il rischio di collisione dipende dai valori attuali di posizione e velocità;
La velocità dipende dal suo valore nel time slice precedente;
La posizione dipende sia dalla posizione che dalla velocità al time slice
precedente;
Laurea Magistrale in Informatica 6
26. 1.3. Processo di Markov
In Figura A.26 si mostra sia il modello di transizione (la 2-time-slice BN
B !) che la struttura all’istante iniziale (B0). Si mostra inoltre la versione
“unrolled“ delle DBN che altro non è che una BN.
Figura 1.2: Esempio di DBN
1.3 Processo di Markov
Un processo di Markov è un processo stocastico, che soddisfa la proprietà di
Markov e può essere omogeneo o non omogeneo.
Definizione 1.7 (Proprietà di Markov). (Norris, 1998) Un processo stocastico
X soddisfa la proprietà di Markov se il suo stato futuro non dipende dagli
stati passati, ma solo dello stato attuale, o in termini più formali: P(X(t +
t) j X(t);X(s)) = P(X(t + t) j X(t)) per qualsiasi s; t : s t.
Definizione 1.8 (processo di Markov omogeneo). (Neapolitan, 2004) Un pro-cesso
di Markov si dice omogeneo se la probabilità dello stato futuro non di-pende
dal tempo t, ma esclusivamente dallo stato attuale, ovvero se P(X(t +
t) j X(t)) = P(X(0 + t) j X(0)).
Laurea Magistrale in Informatica 7
27. 1.3. Processo di Markov
Un processo di Markov omogeneo X con dominio V al(X) = fx1; x2; : : : ; xng
è definibile tramite una distribuzione di probabilità iniziale PX
0 e una matrice
di intensità QX
QX =
2
666664
qx1 qx1x2 qx1xn
qx2x1 qx2 qx2xn
...
...
. . .
...
qxnx1 qxnx2 qxn
3
777775
dove l’intensità qxi =
P
xj6=xi
qxixj è proporzionale alla probabilità istantanea di
lasciare lo stato i, e l’intensità qxixj è proporzionale alla probabilità istantanea
di transizione dallo stato xi allo stato xj . Formalmente:
lim
t!0
P(X(t + t) = xj j X(t) = xi) = lim
t!0
qijt + O(t2), con i6= j
lim
t!0
P(X(t + t) = xi j X(t) = xi) = lim
t!0
1 qit + O(t2)
(1.5)
La quantità di tempo che un processo di Markov omogeneo X rimane nello
stato x, prima di transitare ad un altro stato, è una variabile aleatoria con
distribuzione di probabilità esponenziale di parametro qx, e quindi la funzione
di densità e la funzione di ripartizione risultano:
f(qx; t) = qxexp(qxt)
F(qx; t) = 1 exp(qxt)
(1.6)
Il valore atteso per il tempo in cui il processo X rimane nello stesso stato x è
quindi 1=qx. Quando avviene il passaggio di stato X transita dallo stato x allo
stato x0 con probabilità qxx0=qx; La distribuzione che rappresenta i suddetti
cambi di stato è quindi imputabile a due componenti:
Una distribuzione esponenziale che modella il tempo in cui avviene la
transizione;
Una distribuzione multinomiale che modella lo stato in cui si troverà il
sistema dopo la transizione;
Esempio. Assumiamo di voler modellare l’andamento della pressione baro-metrica
B(t) discretizzata in tre stati (b1 = decresce, b2 = stazionaria, e b3 =
Laurea Magistrale in Informatica 8
28. 1.4. Processi di Markov condizionali
cresce); possiamo quindi scrivere la seguente matrice di intensità:
QB =
2
:21 :2 :01
:05 :1 :05
:01 :2 :21
664
3
775
Se usiamo come misura del tempo le ore, significa che se attualmente la pres-sione
decresce, smetterà di decrescere in poco meno di 5 ore ( 1
:21 ore); diventerà
stazionaria con probabilità di :2
:21 e crescerà con probabilità pari a :01
:21 .
Usando i parametri delle distribuzioni sopra elencate, oltre che con una
matrice di intensità, un processo di Markov si può rappresentare anche utiliz-zando:
qX = fqi : 1 i Ng
X = fij : 1 i; j N; i6= jg
dove qX è l’insieme dei parametri delle distribuzioni esponenziali e X è
l’insieme dei parametri delle distribuzioni multinomiali. Questo metodo di
rappresentazione è chiamato parametrizzazione mista.
Teorema 1.1. (Nodelman, 2007) Siano X e Y due processi di Markov con
uguale distribuzione iniziale e uguale spazio degli stati. Se X è definito dalla
matrice di intensità QX e Y è definito tramite parametrizzazione mista qY ; Y
allora X e Y sono stocasticamente equivalenti se e solo se:
qi 2 qY = qi 2 QX
ij =
qij
qi
Osservazione. Entrambi i modi di rappresentazione usano N2 parametri, ma
solo N2 N parametri sono liberi.
1.4 Processi di Markov condizionali
Per poter modellare una rete, mediante l’utilizzo di processi di Markov, è ne-cessario
introdurre i processi di Markov condizionali. I processi di Markov
condizionali sono processi di Markov non omogenei, che evolvono nel tempo,
ma non come funzione diretta del tempo, bensì come funzione dello stato at-
Laurea Magistrale in Informatica 9
29. 1.4. Processi di Markov condizionali
tuale di una serie di altre variabili, le quali evolvono a loro volta come dei
processi di Markov.
Con l’utilizzo dei processi di Markov condizionali è quindi possibile mo-dellare
il comportamento dei processi di Markov basandosi non sullo stato
dell’intero sistema ma su un insieme limitato di altre variabili. Questo è un
concetto fondamentale per poter modellare le CTBN.
Ora è necessario fornire una definizione di matrice di intensità condizionale
(CIM):
Definizione 1.9 (matrice di intensità condizionale). (Neapolitan, 2004) Dato
un processo di Markov condizionale X che evolve rispetto a un insieme di
processi di Markov Y - che vengono chiamati genitori di X e rappresentati
come Pa(X) - si definisce una CIM:
QXjPa(X) =
2
q1(Pa(X)) q12(Pa(X)) q1n(Pa(X))
q21(Pa(X)) q2(Pa(X)) q2n(Pa(X))
666664
...
...
. . .
...
3
777775
qn1(Pa(X)) qn2(Pa(X)) qn(Pa(X))
Si può scrivere la CIM come una serie di matrici di intensità, una per ogni
possibile combinazione degli stati di Pa(X).
Esempio. Consideriamo una variabile E(t) che modella quando una persona
sta o non sta mangiando (e1 = non mangia, e2 = mangia), che è condizionata
dalla variabile H(t) che modella quando una persona ha o non ha fame (h1 =
non ha fame, h2 = ha fame).
Possiamo quindi scrivere le seguenti CIM per E(t):
QEjh1 =
:01 :01
#
QEjh2 =
10 10
2 2
:01 :01
#
Mediamente ci si aspetta che una persona che ha fame e non sta mangiando,
inizi a mangiare in mezz’ora, oppure che una persona che non ha fame e sta
mangiando smetta di mangiare mediamente in 6 minuti ( 1
10 ore)
Laurea Magistrale in Informatica 10
30. 1.5. CTBN
1.5 CTBN
Le CTBN sono un’ulteriore estensione delle BN e permettono di rappresenta-re
processi a stati finiti, in tempo continuo e con spazio degli stati discreto.
L’introduzione di questo modello si è resa necessaria al fine di superare le li-mitazioni
osservate nelle DBN, ovvero per poter trattare il tempo in maniera
continua.
Sfruttando la definizione di processi di Markov condizionali è possibile dare
una definizione formale di CTBN. Le CTBN possono essere infatti viste come la
composizione di un insieme di processi di Markov condizionali.
Definizione 1.10 (Continuous Time Bayesian Network). (Nodelman et al. ,
2002b) Sia X un insieme di variabili X1;X2; : : : ;XN, ogni Xi ha un dominio
finito, rappresentato come V al(Xi). Una Continuous Time Bayesian Network
N su X consiste di 2 componenti:
una distribuzione iniziale P0X
, specificata come una BN B su X.
un modello di transizione a tempo continuo rappresentato da:
– un grafo orientato (anche ciclico) G, i cui nodi sono X1;X2; : : : ;XN;
L’insieme dei genitori di ogni nodo Xi viene denotato con Pa(Xi).
– una matrice di intensità condizionale QXjPa(X) per ogni variabile
Xi 2 X.
Osservazione. Dato che nelle CTBN gli archi rappresentano le dipendenze nel
tempo, non c’è motivo per cui il grafo G debba essere aciclico, e ciò porta ad
una notevole semplificazione di calcolo.
Esempio. (Nodelman, 2007) La Figura 1.3 mostra la struttura di una CTBN
che modella l’effetto di un farmaco. Ci sono nodi che rappresentano l’assun-zione
del farmaco e la concentrazione dello stesso nel flusso sanguigno. La
concentrazione dipende da quanto lo stomaco è pieno. Il farmaco dovrebbe
alleviare i dolori articolari, che potrebbero essere aggravati dalla diminuzione
della pressione. Il farmaco potrebbe anche causare sonnolenza. Il modello con-tiene
un ciclo, che modella il fatto che una persona sia affamata dipende da
quanto lo stomaco è pieno, che a sua volta dipende da quanto tempo è passato
da quando la persona ha mangiato.
Laurea Magistrale in Informatica 11
31. 1.5. CTBN
Figura 1.3: CTBN che rappresenta l’effetto di un farmaco
Laurea Magistrale in Informatica 12
32. Capitolo 2
Modelli non omogenei
In questo capitolo si introduce il problema della modellazione di sistemi non
omogenei, ovvero in cui le dipendenze condizionali tra le variabili non sono
fissate ma variano nel tempo. A tal proposito si discuteranno le principali so-luzioni
presenti in letteratura al fine di motivare l’introduzione del nuovo mo-dello
delle Non-Homogeneous Continuous Time Bayesian Network (NHCTBN)
proposto in questo lavoro di tesi.
2.1 Panoramica
Le DBN e le CTBN, discusse nei capitoli precedenti, funzionano partendo dall’as-sunzione
che i dati temporali, su cui si effettua l’apprendimento, provengano
da una distribuzione che non varia nel tempo, ovvero è stazionaria. Questa
assunzione in molti ambiti è molto restrittiva. Per questo motivo si sente la ne-cessità
di introdurre modelli non omogenei in grado di superare i limiti dettati
dall’assunzione di stazionarietà della distribuzione.
Un primo modello non omogeneo, presente in letteratura, è TESLA (Ah-med
Xing, 2009). TESLA si basa sull’apprendimento di Discrete Binary
Markov Random Field (Discrete Binary MRF), è in grado di scalare su un numero
elevato di variabili, tuttavia soffre le seguenti restrizioni:
E’ in grado di apprendere solo variabili binarie;
Gli archi che rappresenta, ovvero le relazioni, non sono orientati;
E’ in grado di individuare le relazioni solo a coppie di variabili;
13
33. 2.1. Panoramica
Un ulteriore modello non omogeneo, presente in letteratura, è ARTIVA
(S. Lèbre, 2010). ARTIVA si basa sulle Time-Varying Dynamic Bayesian Ne-towrk
(Time-Varying DBN), che sono delle DBN in cui gli archi, passando da
una time-slice alla successiva, possono variare. Questo si traduce nell’avere
una sequenza di DBN, che modellano l’evoluzione, nel tempo, delle dipendenze
condizionate tra variabili. Tuttavia rimane la principale limitazione delle DBN
legata alla trattazione del tempo in maniera discreta.
Come vedremo meglio nella sezione sezione 2.2, una DBN ha valenza in un
certo intervallo temporale chiamato epoca. La sequenza di epoche può inoltre
essere rappresentata come una sequenza di istanti di transizione che definiscono
il passaggio da un epoca alla successiva.
Di seguito si mostra l’algoritmo di ARTIVA che si basa sull’algoritmo RJ-MCMC:
Algoritmo 1 ARTIVA
Require: bk probabilità di aggiungere un nuovo cambio di struttura; dk pro-babilità
di rimuovere un cambio di struttura; sk probabilità di shift; L
numero di iterazioni
1: function LearnArtiva(K;D;M)
2: for l 1 to L do
3: u estrai da U[0;1]
4: Estrai istante di transizione k
5: Calcola bk, dk e vk
6: if u bk then
7: Crea nuovo istante di transizione al tempo k
8: else
9: if u bk + dk then
10: Elimina istante di transizione presente al tempo k
11: else
12: if u bk + dk + sk then
13: Sposta l’istante di transizione presente al tempo k
14: else
15: Considera un cambio di struttura
16: end if
17: end if
18: end if
19: end for
20: end function
In questo algoritmo k è l’istante di transizione che viene estratto ad ogni
iterazione. I parametri bk, dk e sk rappresentano, rispettivamente, la probabi-
Laurea Magistrale in Informatica 14
34. 2.2. NSDBN
lità di aggiunta, rimozione e shift di un istante di transizione. Vi è inoltre la
probabilità vk di effettuare un cambio di struttura, questa probabilità è rappre-sentata
dall’ultimo else dell’algoritmo. Queste probabilità vengono ricalcolate
ad ogni iterazione in base all’istante di transizione estratto. In base alle pro-babilità
calcolate sull’istante k si sceglie, quindi, se modificare gli istanti di
transizione o se modificare la struttura (DBN) della singola epoca.
Un ulteriore modello non omogeneo, che è anch’esso un’ evoluzione delle
DBN, è il Non Omogeneous Dynamic Bayesian Netowrk (NHDBN) (Robinson
Hartemink, 2010).
Le NHDBN soffrono anch’esse le limitazioni delle DBN, legate alla trattazione
del tempo in maniera discreta, tuttavia molti concetti sono stati ereditati per
la formulazione della versione non omogenea delle CTBN. Per questo motivo
approfondiremo le NHDBN nel seguito di questo capitolo.
2.2 NSDBN
Prima di procedere con la discussione dei punti chiave riguardanti le NHDBN,
si presentano alcuni concetti fondamentali che ritorneranno utili in tutto lo
svolgimento della tesi.
Si assume di poter osservare lo stato di N variabili casuali discrete Xi.
Questi dati temporali multivariati, D, si assumono essere generati da un pro-cesso
non omogeneo sconosciuto. Si dice non omogeneo in quanto il grafo che lo
rappresenta, G, è una sequenza di reti G1; G2; : : : ; GM (Robinson Hartemink,
2010). Si definisce il tempo di transizione del grafo tm l’istante temporale in
cui Gm viene sostituito da Gm+1 nel processo di generazione dei dati. Si defini-sce
epoca il periodo tra due tempi di transizione consecutivi, durante il quale
è operativa una singola CTBN.
Si ha quindi che un nodo può avere un insieme di genitori in una determi-nata
epoca; tuttavia questo insieme può cambiare da un’epoca ad un’altra.
Possiamo quindi definire le NHDBN come una sequenza di DBN, una per ogni
epoca. Mediante questa suddivisione in epoche è infatti possibile rappresentare
l’evoluzione nel tempo delle dipendenze condizionate tra variabili.
Laurea Magistrale in Informatica 15
35. 2.2. NSDBN
2.2.1 Apprendimento NSDBN
In questa sezione si vuole dare un idea generale di come funziona l’apprendi-mento
di una NHDBN per poi affrontare nel dettaglio le principali problema-tiche.
Per avere informazioni più dettagliate in merito si faccia riferimento al
relativo articolo (Robinson Hartemink, 2010).
L’obbiettivo dell’apprendimento è quello di ricostruire l’intera sequenza di
strutture di una NHDBN. Per raggiungerlo gli autori propongono un approccio
probabilistico basato su Markov Chain Monte Carlo (MCMC) (Murphy, 2012).
Il primo passo, per poter comprendere l’utilizzo del MCMC nel nostro caso
specifico, è dare una definizione di stato.
Definizione 2.1 (Stato nell’algoritmo Metropolis-Hastings (MH)). Si definisce
stato, nell’algoritmo MCMC, l’intera sequenza di DBN che compone una NHDBN,
con relativi istanti di transizione da un epoca all’altra.
Adesso si può descrivere l’idea alla base di questo algoritmo mediante i
seguenti passaggi:
1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono
equidistanti;
2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x
mediante una proposal distribution;
3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-ceptance
probability);
4. se si accetta x’, si salva, e successivamente si setta x = x’ e si riparte
dal punto 2;
5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2.
L’algoritmo termina quando si è raggiunto un numero prefissato di itera-zioni.
L’obbiettivo è, dopo un congruo numero di iterazioni, di converge alla
distribuzione target, ovvero alla NHDBN obbiettivo dell’apprendimento.
La generazione di un nuovo stato viene effettuata utilizzando un insie-me
di operazioni, tale insieme dipende da quali sono le informazioni in nostro
possesso. Le tre casistiche, quando si parla di apprendimento di modelli non
omogeneo, sono:
Laurea Magistrale in Informatica 16
36. 2.2. NSDBN
Caso A: informazione completa, si conosce sia il numero di transizioni che gli
istanti temporali in cui avvengono le transizioni.
Caso B: informazione parziale, si conosce il numero di transizioni ma non si
conoscono gli istanti temporali.
Caso C: nessuna informazione, non si conosce né il numero di transizioni né
gli istanti temporali.
Nel caso A, essendo a conoscenza esattamente di quali sono le epoche
avremo bisogno solo di operazioni per modificare le singole strutture. Tali
operazioni sono quindi inerenti all’aggiunta e rimozione di un arco tra due
nodi.
Nel caso B, essendo a conoscenza del numero di epoche ma non di quali esse
siano, oltre alle precedenti operazioni, avremo anche bisogno di una ulteriore
operazione di shift che permette di far variare la grandezza dell’epoca.
Nel caso C, di totale assenza di informazioni, oltre alle precedenti ope-razioni,
avremo bisogno di ulteriori operazioni per poter variare il numero di
epoche. Tali operazioni sono di merge, split e delete, di un epoca già esistente,
e l’operazione di creazione di una nuova epoca. L’operazione di merge consiste
nell’unire assieme un epoca con l’epoca successiva; L’operazione di split inve-ce
consiste nel dividere a metà un epoca, andando quindi a creare due diverse
epoche; L’operazione di delete elimina un istante di transizione, andando quin-di
ad effettuare il merge tra un epoca e l’epoca precedente; Creare una nuova
epoca invece consiste nell’aggiungere un istante di transizione.
L’accettazione di un nuovo stato dipende innanzi tutto dalla probabilità
di proporre il nuovo stato, ovvero dalle operazioni descritte precedentemente.
Dipende inoltre anche dal likelihood ratio, che può essere rappresentato tramite
la seguente formula:
P(Djx0)
P(Djx)
Il likelihood ratio è quindi il rapporto tra la probabilità a posteriori del
dataset D dato il nuovo modello x0 e la probabilità a posteriori sempre del
dataset D dato il modello precedente x. Questa probabilità viene rappresentata
mediante una funzione di score che analizzeremo in seguito.
Laurea Magistrale in Informatica 17
37. 2.2. NSDBN
Una volta generata una sequenza di stati (i nostri campioni), ovvero di
NHDBN, che converge alla nostra distribuzione target, gli autori Robinson e
Hartermink propongono di calcolare il modello medio. Il modello medio si
ottiene prendendo tutti quegli archi che occorrono in almeno il 50% dei cam-pioni.
Anche per quanto concerne i tempi di transizione si mantengono quelli
che occorrono nel maggior numero di campioni.
A questo punto abbiamo visto in via generale come funziona l’apprendi-mento
delle Non Omogeneous Dynamic Bayesian Netowrk (NHDBN). Un punto
molto importante che si vuole approfondire è come viene costruita la funzione
di score e tutte le problematiche ad essa collegate. Tali problematiche infatti si
ripresenteranno, in maniera leggermente diversa, anche per le NHCTBN, e per
questo le si dedica particolare attenzione.
2.2.1.1 Score
Nel costruire uno score che vada bene per le NHDBN quello di cui bisogna tenere
conto è la presenza di più epoche.
Si inizia considerando la singola epoca, per questo Robinson e Hartemink
propongono uno score di tipo BDeu (Murphy, 2012) con una variazione: gli
iperparametri e vengono pesati anche in base alla grandezza dell’epoca.
Questo è equivalente a contare il numero di osservazioni presenti nella singola
epoca, avendo le NHDBN una granularità delle osservazioni fissa, come nelle
DBN.
Valutato lo score delle epoche singolarmente, bisogna aggregare i singoli
score per ottenere lo score globale della NHDBN. Un primo passo è moltiplicare
gli score delle singole epoche, andando ad ottenere il seguente score:
P(DjG1; :::;Gm; T) /
Yn
i=1
Ypi
h=1
Yqih
j=1
(ij(Ih))
(ij(Ih) + Nij(Ih)
Yri
k=1
(ijk(Ih) + Nijk(Ih)
(ijk(Ih))
dove:
n è il numero di nodi della rete;
pi è il numero di epoche del modello;
Laurea Magistrale in Informatica 18
38. 2.2. NSDBN
qih è il numero di configurazioni di genitori del nodo i-esimo nell’epoca
h-esima;
ri è il numero di configurazioni del nodo i-esimo, data la configurazione
j-esima di genitori;
Ih è l’ampiezza dell’epoca h-esima;
Rimane ancora un problema da affrontare, ovvero questa tipologia di sco-re
(come anche lo score BDeu normale) tende a restituire valori più alti alle
epoche con un numero minore di osservazioni. Questo porta a prediligere la
ricostruzione di epoche più piccole.
Questo problema si nota particolarmente nel caso C di totale mancanza
di informazioni perché si tende a creare più epoche rispetto a quelle contenute
nel modello reale e di piccole dimensioni (micro epoche).
Pesare gli iperparametri per l’ampiezza dell’epoca non basta a risolvere
tale problema. Per ottenere la giusta sequenza di osservazioni Robinson e
Hartemink suggeriscono di sottrarre allo score dell’intera sequenza i seguenti
valori:
c numero_cambi: ovvero si moltiplica un parametro c per il numero
di archi che cambiano tra epoche contigue, questo per scoraggiare cambi
di struttura troppo bruschi tra epoche contigue;
e numero_epoche: ovvero si moltiplica un parametro e per il numero
di epoche create.
Entrambi questi valori guidano l’algoritmo alla scoperta delle giuste strut-ture
e del giusto numero di epoche, andando a scoraggiare la creazione di micro
epoche.
Vedremo nel capitolo successivo come questa stessa problematica viene
affrontata nel caso delle NHCTBN
Laurea Magistrale in Informatica 19
39. Capitolo 3
NHCTBN
Nel capitolo precedente si è presentato il problema di modellare sistemi in
cui le dipendenze condizionali tra le variabili non sono fissate ma variano nel
tempo. In questo capitolo proponiamo le Non-Homogeneous Continuous Time
Bayesian Network (NHCTBN) come soluzione a questo problema.
Si inizia, quindi, fornendone la definizione. Successivamente si presenta
l’argomento chiave di questa tesi, cioè l’apprendimento, per il quale si propone
l’approccio basato su Simulated Annealing (SA).
3.1 NHCTBN
Le NHCTBN sono un evoluzione delle CTBN, in cui le dipendenze condizionali
tra le variabili nel sistema che si sta modellando non sono fissate ma variano
nel tempo. Possono quindi essere viste come una sequenza di CTBN.
Si fornisce di seguito la definizione formale di NHCTBN.
Definizione 3.1 (Non-Homogeneous Continuous Time Bayesian Network).
Sia X un insieme di variabili casuali X1;X2; : : : ;XN. Ogni Xi ha un dominio
finito, rappresentato da V al(Xi) = fx1; x2; : : : ; xng. Una Non-Homogeneous
Continuous Time Bayesian Network N su X consiste di 2 componenti:
una distribuzione iniziale P0X
, specificata come una BN B su X.
un modello di transizione a tempo continuo rappresentato da:
– una sequenza di grafi orientati (anche ciclici) G = fG1; G2; : : : ; GMg,
i cui nodi sono X1;X2; : : : ;XN.
20
40. 3.1. NHCTBN
– un insieme di matrici di intensità condizionale QPae(Xi)
Xi per ogni
variabile Xi 2 X, dove Pae(Xi) denota i genitori di Xi nell’epoca
e, definita come un intervallo omogeneo e = [m1;m2], con m1;m2 2
f1; : : : ;Mg e m1 m2.
Data la variabile casuale Xi, la CIM QPae(Xi)
Xi consiste in un insieme di
matrici di intensità, una matrice di intensità (IM):
QPae(xi)
Xi
=
2
qPae(xi)
666664
x1 qPae(xi)
x1x2 qPae(xi)
x1xn
qPae(xi)
x2x1 qPae(xi)
x2 qPae(xi)
x2xn
...
...
. . .
...
qPae(xi)
xnx1 qPae(xi)
xnx2 qPae(xi)
xn
3
777775
;
per ogni istanziazione Pae(xi) dei genitori Pae(Xi) del nodo Xi, nell’epoca
e, dove n è la cardinalità di V al(Xi).
Si ha che:
con qPae(xi)
xj =
P
xj6=x0
j
qPae(xi)
xjx0
j
si intende la probabilità istantanea di
lasciare lo stato xj , per una specifica istanziazione Pae(xi) nell’epoca e;
con qPae(xi)
xjx0
j
si intende la probabilità istantanea di transizione dallo stato
xj allo stato x0
j per la variabile casuale Xi, per una specifica istanziazione
Pae(xi) nell’epoca e.
La IM può essere rappresentata usando due insiemi di parametri:
l’insieme delle intensità che parametrizzano le distribuzioni di quando
occorrono le transizioni:
qPae(xi)
Xi
= fqPae(xi)
xj : xj 2 V al(Xn)g
l’insieme delle probabilità che parametrizzano le distribuzioni di dove
occorrono le transizioni:
Pae(xi)
Xi
= fPae(xi)
xj;x0
j
= qPae(xi)
xj;x0
j
=qPae(xi)
xj : xj ; x0
j 2 V al(Xi); xj6= x0
jg:
I concetti che si presentano nelle seguenti sezioni faranno riferimento al
modello delle NHCTBN, sebbene molti di essi siano in comune con le CTBN.
Laurea Magistrale in Informatica 21
41. 3.2. Statistiche sufficienti e likelihood
3.2 Statistiche sufficienti e likelihood
Definita la struttura formale della rete, andiamo al passo successivo che è quello
di mostrare cosa significa apprendere dai dati.
In questa sezione si mostra come rappresentare i dati in maniera aggregata,
utilizzando le statistiche sufficienti. Successivamente, con l’utilizzo di queste
ultime, si presenta il concetto di likelihood dei dati rispetto ad un modello
di NHCTBN predefinito, e trattando le likelihood si farà riferimento prima alla
likelihood di un singolo nodo e poi la likelihood di un’intera struttura.
3.2.1 Statistiche sufficienti
Di seguito presentiamo la definizione di statistica sufficiente:
Definizione 3.2 (Statistica Sufficiente per nodi senza genitori). Sia X un
processo di Markov che non ha genitori in Ge (cioè Pae(X) = ;), e con spazio
degli stati V al(X), definiamo la sua statistica sufficiente come:
Te[x], il tempo speso da X nello stato x 2 V al(X), nell’epoca e;
Me[x; x0], il numero di transizioni da x a x0 , con x06= x, occorse
nell’epoca e.
Dall’ultima statistica si può definire Me[x] =
P
xi6=xj
Me[x; x0] come il numero
di transizioni in uscita dallo stato x, nell’epoca e.
Definizione 3.3 (Statistica Sufficiente per nodi con genitori). (Nodelman
et al. , 2002b) Sia X un processo di Markov che ha almeno un genitore in Ge
(cioè Pae(X)6= ;), e con spazio degli stati V al(X), definiamo la sua statistica
sufficiente come:
Te[xju], il tempo speso da X nello stato x 2 V al(X), mentre i genitori
hanno configurazione degli stati u, nell’epoca e;
Me[x; x0ju], il numero di transizioni da x a x0, con x06= x, mentre i
genitori hanno configurazione degli stati u, nell’epoca e.
Dall’ultima statistica si può definire Me[xju] =
P
xi6=xj
Me[x; x0ju] come il
numero di transizioni in uscita dallo stato x, mentre i genitori hanno configu-razione
degli stati u, nell’epoca e.
Laurea Magistrale in Informatica 22
42. 3.2. Statistiche sufficienti e likelihood
3.2.2 Likelihood di un singolo nodo
Dato un processo di Markov omogeneo X(t), la likelihood dei dati è definita
come un prodotto di likelihood, una per ogni transizione d = xd; td; x0
d 2 D,
che rappresenta la transizione allo stato x0
d dopo aver passato un tempo pari a
td nello stato xd. Si può scrivere la likelihood di una singola transizione d nel
seguente modo:
Lx(q; : d) = Lx(q : d)Lx( : d) (3.1)
= (qxdeqxd td)(xdx0
d
) (3.2)
Moltiplicando le likelihood di tutte le transizioni d nell’epoca e, e facendo uso
delle statistiche sufficienti si ha:
Lx(qe; e : De) =
0
@
Y
d2De
Lx(qe : d)
1
A
0
@
Y
d2De
1
A
Lx(e : d)
=
Y
x
qMe[x]
x eqxTe[x]
!0
@
Y
x
Y
x06=x
Me[xjx0]
xx0
1
A:
3.2.3 Likelihood di una struttura
In una NHCTBN è necessario fornire la likelihood di ogni singola struttura Ge,
per ogni epoca e. Si ha, quindi, che in ogni struttura ogni variabile X 2 X
è condizionata dallo stato dei suoi genitori PaGe(X) nell’epoca e. Avendo i
dati completi si conosce lo stato in cui si trovano i genitori durante tutta la
traiettoria, quindi ad ogni istante si conosce la matrice di intensità QXjPaGe
che governa la dinamica di X. La likelihood di Ge è scomponibile per variabile:
LGe(qe; e : De) =
Y
X2X
LX(qXjUe ; XjUe : De)
=
Y
X2X
LX(qXjUe : De)LX(XjUe : De)
(3.3)
Il termine LX(XjUe : De) rappresenta la probabilità delle transizioni di
stato, e dipende solo dal valore dei genitori nell’istante della transizione, e
quindi ignora il tempo in cui rimane nello stato precedente alla transizione.
Laurea Magistrale in Informatica 23
43. 3.2. Statistiche sufficienti e likelihood
Usando le statistiche sufficienti è possibile scrivere:
LX(XjUe : De) =
Y
u2Ue
Y
x2X
Y
x06=x
Me[x;x0ju]
xx0jue (3.4)
Il termine LX(qXjUe : De) rappresenta la likelihood del parametro qXjUe
rispetto ai dati De, ed è funzione del tempo.
Per riscrivere questo termine si ricorre alla statistica sufficiente Te[xju],
che è scomponibile in 2 parti: Te[xju] = Tr
e [xju] + Tc
e [xju], dove Tr
e [xju] rap-presenta
la somma dei td delle transizioni che terminano con X invariato, e
Tc
e [xju] la somma dei td delle transizioni che terminano con X in uno stato
differente. Questo perché la transizione può essere dovuta al cambio di stato
della variabile oppure al cambio di stato di uno dei suoi genitori.
Ora è possibile scrivere:
LX(qXjUe : De) =
Y
u2Ue
Y
x2X
qMe[xju]
xjue
eqxjueTc
e [xju]
!
Y
u2Ue
Y
x2X
eqxjueTr
e [xju]
!
=
Y
u2Ue
Y
x2X
qMe[xju]
xjue
eqxjueTe[xju]
(3.5)
di conseguenza non è necessario distinguere Tr
e [xju] e Tc
e [xju], ma è sufficiente
usare Te[xju].
Sostituendo le equazioni 3.4 e 3.5 nell’equazione 3.3 si ottiene:
LGe(qe; e : De) =
Y
X2X
LX(qXjUe ; XjUe : De)
=
Y
X2X
0
@
Y
u2Ue
Y
x2X
Y
x06=x
Me[x;x0ju]
xx0jue
Y
u2Ue
Y
x2X
qMe[xju]
xjue
eqxjueTe[xju]
1
A
(3.6)
Passando ai logaritmi, per evitare produttorie di valori molto piccoli, ab-
Laurea Magistrale in Informatica 24
44. 3.3. Apprendimento di una NHCTBN
biamo:
`Ge(qe; e : De) =
X
X2X
i
h
`X(qXjUe : De) + `X(XjUe : De)
=
X
u2Ue
X
x2X
#
Me[xju] ln(qxjue) qxjueTe[xju]
+
2
4
X
u2U
X
x2X
X
x06=x
Me[x; x0ju] ln(xx0jue)
3
5; 8X 2 X
(3.7)
3.3 Apprendimento di una NHCTBN
Fatte salve tutte le definizioni precedentemente enunciate atte a definire che
cos’è una NHCTBN, passiamo ad approfondire l’apprendimento di una NHCTBN
a partire dai dati.
La fase di apprendimento si compone di due parti:
apprendimento dei parametri data una struttura Ge, per ogni epoca e,
dai dati disponibili;
apprendimento della successione di strutture G1; G2; : : : ; GM che compon-gono
la NHCTBN.
Si forniscono alcune definizioni necessarie alla comprensione della fase di ap-prendimento.
Definizione 3.4 (Traiettoria). Dato un insieme di processi di Markov X(t) =
(X1(t);X2(t); : : : ;XN(t)), una traiettoria è un’istanziazione delle variabili X(t)
per ogni valore di t.
In questo documento si tratterà l’apprendimento solo per dati completi.
Per l’apprendimento con dati incompleti, cioè nel caso in cui si hanno alcune
variabili non osservate, si rimanda a (Nodelman, 2007).
Definizione 3.5 (Dati Completi). (Nodelman, 2007) Dato un insieme di va-riabili
casuali X = (X1;X2; : : : ;XN), un insieme di dati D = (1; 2; : : : ; h) si
dice completo se ogni i è una traiettoria completamente osservata, ovvero se
per ogni punto nel tempo di ogni traiettoria si conosce la completa istanziazione
di tutte le variabili Xi.
Laurea Magistrale in Informatica 25
45. 3.3. Apprendimento di una NHCTBN
3.3.1 Apprendimento dei parametri
Per quanto riguarda l’apprendimento dei parametri per una rete, data la strut-tura
Ge, con dati completi De, per l’epoca e, nella letteratura specializzata sono
disponibili due approcci:
Approccio Maximum-Likelihood, si stimano i parametri in modo da mas-simizzare
la likelihood in Equazione 3.7.
Approccio Bayesiano, si sceglie una distribuzione a priori per i parametri
e la si aggiorna in base ai dati.
3.3.1.1 Approccio Maximum-Likelihood
Teorema 3.1. (Nodelman et al. , 2002b) I parametri che massimizzano la
likelihood dell’Equazione 3.7 sono:
^qxjue =
Me[x j u]
Te[x j u]
^xx0jue =
Me[x; x0 j u]
Me[x j u]
(3.8)
Questi parametri vengono chiamati Maximum Likelihood Estimation (MLE)
parameters.
Il parametro ^qxjue si ricava eguagliando le medie: il tempo medio che una
variabile X rimane nello stato x, con configurazione dei genitori u, nell’epoca e
prima di una transizione è pari a Te[xju]=Me[xju]. La media della distribuzione
esponenziale di parametro qxjue è 1=qxjue . Si ha quindi:
1
qxjue
=
Te[x j u]
Me[x j u]
qxjue =
Me[x j u]
Te[x j u]
La probabilità che una variabile X transiti dallo stato x allo stato x0, quando i
genitori hanno configurazione dello stato u, nell’epoca e, è stimabile tramite il
rapporto tra il numero totale di transizioni da x a x0 (Me[x; x0ju]) e il numero
totale di transizioni in uscita dallo stato x (Me[xju]). Si ha quindi:
^xx0jue =
M[x; x0 j u]e
M[x j u]e
:
Laurea Magistrale in Informatica 26
46. 3.3. Apprendimento di una NHCTBN
3.3.1.2 Approccio Bayesiano
Per l’approccio Bayesiano, invece, è necessario definire una distribuzione a
priori per i parametri della rete. Al fine di avere un calcolo efficiente si è scelto
di usare una distribuzione a priori coniugata.
Per prima cosa si costruisce una distribuzione a priori adatta per un singolo
processo di Markov, la quale possiede due insiemi di parametri:
una distribuzione esponenziale di parametri q, nel caso specifico si è scelta
la Distribuzione Gamma P(q) = Gamma(; ), dove
P(q) =
( )+1
( + 1)
qeq
una distribuzione multinomiale di parametri , nel caso specifico si è scel-ta
la Distribuzione di Dirichlet P() = Dir(xx1 ; : : : ; xxk ) (Heckerman,
1996).
Osservazione. L’iperparametro1 xx, chiamato dimensione equivalente del
campione, è costituito dalla somma dei conteggi immaginari xx1 +: : :+xxk ,
chiamati pseudo-conteggi (Steck, Harald and Jaakkola, 2002).
Assumendo che i due parametri siano indipendenti, ovvero che P(e; qe) =
P(e)P(qe), si ottengono le seguenti distribuzioni a posteriori:
P(jD) = Dir(xx1 +M[x; x1]; : : : ; xxk +M[x; xk])
P(qjD) = Gamma(x +M[x]; x + T[x])
Si vuole ora estendere l’idea all’intera rete riferita all’epoca e. Si assume che
in una Bayesian Network (BN) (Heckerman, 1996) valgano la global parameter
independence:
P(qe; e) =
Y
X2X
P(qXjPa(X)e; XjPa(X)e)
e la local parameter independence:
P(qXjUe ; XjUe) =
Y
x2X
Y
u2Ue
!
P(qxju)
Y
x2X
Y
u2Ue
!
:
P(xju)
1I parametri di una distribuzione a priori vengono chiamati iperparametri
Laurea Magistrale in Informatica 27
47. 3.3. Apprendimento di una NHCTBN
Se le distribuzioni a priori scelte soddisfano le precedenti assunzioni, si ha
che anche le distribuzioni a posteriori le soddisfano (essendo coniugate), ed
è quindi possibile mantenere la distribuzione parametrica in forma chiusa, ed
aggiornarla con le statistiche sufficienti.
Data una distribuzione parametrica è possibile usarla per prevedere il pros-simo
evento, mediando la probabilità dell’evento su tutti i possibili valori dei
parametri. Questa previsione è equivalente all’uso dei valori attesi, che hanno
la stessa forma dei parametri MLE, ma tengono conto dei conteggi immaginari
degli iperparametri:
^qxjue =
x j ue +Me[x j u]
x j ue + Te[x j u]
^xx0jue =
xx0jue +Me[x; x0 j u]
xjue +Me[x j u]
Osservazione. La scelta di questi parametri, teoricamente, è valida solo per
prevedere una transizione, dopo la quale, bisognerebbe aggiornare i parametri
di conseguenza. D’altra parte, in questi casi, è possibile approssimare il calcolo
esatto, usando questi parametri per prevedere una traiettoria intera.
3.3.2 Apprendimento della struttura
Per apprendimento della struttura si intende il processo mediante il quale, a
partire dai dati disponibili, si effettua una ricerca delle relazioni tra le variabili
a cui si riferiscono i dati.
Poichè le NHCTBN non hanno vincoli di aciclicità, l’apprendimento della
struttura è molto più semplice rispetto alle DBN, per le quali consiste nel ri-solvere
un problema di ottimizzazione NP-completo (Chickering, 1994). Si ha
quindi che l’apprendimento della struttura è la ricerca della miglior configura-zione
di genitori per un nodo. Tale ricerca, nel caso delle NHCTBN, la si può
effettuare nodo per nodo.
Per l’apprendimento della struttura si intende utilizzare, come per le BN,
l’approccio SearchScore, in cui definiremo una funzione di score per confron-tare
la bontà delle possibili strutture della rete e selezionare quella che meglio
si adatta ai dati.
Laurea Magistrale in Informatica 28
48. 3.3. Apprendimento di una NHCTBN
3.3.2.1 Funzione di scoring
Come già detto, poichè una NHCTBN consiste in una sequenza di grafi orientati,
è necessario introdurre una funzione di scoring per il singolo grafo. Nella sot-tosezione
3.3.3 si mostra come comporre gli score dei singoli grafi per ottenere
lo score dell’intera sequenza
In questa tesi si è deciso di utilizzare uno score di tipo Bayesiano, e poiché
il principio dell’approccio Bayesiano implica la definizione di una distribuzione
a priori ovunque ci sia incertezza, come in questo caso, si definisce, quindi, una
distribuzione a priori per la struttura nell’epoca e P(Ge) e una per i parametri
P(GejGe). Applicando il teorema di Bayes si ha:
P(Ge j De) =
P(De j Ge)P(Ge)
P(De)
con De si intende l’istanziazione delle variabili negli istanti di tempo contenuti
nell’epoca e.
Dato che il denominatore è solo un fattore di normalizzazione, esso non è
necessario per distinguere due strutture, per cui è possibile definire lo score
come (Koller Friedman, 2009):
scoreB(Ge : De) = ln P(De j Ge) + ln P(Ge) (3.9)
Inoltre, per aumentare l’efficienza dell’algoritmo di ricerca, si assume che
le distribuzioni a priori scelte soddisfino le seguenti proprietà (Nodelman et al.
, 2002b):
P(Ge) soddisfi la structure modularity, cioè
P(Ge) =
NY
i=1
P(Pae(Xi) = PaGe(Xi))
parameter modularity, cioè per qualsiasi coppia di strutture Ge e G0e
tali che PaGe(X) = PaG0e
(X) con e fissato, vale P(qx; X j Ge) =
P(qx; X j G0e
)
Combinando la parameter modularity con il fatto che i parametri sono
Laurea Magistrale in Informatica 29
49. 3.3. Apprendimento di una NHCTBN
indipendenti, abbiamo:
P(qGe ; Ge ; j Ge; ) =
Y
Xi
P(qXijUei
j Pae(Xi) = PaGe ; (Xi))P(XijUei j Pae(Xi) = PaGe ; (Xi))
Dato che P(Ge) non cresce con l’aumentare dei dati, la parte significativa
nell’Equazione 3.9 è la marginal likelihood P(DejGe). Questo termine incorpora
l’incertezza sui parametri integrando su tutti i loro possibili valori
P(De j Ge) =
Z
qGe ;Ge
P(De j qGe ; Ge)P(qGe ; Ge j Ge) dqGe dGe
La likelihood si può scomporre in un prodotto di likelihood:
P(De j qGe ; Ge) =
Y
Xi
LXi(qXijuei : De)LXi(Xijuei : De)
=
0
@
Y
Xi
LXi(qXijuei : De)
1
A
| {z }
L(q:De)
0
@
Y
Xi
1
A
LXi(Xijuei : De)
| {z }
L(:De)
Combinando questa decomposizione e la global parameter independence
abbiamo:
P(De j Ge) =
Z
qGe ;Ge
L(qGe : De)L(Ge : De)P(Ge)P(qGe) dqGe dGe
=
Z
qGe
L(qGe : De)P(qGe) dqGe
!
(3.10)
Z
Ge
L(Ge : De)P(Ge) dGe
!
(3.11)
Usando la local parameter independence il termine (3.10) si può decomporre
Laurea Magistrale in Informatica 30
50. 3.3. Apprendimento di una NHCTBN
nel seguente modo:
Y
X2X
Y
ue
Y
x
Z 1
0
P(qxjue)Lx(qxjue : De) dqxjue
=
Y
X2X
Y
ue
Y
x
Z 1
0
xjue
(xjue )
+1
(xjue+1) (qxjue)xjue eqxjue xjue
(qxjue)Me[xju]eqxjueTe[xju] dqxjue
=
Y
X2X
Y
ue
Y
x
Z 1
0
2
4
xjue
(xjue )
+1
(xjue+1) (qxjue)xjue+Me[xju]
eqxjue (xjue+Te[xju])
3
5dqxjue
=
Y
X2X
Y
ue
Y
x
(xjue +Me[xju] + 1)(xjue)xjue+1
(xjue + 1)(xjue + Te[xju])xjue+Me[xju]+1 (3.12)
=
Y
X2X
MargLq(X;PaGe(X) : De)
Poiché la distribuzione dei parametri è Dirichlet, l’analisi dell’Equazione 3.11
è analoga a quella delle BN, quindi:
Y
X2X
Y
ue
Y
x
(xjue)
(xjue +Me[xju])
Y
x06=x
(xx0jue +Me[x; x0ju])
(xx0jue)
(3.13)
=
Y
X2X
MargL(X;PaGe(X) : De) (3.14)
Usando queste due scomposizioni, e assumendo la structure modularity, lo
score Bayesiano dell’Equazione 3.9 può essere ora scomposto come una somma
di family score denotati come FamScore(X;PaGe(X) : De), che assegna un
punteggio ai genitori di X (ovvero PaGe(X)), così da poter scegliere per ogni
nodo X 2 X i genitori che massimizzano il family score
scoreB(Ge : De) =
X
Xi2X
FamScore(Xi;PaGe(Xi) : De)
=
X
Xi2X
ln P(Pae(X) = PaGe(Xi)) + lnMargLq(Xi;Ui : De) + lnMargL(Xi;Ui : De)
Si giunge, così, a definire lo score della struttura, in una singola epoca prefissata
e, come una somma di score locali, uno per ogni nodo X.
Laurea Magistrale in Informatica 31
51. 3.3. Apprendimento di una NHCTBN
3.3.2.2 Ricerca della struttura
Passiamo ora alla ricerca della struttura Ge per la singola epoca e. Questo è un
problema di ottimizzazione, ed è stato formalizzato sotto il nome di K-Learn.
Il K-Learn consiste nella ricerca della struttura che massimizza lo score,
vincolando ogni nodo ad avere al massimo k genitori. Per le BN è un problema
NP-hard già con K uguale a 2 (Chickering, 1994). La motivazione è che le BN
sono soggette al vincolo di aciclicità, e quindi la determinazione dei genitori
ottimali di un nodo è condizionata dalla scelta effettuata per gli altri nodi. La
stessa complessità si ha anche sulle DBN se ammettiamo archi intra time slice.
Nel caso delle NHCTBN gli archi rappresentano l’effetto del valore corrente di
una variabile, sul prossimo valore di un’altra variabile. Quindi, nelle NHCTBN
non è presente il vincolo di aciclitià. Senza tale vincolo è possibile ottimizzare
la ricerca dei genitori effettuandola nodo per nodo, indipendentemente dagli
altri nodi.
Teorema 3.2. (Nodelman, 2007) Dato K, il problema K-Learn per una strut-tura
di una NHCTBN può essere risolto in tempo polinomiale rispetto al numero
di variabili N e alla dimensione dei dati D.
Si ha, quindi, che è possibile ricavare in tempo polinomiale una struttura
a partire dai dati D.
3.3.3 Apprendimento della sequenza
Per poter affrontare l’apprendimento dell’intera sequenza di strutture della
NHCTBN è necessario fornire un’altra funzione di scoring, ma questa volta, per
l’intera sequenza.
La funzione di scoring per la sequenza G = fG1; G2; : : : ; GEg (Robinson
Hartemink, 2010) è definita come segue:
scoreB(G : D) =
XE
e=1
scoreB(Ge : De)
XE
e=2
c(Ge; Ge1) eE (3.15)
dove c(Ge; Ge1) è il numero di cambi di archi dalla struttura per l’epoca
e 1 alla struttura per l’epoca e, pesato per un certo parametro c, e eE è
il numero di epoche per un certo parametro e.
Laurea Magistrale in Informatica 32
52. 3.3. Apprendimento di una NHCTBN
Osservazione. Le strutture ottime localmente ad ogni epoca non è detto che
formino la sequenza ottima di strutture. Questo deriva dallo score dell’intera
sequenza che pesa, tramite c, il numero di cambi di archi tra epoche contigue, e
tramite e il numero di epoche totali. Si vuole infatti evitare sia che le strutture
cambino in maniera considerevole in due epoche contigue, sia la presenza di
un numero elevato di epoche.
Nell’apprendimento della sequenza di strutture particolare attenzione va
alla pesatura degli iperparametri xx0jue e xjue presenti nelle equazioni 3.12 e
3.13.
In questa tesi proponiamo quattro tipologie di pesatura, le prime due si
basano sullo score di tipo BDe (Murphy, 2012) e sono:
1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata:
xx0jue = xx0jue
#Osservazioni_Epoca
#Osservazioni_Totali
(3.16)
xjue = xjue
#Osservazioni_Epoca
#Osservazioni_Totali
(3.17)
2. Pesatura basata sull’ampiezza dell’epoca considerata:
xx0jue = xx0jue
te te1
T
(3.18)
xjue = xjue
te te1
T
(3.19)
dove T è l’ampiezza temporale dell’intero dataset.
Le ultime due invece si basano sullo score di tipo BDeu (Murphy, 2012) e
sono:
1. Pesatura basata sul numero di osservazioni presenti nell’epoca conside-rata:
xx0jue =
xx0jue
qi ri
#Osservazioni_Epoca
#Osservazioni_Totali
(3.20)
xjue =
xjue
qi ri
#Osservazioni_Epoca
#Osservazioni_Totali
(3.21)
Laurea Magistrale in Informatica 33
53. 3.3. Apprendimento di una NHCTBN
2. Pesatura basata sull’ampiezza dell’epoca considerata:
xx0jue =
xx0jue
qi ri
te te1
T
(3.22)
xjue =
xjue
qi ri
te te1
T
(3.23)
dove T è l’ampiezza temporale dell’intero dataset mentre qi ed ri sono,
rispettivamente, il numero di stati congiunti dei genitori del nodo i, e il
numero di stati del nodo i.
La pesatura introdotta nella BDeu ha lo scopo di non favorire quei nodi che
hanno un elevato numero di stati o un elevato numero di genitori. L’introduzio-ne
invece della pesatura sull’ampiezza dell’epoca o sul numero di osservazioni
serve per non favorire lo score di epoche troppo corte o con poche osservazioni.
A questo punto è necessario affrontare un altro problema, quello delle
informazioni che si hanno sui dati a disposizione.
Poiché nell’apprendimento di una rete non omogenea è necessario sapere
quante transizioni2 ci sono ed il punto esatto in cui queste avvengono, e queste
due informazioni non sempre sono disponibili nei dati, si contemplano quindi
tre casi:
Caso A: informazione completa, si conosce sia il numero di transizioni che gli
istanti temporali in cui avvengono le transizioni.
Caso B: informazione parziale, si conosce il numero di transizioni ma non si
conoscono gli istanti temporali.
Caso C: nessuna informazione, non si conosce né il numero di transizioni né
gli istanti temporali.
Questi tre casi sono gli stessi visti nella trattazione delle NHDBN
3.3.4 Apprendimento della sequenza: Approccio SA
Il problema che si vuole affrontare è la mancanza di informazioni, Caso B
e Caso C, ovvero non sapere dove sono gli istanti di transizione da un epo-ca
all’altra o addirittura non sapere nemmeno quanti sono. La soluzione è
2Istanti temporali in cui la rete Ge+1 sostituisce la rete Ge
Laurea Magistrale in Informatica 34
54. 3.3. Apprendimento di una NHCTBN
un’approccio probabilistico che permette di ottenere queste informazioni in
modo tale da riportarsi al Caso A. Una volta che l’informazione è completa
l’apprendimento della sequenza si esegue in maniera esatta. Questo significa
che una volta individuate le informazioni mancanti è possibile ricostruire la
struttura ottima, a patto che le informazioni individuate siano corrette.
L’approccio probabilistico che si è scelto di utilizzare è basato sull’algoritmo
Simulated Annealing (SA) (Murphy, 2012).
Il primo passo, per poter comprendere l’utilizzo dell’algoritmo SA nel nostro
caso specifico, è fornire una definizione di stato.
Definizione 3.6 (Stato nell’algoritmo SA). Si definisce stato, nell’algoritmo
SA, la sequenza di istanti di transizione (da un’epoca all’altra) di una NHCTBN.
Adesso si può descrivere l’idea alla base di questo algoritmo mediante i
seguenti passaggi:
1. si parte da uno stato iniziale x, in cui gli istanti di transizioni sono
equidistanti;
2. ad ogni iterazione si propone un nuovo stato x’, generato a partire da x;
3. x’, a sua volta, ha una determinata probabilità di essere accettato (ac-ceptance
probability);
4. se si accetta x’, si salva, e successivamente si pone x = x’ e si riparte
dal punto 2;
5. altrimenti si rimane nello stato x e si riparte sempre dal punto 2.
Osservazione. Nel caso C, di totale mancanza di informazione, lo stato ini-ziale
consiste non solo in istanti di transizione equidistanti ma anche nell’e-strazione
di un numero di epoche iniziali di partenza.
Iterando questi punti, ed utilizzando adeguati operatori per generare nuovi
stati, si vuole scoprire la struttura reale del modello inerente al dataset che si
sta analizzando. Per farlo si ritorna l’NHCTBN ricostruita a partire dallo stato
più probabile.
Per ottenere la struttura con score massimo bisogna ancora specificare:
1. come è definita l’acceptance probability;
Laurea Magistrale in Informatica 35
55. 3.3. Apprendimento di una NHCTBN
2. quali sono le operazioni necessarie per generare nuovi stati.
Il punto 2 verrà trattato nel dettaglio nelle successive sottosezioni, di se-guito
si descrive come è calcolata l’acceptance probability.
L’acceptance probability viene calcolata come l’esponenziale della dif-ferenza
tra, la probabilità del nuovo stato, e la probabilità dello stato attuale.
Se questo valore è 1, ovvero lo stato x’ ha una probabilità maggiore o uguale
a x, allora x’ viene accettato. Tuttavia se il nuovo stato ha una probabilità
minore del precedente si ha comunque una probabilità, determinata dalla dif-ferenza
precedente, di accettarlo ugualmente. Questo accorgimento serve per
evitare di rimanere bloccati in massimi locali.
In formule si può scrivere come:
= exp(P(x0) P(x)) (3.24)
Osservazione. Si fa notare che la probabilità degli stati si ottiene dallo score
della NHCTBN che individuano.
Osservazione. Il valore di accettazione si può moltiplicare per un parametro
acceptance 2 (0; 1] al fine di rendere meno probabile l’accettazione di un nuovo
stato. Tale parametro viene inserito dall’utente.
Una miglioria consiste nell’introdurre una funzione di cooling. Questa
funzione restituisce un valore 2 [0; 1] che decresce in funzione del tempo (nu-mero
dell’iterazione corrente). Tale valore viene moltiplicato per l’acceptance
probability (solo quando acceptance probability 1) facendo si che più si
va avanti con le iterazioni più si rende difficile accettare uno stato con score
peggiore di quello attuale.
3.3.4.1 Informazione completa
Si entra ora nello specifico del caso A, in cui si è a conoscenza sia del numero
di transizioni che degli istanti temporali in cui tali transizioni avvengono.
In questa situazione si è a conoscenza dell’informazione completa necessaria
per l’apprendimento della NHCTBN. Non è quindi necessario eseguire l’algorit-mo
SA, tuttavia la si riporta in questa sezione in quanto è il caso base a cui si
ricollegano il caso B e il caso C
Laurea Magistrale in Informatica 36
56. 3.3. Apprendimento di una NHCTBN
Avendo a disposizione tutte le informazioni l’approccio di risoluzione è
esatto e consiste nei seguenti punti:
1. calcolare gli score di tutte le possibili combinazioni di k-parent set (k
fissato), di tutti i nodi, in tutte le epoche;
2. scegliere per ogni nodo e per ogni epoca i k-parent set che massimizzano
lo score dell’intera sequenza, tenendo conto dello specifico valore di c
come visto nella sottosezione 3.3.3;
Il punto 2 si può ripetere per più valori di c i quali si estraggono da una
distribuzione gamma. Questo porta a trovare diverse NHCTBN. Non è invece
necessario calcolare il e, che sarà quindi impostato a 0, essendo a conoscenza
dell’informazione esatta sul numero di epoche.
Di seguito è riportato l’algoritmo completo in cui si può notare che:
Riga 4-6: si cicla su tutte le epoche, sul numero massimo di genitori e su
tutti i nodi;
Riga: 7: vengono create tutte le combinazioni di k-parentSet per un k
fissato;
Riga: 8-9: si calcola lo score per un determinato parentSet U;
Riga 14: si ritorna il parentSet con score massimo.
Laurea Magistrale in Informatica 37
57. 3.3. Apprendimento di una NHCTBN
Algoritmo 2 Apprendimento sequenza NHCTBN - SA - Informazione completa
Require: Massimo numero di genitori K, insieme di traiettorie completamen-te
osservate D, istanti di transizione T, valore del lambda cambi c, valore
del lambda epoche e.
Ensure: Sequenza di strutture con il miglior score per i dati D
EnumerateParents(Xi; k) è una funzione che enumera tutte le possibili
combinazioni di k genitori per il nodo Xi.
CalculateScore(Xi;U;D; Tfirst; Tlast; c) è una funzione che calcola
lo score del nodo Xi con insieme dei genitori U dai dati D compresi
nell’intervallo da Tfirst a Tlast, per un c prefissato.
getBestParentSet(score[], c, e) è una funzione che dati in input gli
score, il valore del lambda cambi e dei lambda epoca, e ritorna il migliori
parent set globali con relativo score.
1: function LearnFullInformation(K;D; T; c; e)
2: E Length[T] + 1
3: bestP arent[N;E] ;
4: for e 1 to E do
5: for k 0 to K do
6: for i 1 to N do
7: parentSet EnumerateParent(Xi; k)
8: for all U in parentSet do
9: score[e]:add( CalculateScore(Xi;U;D; T[e]; T[e +
1]; c; e))
10: end for
11: end for
12: end for
13: end for
14: bestP arentSet getBestParentSet(score[], c,e)
15: return bestP arentSet
16: end function
3.3.4.2 Informazione parziale
Si entra ora nello specifico del caso B, in cui si è a conoscenza solamente del
numero di transizioni, ma non degli istanti temporali in cui tali transizioni
avvengono. Si entra quindi nel vivo dell’algoritmo SA.
Si definisce di seguito l’operatore che, ad ogni iterazione dell’algoritmo,
ci propone un nuovo stato in cui spostarci, a partire da quello attuale. In
questo caso, in cui il numero di istanti di transizione è noto, può variare solo
la posizione dei suddetti. Sarà quindi necessario utilizzare un solo operatore
che si occupa dello shift degli istanti temporali di transizione.
Laurea Magistrale in Informatica 38
58. 3.3. Apprendimento di una NHCTBN
Si propongono due tipologie di shift che l’utente può selezionare: omogeneo
e proporzionale.
Lo shift omogeneo funziona nel seguente modo:
1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando
una distribuzione di probabilità uniforme;
2. si estrae un ulteriore valore u U[1; 1];
3. si propone infine lo spostamento s = t + shift u.
Osservazione. Mentre il valore u definisce la direzione dello spostamento, il
parametro shift definisce la grandezza dello spostamento.
Lo shift proporzionale funziona nel seguente modo:
1. si estrae un istante di transizione t da tutti gli istanti possibili, utilizzando
una distribuzione di probabilità uniforme, supponendo che t separi le
epoche (ta; t)(t; tb);
2. si estrae un ulteriore valore u U[1; 1];
3. se u 0 allora si propone lo spostamento s = t + shift u (t ta)
4. altrimenti si propone lo spostamento s = t + shift u (tb t)
Osservazione. Lo shift proporzionale permette di eseguire uno spostamento
che non è fisso, ma che appunto è proporzionale alla distanza dei tempi contigui
a t.
Osservazione. E’ inoltre possibile fornire una versione discreta degli operatori
di shift, che consiste nel ritornare non il tempo generato dall’operatore, ma
quello dell’osservazione più vicina (a tale tempo) presente nel dataset.
Per entrambe le versioni, al valore di shift viene associato una funzione
di cooling, come per l’acceptance probability, al fine di diminuire la grandezza
dello spostamento proposto in proporzione al numero di iterazioni dell’algorit-mo.
L’idea generale di funzionamento dell’algoritmo SA, descritta nella sotto-sezione
3.3.4, si riferisce all’apprendimento di una sola sequenza di stati. Nel
caso B, invece, si estraggono più c da una distribuzione gamma, come per il
Laurea Magistrale in Informatica 39
59. 3.3. Apprendimento di una NHCTBN
caso A, e per ognuno di essi si fa partire una sequenza differente. Alla fine,
da tutti gli stati contenuti in ogni sequenza, si ritorna lo stato più probabile
con il modello NHCTBN che esso individua.
Non è invece necessario valutare il e, che sarà impostato a 0, essendo noto
il numero di epoche.
Di seguito è riportato l’algoritmo completo in cui si può notare che:
Riga 2-7: si estrae un numero pari ad N di valori c e si fa partire una
nuova sequenza per ogni valore estratto;
Riga 8: per ogni sequenza si effettua un numero pari ad IT di iterazioni;
Riga 9-11: Si genera il nuovo stato, ricostruendone la struttura, e si
calcola l’acceptance probability;
Riga 12-20: Si decide se accettare o meno il nuovo stato in accordo con
l’acceptance probability;
Riga 25: Si ritorna la sequenza ricostruita da cui poi si andrà ad estrarre
la struttura con score massimo;
Laurea Magistrale in Informatica 40