2
dal giallo e poi dal rosso, per poi ricominciare di nuovo dal verde. Il secondo gruppo è
quello dei modelli non deterministici o probabilistici, costituiti da segnali aleatori, nei
quali un certo evento viene ad essere seguito da un evento appartenente ad un insieme di
possibili eventi susseguenti, ciascuno dei quali può verificarsi con una certa probabilità.
Esempi di tali modelli possono essere i cambiamenti giornalieri del tempo (pioggia, sole,
nubi), la sequenza di vocali e consonati in una o più parole, la sequenza di parole in una o
più frasi, o la sequenza di fonemi nel parlato. I modelli deterministici possono essere
descritti direttamente specificando i valori dei parametri del modello, come, ad esempio,
l’ampiezza, o la frequenza. Nei modelli probabilistici, invece, si cerca di caratterizzare solo
alcune proprietà statistiche del segnale. Modelli di questo tipo sono, ad esempio, le catene
di Markov, i processi Gaussiani, i processi di Poisson. L’assunzione sottostante il modello
statistico è che il segnale può essere caratterizzato come un processo parametrico aleatorio,
discreto o continuo, e che i parametri del processo stocastico possono essere determinati (o
stimati) in maniera precisa.
Gli Hidden Markov Model o HMM sono un particolare tipo di modello di segnale
stocastico che ha avuto molto successo in svariati campi, primo fra tutti l’elaborazione del
parlato. Già dal nome si può facilmente intuire che la loro origine risiede nella teoria
statistica dei processi di tipo markoviano, introdotti da Andrei Andreyevich Markov agli
inizi del ventesimo secolo per catene di tipo discreto sia nei tempi che negli stati (questi
ultimi di numero finito). Il caso degli stati non numerabili venne studiato nel 1936 da
Kolmogorov, e, poco tempo dopo, Doeblin e Shannon contribuirono a sviluppare
ulteriormente la teoria markoviana. Le prime tracce di quella che solamente in seguito
venne individuata come la teoria degli HMM, si possono già trovare negli anni ’50 del
secolo scorso, durante lo studio dei processi casuali per i quali erano disponibili solamente
osservazioni parziali. L’approccio seguito fu quello di modellare il problema come un
processo doppiamente stocastico, attraverso il quale i dati osservati erano visti essere come
il risultato di un processo nascosto che, a sua volta, produceva un processo i cui risultati
erano, appunto, visibili. La caratterizzazione di entrambi i processi veniva effettuata
attraverso le sole osservazioni visibili a disposizione. Questo portò alla scoperta di un
particolare algoritmo, chiamato algoritmo E-M, uno strumento per la massimizzazione
della verosimiglianza nei problemi di dati incompleti. Fu però durante la fine degli anni
’60 e l’inizio degli anni ’70 del secolo scorso che si iniziò a lavorare su uno speciale tipo di
funzioni probabilistiche delle catene di Markov, in seguito chiamate col nome di modelli di
Markov nascosti o HMM. La teoria di base venne introdotta per la prima volta da Baum e
3
Petrie nel 1966 e gli studi seguenti, condotti sempre da Baum assieme ad i suoi colleghi,
portarono all’individuazione dell’algoritmo forward-backward e dell’algoritmo di ri-stima
di Baum-Welch per la stima dei parametri di un HMM, il quale, in seguito, nel 1977, venne
riconosciuto essere una particolare forma dell’algoritmo E-M da parte di Dempster, Laird e
Rubin. Nel 1967 Andrew J. Viterbi introdusse, invece, un efficiente algoritmo in grado di
fare inferenza sugli stati nascosti del modello, e che prese il nome, appunto, di algoritmo di
Viterbi. Sebbene, dunque, la teoria degli HMM trovi la sua origine fra gli anni ’60 e ’70,
una completa diffusione della stessa si ebbe solo vari anni dopo, grazie sicuramente alla
sua propensione intrinseca d’essere utilizzabile in maniera maneggevole e proficua in
settori di studio eterogenei, ma anche grazie allo sviluppo dei computer, i quali
permettevano elaborazioni sempre più consistenti in tempi di elaborazioni sempre minori.
Nacquero così, e si espansero, molteplici applicazioni degli HMM in ambiti quali quello
dell’acustica, delle bioscienze e della bioinformatica, delle scienze climatiche, del
controllo delle comunicazioni, del riconoscimento di testi, della robotica, dell’acquisizione
di immagini e della visione computerizzata, e in molti altri settori ancora. Alcuni fra i
contributi di maggior rilievo possono essere ricondotti a Levinson, Rabiner, e Sondhi
relativamente ai loro studi sull’elaborazione e riconoscimento del parlato (1983), a Krogh
per alcune applicazioni alla biologia molecolare computazionale (1993), a Schadt,
Sinsheimer, e Lange per gli studi sugli alberi filogenetici (1998) e a Hughes, Guttorp, e
Charles per gli studi degli eventi relativi alle precipitazioni (1999). Molte delle
applicazioni descritte in letteratura si basano, comunque, sulla metodologia resa popolare
da Rabiner e dai suoi colleghi per il riconoscimento del parlato, e ciò è dovuto al fatto che
tali studi sono diventati nel corso del tempo il principale riferimento per gran parte dei
ricercatori nel campo degli HMM. A tal proposito si può ricordare l’articolo di Rabiner e
Juang del 1991, ma anche il libro di MacDonald e Zucchini del 1997. Oltre al settore del
riconoscimento del parlato, anche quello della bioinformatica ha fatto un uso ampio e
proficuo degli HMM: ma mentre il primo si è concentrato su modelli di tipo continuo, il
secondo ha preferito spesso modelli di tipo discreto, soprattutto per quanto concerne il
riconoscimento dei geni e la rappresentazione delle famiglie di proteine.
Si può affermare che buona parte dell’attenzione suscitata dai modelli di Markov
nascosti risiede sicuramente nella loro capacità di fornire un’elegante struttura nella
specificazione di dipendenze a lungo raggio in dati longitudinali, ma a ciò va aggiunto
anche un altro fatto, e cioè che essi possono venire interpretati anche come esempi-
prototipi di una particolare classe di modelli dalla popolarità sempre più in crescita,
4
conosciuta col nome di latent-variable models (Cook, Ng, e Meade 2000). Tuttavia, ad
oggi, non esiste un libro esaustivo ed interamente dedicato agli HMM: in ciascuno degli
ambiti di studio sopracitati vi sono libri e pubblicazioni che espongono la teoria di questi
modelli solo in parte, e relativamente cioè alle applicazioni presentate.
Nel corso degli anni si sono sviluppati diversi software per il trattamento degli HMM,
molti dei quali anche open source. Si ricorda, per esempio, l’ HTK (Hidden Markov
Models Tool Kit), un sistema basato sul linguaggio C e composto da un insieme di
programmi che permette di costruire applicazioni soprattutto per il riconoscimento del
parlato, anche se gli algoritmi ed i metodi utilizzati sono indipendenti da ciò, e pertanto
applicabili anche ad altri problemi di riconoscimento, come quello della scrittura, delle
espressioni facciali, delle sequenza di DNA, o altro ancora. HTK è stato sviluppato dallo
Speech Vision and Robotics Group del Dipartimento di Ingegneria dell'Università di
Cambridge, e dal Laboratorio di Ricerca Entropic di Cambridge, ora facente parte di
Microsoft©. HTK viene distribuito gratuitamente con una licenza che permette di
utilizzare, copiare e modificare il codice sorgente e il codice oggetto, e di sviluppare da
questi altro software. È disponibile via Internet all'indirizzo: http://htk.eng.cam.ac.uk/. Un
altro software gratuito, basato sempre sul linguaggio C, è il Kanungo’s HMM Software
ideato principalmente per il modellamento del linguaggio e disponibile all’indirizzo
http://www.cfar.umd.edu/~kanungo/software/software.html. Altri software gratuiti basati
invece sul linguaggio MATLAB sono il Murphy’s HMM Software, orientato
principalmente verso problematiche legate al riconoscimento del parlato e scaricabile
all’indirizzo http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html, ed il Cappé’s
HMM Software, disponibile all’indirizzo http://www.tsi.enst.fr/~cappe/node5.html, per il
trattamento di segnali acustici, ma non solo. Passando, invece, a software che utilizzano il
linguaggio Java, si può citare il GenRGenS Software, dedicato primariamente alla
generazione casuale di strutture e sequenze genomiche e disponibile gratuitamente presso
http://www.lri.fr/bio/GenRGenS.
Ciò che verrà presentato in seguito sarà una illustrazione degli strumenti teorici e
metodologici necessari alla comprensione dapprima delle catene di Markov, ed in seguito
degli HMM di tipo discreto sia nei tempi che negli stati e nelle osservazioni. Quindi verrà
presentata una serie di recenti applicazioni di tali modelli, in ambito informatico
economico e finanziario. Infine, prendendo spunto da una di queste applicazioni, verrà
illustrato un esercizio di definizione di un HMM, di stima dei suoi parametri e di filtraggio
5
sugli stati nascosti della catena sottostante, attraverso una elaborazione dati effettuata per
mezzo del software statistico R.