38
UNIVERSIT ` A DEGLI STUDI DI PADOVA Facolt` a di Ingegneria Corso di Laurea in Ingegneria dell’Informazione Tesi di Laurea Triennale Inferenza statistica per Hidden Markov Models Relatore: Laureando: Prof. Lorenzo Finesso Marco Ruzza Anno Accademico 2010-11

UNIVERSITA DEGLI STUDI DI PADOVA - [email protected]/29569/1/TesiRuzzaMarco.pdf · la de nizione di ‘funzione deterministica di un processo di Markov’ e la piu onerosa

Embed Size (px)

Citation preview

UNIVERSITA DEGLI STUDI DI

PADOVA

Facolta di Ingegneria

Corso di Laurea in Ingegneria dell’Informazione

Tesi di Laurea Triennale

Inferenza statistica per Hidden

Markov Models

Relatore: Laureando:

Prof. Lorenzo Finesso Marco Ruzza

Anno Accademico 2010-11

Alla mia famiglia,

che mi e sempre stata vicina

nel momento del bisogno.

Indice

1 Introduzione 1

2 HMM: tre definizioni, un unico concetto 4

2.1 Le tre definizioni . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Equivalenza tra le definizioni . . . . . . . . . . . . . . . . . . 8

2.3 Elementi, notazione e meccanismo di un HMM . . . . . . . . 9

3 Problemi collegati agli HMM 13

3.1 I tre problemi per gli HMM . . . . . . . . . . . . . . . . . . . 13

3.2 Problema di valutazione . . . . . . . . . . . . . . . . . . . . . 14

3.2.1 Calcolo diretto . . . . . . . . . . . . . . . . . . . . . . 14

3.2.2 Forward-procedure . . . . . . . . . . . . . . . . . . . . 15

3.2.3 Backward-procedure . . . . . . . . . . . . . . . . . . . 17

3.2.4 Forward-backward procedure . . . . . . . . . . . . . . 19

3.3 Problema di decodifica . . . . . . . . . . . . . . . . . . . . . . 19

3.3.1 Riduzione della complessita attraverso la ricorsione . . 20

3.3.2 Algoritmo di Viterbi . . . . . . . . . . . . . . . . . . . 21

3.4 Problema di addestramento . . . . . . . . . . . . . . . . . . . 22

3.4.1 Metodo di Baum-Welch . . . . . . . . . . . . . . . . . 23

4 Esempi di applicazione degli HMM 25

4.1 Riconoscimento vocale . . . . . . . . . . . . . . . . . . . . . . 25

4.2 Computer Vision . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.3 Biologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 Conclusioni 31

Bibliografia 32

II

Elenco delle figure

2.1 HMM del tipo ‘funzione deterministica di una catena di Markov’.

Nel dettaglio: (a) spazio degli stati X e spazio dei simboli os-

servabili Y; (b) natura markoviana del processo nascosto; (c)

generazione di natura deterministica dei simboli osservabili a

partire dagli stati nascosti; (d) una particolare realizzazione

dell’HMM in questione. . . . . . . . . . . . . . . . . . . . . . 5

2.2 HMM del tipo ‘funzione stocastica di una catena di Markov’.

Nel dettaglio: (a) spazio degli stati X e spazio dei simboli

osservabili Y; (b) natura markoviana del processo nascos-

to; (c) generazione di natura aleatoria dei simboli osserv-

abili a partire dagli stati nascosti; (d) particolare realizzazione

dell’HMM in questione. . . . . . . . . . . . . . . . . . . . . . 6

2.3 HMM del tipo ‘processo di Markov congiunto’. Nel det-

taglio: (a) spazio degli stati X e spazio dei simboli osservabili

Y; (b) natura markoviana del processo nascosto; (c) visione

delle transizioni da stato a stato del processo nascosto e del

processo congiunto. . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1 Sequenza di operazioni richieste per il computo della variabile-

forward αt+1(j). . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Sequenza di operazioni richieste per il computo della variabile-

backward βt(i). . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3 Sequenza di operazioni richieste per il computo della variabile

ξt(i, j). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1 Catena di Markov presente nell’HMM per il riconoscimento

del DNA di Churchill. . . . . . . . . . . . . . . . . . . . . . . 29

III

Capitolo 1

Introduzione

Molte volte in ambito ingegneristico ci si trova a dover far fronte ad un

problema come il seguente. Un processo del mondo reale produce una se-

quenza di simboli osservabili, che possono essere a valori discreti (uscite di

esperimenti di lancio di una moneta, lettere da un alfabeto finito, ...) o con-

tinui (campioni del parlato, vettori di autocorrelazione, ...): cio che si chiede

e di costruire un modello del segnale che spieghi e caratterizzi l’occorrenza

dei simboli osservati, cosı da poter essere utilizzato per l’identificazione e il

riconoscimento di altre sequenze di osservazioni.

La teoria dei segnali e dei sistemi ci insegna che per affrontare un tale

problema si devono prendere alcune fondamentali decisioni, quale, per es-

empio, la forma del modello: lineare o non-lineare, tempo-variante o tempo-

invariante, deterministico o stocastico.

I modelli di sistemi lineari tempo-invarianti, che modellano i simboli os-

servati come l’uscita di un sistema lineare a parametri costanti eccitato da

un opportuno ingresso, si sono dimostrati utili per una grandissima vari-

eta di applicazioni. Molti segnali del mondo reale, tuttavia, non possono

essere significativamente modellati senza considerare una variazione tempo-

rale dei parametri prima accennati. Un tale problema puo essere affrontato

attraverso il seguente approccio.

Molti tra i segnali fisici che nel loro complesso necessitano di modelli

tempo-varianti possono essere ciononostante modellati da un sistema lin-

eare tempo-invariante se considerati in un intervallo di tempo sufficiente-

mente piccolo: la natura tempo-variante del processo puo essere vista come

una diretta concatenazione di questi brevi intervalli di tempo, ciascuno dei

quali singolarmente rappresentato da un modello di sistema tempo invari-

1

CAPITOLO 1. INTRODUZIONE 2

ante. Ciascuno di questi intervalli di tempo di osservazione viene visto come

un’unita con una durata prestabilita, che in molti sistemi fisici si determina

in modo empirico.

In molti processi, ovviamente, non ci si aspetta che le proprieta del pro-

cesso cambino sincronicamente con la durata dell’analisi di ogni unita, ne

che si osservino drastici cambiamenti da un’unita alla successiva, se non in

particolari casi. In molti casi, infatti, cio che si osserva e un cambiamen-

to di comportamento sequenziale: le proprieta del processo solitamente si

mantengono per un certo periodo di tempo e successivamente cambiano,

gradualmente o rapidamente, in un altro insieme di proprieta. Una rapp-

resentazione efficiente puo allora essere ottenuta utilizzando un modello di

intervallo di tempo comune per ogni parte stabile del segnale, con l’aggiun-

ta di una qualche caratterizzazione di come un tale periodo evolve verso il

successivo.

Ecco quindi che per modellare un mondo mutevole si usa una variabile

aleatoria per ogni aspetto del suo stato in ogni intervallo temporale. Le

relazioni tra queste variabili descrivono l’evoluzione dello stato. Il processo

di cambiamento puo essere visto come una serie di fotografie, ognuna delle

quali descrive lo stato in un particolare istante. Ogni fotografia contiene

un insieme di variabili aleatorie, alcune osservabili e altre no. Per semplic-

ita presumeremo che in ogni intervallo di tempo sia osservabile lo stesso

sottoinsieme di variabili e assumeremo che:

• i cambiamenti sono causati da un processo stazionario, ovvero che i

cambiamenti stessi sono regolati da leggi immutabili nel tempo;

• lo stato corrente dipende soltanto da una storia finita di stati prece-

denti; studieremo per semplicita la dipendenza di uno stato dal solo

stato precedente.

Da queste assunzioni nasce l’idea degli Hidden Markov Models (HMM),

processi doppiamente stocastici con un processo stocastico sottostante che

non e osservabile (hidden, nascosto), ma che puo solo essere osservato at-

traverso un altro insieme di processi stocastici che producono la sequenza di

simboli osservati.

Gli Hidden Markov Models furono originariamente introdotti nella let-

teratura statistica nel lontano 1957. In seguito furono usati con parziale

successo in varie applicazioni nel mondo dell’ingegneria a partire dalla fine

CAPITOLO 1. INTRODUZIONE 3

degli anni ’70. Alcune di questa applicazioni riguardano lo speech process-

ing e la codifica di sorgente. Recentemente, gli HMM sono stati utilizzati

anche in alcuni problemi di biologia computazionale, quali l’identificazione

dei geni di un organismo dal suo DNA e la classificazione di proteine in un

piccolo numero di famiglie.

Data la presenza nella letteratura di diverse definizioni di HMM, nel

capitolo 2 si considereranno le tre definizioni prevalenti, dimostrandone la

completa equivalenza dal punto di vista del potere espressivo.

In seguito nel capitolo 3 si analizzeranno i problemi di interesse per questi

modelli stocastici.

Infine nel capitolo 4 verranno offerti alcuni esempi di problemi ingegner-

istici affrontati attraverso gli HMM.

Capitolo 2

HMM: tre definizioni, un

unico concetto

In questo capitolo prenderemo in considerazione le tre diverse definizioni

di Hidden Markov Model che sono prevalenti in letteratura, e mostreremo

che sono tutte equivalenti tra loro in termini di potenza espressiva. In altre

parole, se un processo stocastico stazionario su un alfabeto finito ha uno dei

tre qualsiasi tipi di HMM, allora esso ha tutti e tre i tipi di HMM. Tuttavia,

la dimensione dello spazio degli stati e in generale differente nei tre tipi di

HMM. Sotto questo aspetto, la definizione di ‘processo di Markov congiunto’

e la piu economica in termini di dimensioni dello spazio degli stati, mentre

la definizione di ‘funzione deterministica di un processo di Markov’ e la piu

onerosa.

L’espressione ‘il processo stocastico ha un HMM’, utilizzata in preceden-

za e nel seguito, significa che ‘il processo stocastico puo essere rappresentato

attraverso un Hidden Markov Model’.

2.1 Le tre definizioni

La prima di questa definizioni e piuttosto popolare nell’ambito della

statistica.

Definizione 2.1.1. Sia {Yt} un processo stocastico stazionario con valori

in un insieme finito Y. Allora {Yt} ha un HMM del tipo ‘funzione deter-

ministica di una catena di Markov’ se esistono un processo di Markov {Xt}

4

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 5

con valori in un insieme finito X = {1, ..., N}, detto spazio degli stati, e una

funzione f : X→ Y tali che Yt = f(Xt).

Figura 2.1: HMM del tipo ‘funzione deterministica di una catena di Markov’.

Nel dettaglio: (a) spazio degli stati X e spazio dei simboli osservabili Y; (b) natu-

ra markoviana del processo nascosto; (c) generazione di natura deterministica dei

simboli osservabili a partire dagli stati nascosti; (d) una particolare realizzazione

dell’HMM in questione.

Si noti che l’esistenza di X ed f non e sempre verificata perche si vuole

uno spazio degli stati finito. Se e permesso uno spazio degli stati di cardi-

nalita infinita, allora si puo sempre costruire un HMM (del tipo ‘funzione

deterministica di una catena di Markov’).

La definizione che segue e invece molto popolare nell’ambito dell’ingeg-

neria.

Definizione 2.1.2. Sia N un numero intero finito. Allora {Yt} ha un HMM

del tipo ‘funzione stocastica di una catena di Markov’ se la legge di {Yt} e

la stessa del processo {Zt} ottenuto come specificato di seguito: esistono un

intero M e una coppia di matrici A ∈ [0, 1]N×N e B ∈ [0, 1]N×M tali che

valgono le proprieta:

1. A e stocastica per righe; in altre parole, ogni riga di A somma a uno.

2. B e stocastica per righe; in altre parole, ogni riga di B somma a uno.

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 6

3. Sia π ∈ [0, 1]N un vettore stocastico riga tale che π = πA. Sia {Xt}una catena di Markov con valori in X = {1, ..., N} con matrice di

transizione tra gli stati A e distribuzione iniziale π. Zt viene scelto in

modo aleatorio da M secondo la legge P (Zt = u|Xt = j) = bju.

Figura 2.2: HMM del tipo ‘funzione stocastica di una catena di Markov’. Nel

dettaglio: (a) spazio degli stati X e spazio dei simboli osservabili Y; (b) natura

markoviana del processo nascosto; (c) generazione di natura aleatoria dei simboli

osservabili a partire dagli stati nascosti; (d) particolare realizzazione dell’HMM in

questione.

In questo caso A e B costituiscono la matrice di transizione tra gli stati

e la matrice di output, rispettivamente, dell’HMM.

Infine introduciamo una definizione che si rivela molto utile dal punto

di vista teorico ed e la piu economica in termini di dimensioni dello spazio

degli stati.

Definizione 2.1.3. Sia {Yt} un processo stocastico stazionario sull’alfabeto

finito Y = {1, ...,M}. Il processo {Yt} ha un HMM del tipo ‘processo di

Markov congiunto’ se esiste un altro processo stocastico stazionario {Xt}su uno spazio degli stati finito X = {1, ..., N} tale che valgono le seguenti

proprieta:

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 7

1. Il processo congiunto {Xt, Yt} e di Markov. Percio

P(Xt = xt, Yt = yt|Xt−1 = xt−1, Yt−1 = yt−1, Xt−2 = xt−2, ...) =

= P(Xt = xt, Yt = yt|Xt−1 = xt−1, Yt−1 = yt−1).

2. Inoltre, e vero che

P(Xt = xt, Yt = yt|Xt−1 = xt−1, Yt−1 = yt−1) =

= P(Xt = xt, Yt = yt|Xt−1 = xt−1) ,

, m(yt)xt−1xt

.

Figura 2.3: HMM del tipo ‘processo di Markov congiunto’. Nel dettaglio: (a)

spazio degli stati X e spazio dei simboli osservabili Y; (b) natura markoviana del

processo nascosto; (c) visione delle transizioni da stato a stato del processo nascosto

e del processo congiunto.

Dalla definizione e chiaro che

P(Xt = xt|Xt−1 = xt−1, Xt−2 = xt−2, ...) =

= P(Xt = xt|Xt−1 = xt−1).

In altre parole, {Xt} e esso stesso un processo di Markov.

A questo punto e possibile definire le matrici M (u), u ∈ Y, di dimensione

N ×N , aventi come elementi proprio le probabilita m(u)ij . Definendo ora

aij ,∑u∈Y

m(u)ij ∀i, j.

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 8

e chiaro che la matrice N ×N avente come elementi i termini aij costituisce

proprio la matrice di transizione tra stati A del processo di Markov nascosto

{Xt}.

2.2 Equivalenza tra le definizioni

Dimostreremo ora che i tre modelli visti in precedenza sono equivalenti.

Lemma 2.2.1. Le seguenti affermazioni sono equivalenti:

1. Il processo {Yt} ha un HMM del tipo ‘funzione deterministica di una

catena di Markov’.

2. Il processo {Yt} ha un HMM del tipo ‘funzione stocastica di una catena

di Markov’.

3. Il processo {Yt} ha un HMM del tipo ‘processo di Markov congiunto’.

Dimostrazione. 1. ⇒ 2. Chiaramente ogni funzione deterministica di una

catena di Markov e anche una funzione ‘stocastica’ della stessa catena di

Markov, con ogni elemento di B uguale a zero o a uno. Per la precisione,

poiche X e Y sono insiemi finiti, la funzione f induce semplicemente una

partizione dello spazio degli stati X in M sottoinsiemi X1, ...,XM dove Xu ,

{j ∈ X : f (j) = u}. Quindi due stati in Xu sono indistinguibili attraverso

il processo di misurazione {Yt}. Poniamo ora bju = 1 se j ∈ Xu e zero

altrimenti.

2. ⇒ 3. Se {Yt} e modellato come un HMM rappresentabile da una

funzione stocastica del processo di Markov con {Xt} nel ruolo di catena

di Markov sottostante, allora il processo congiunto {(Xt, Yt)} e di Markov.

Infatti, se definiamo (Xt, Yt) ∈ X × Y, allora dalle condizioni dell’HMM ne

consegue che

P [(Xt+1, Yt+1) = (j, u) | (Xt, Yt) = (i, v)] = aijbju

Definiamo ora

M (u) := [aijbju] ∈ [0, 1]N×N .

Allora il processo {(Xt, Yt)} e di Markov, con matrice di transizione tra stati

data da M (1) M (2) . . . M (M)

......

......

M (1) M (2) . . . M (M)

.

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 9

Infine, si noti che P[(Xt+1, Yt+1) = (j, u)] dipende solo da Xt ma non da Yt.

Percio il processo congiunto {(Xt, Yt)} soddisfa tutte le condizioni richieste

per un modello HMM della tipologia ‘processo di Markov congiunto’.

3.⇒ 1. Sia {Xt} un processo di Markov tale per cui il processo congiunto

{(Xt, Yt)} sia anch’esso di Markov. Allora chiaramente {Yt} = f {(Xt, Yt)}per una funzione f opportuna, corrispondente alla proiezione su {Yt}. Percio

esso e anche un HMM rappresentabile da una funzione deterministica di una

catena di Markov.

2.3 Elementi, notazione e meccanismo di un HMM

Tra le definizioni presentate nelle sezioni precedenti, d’ora in poi con-

sidereremo la seconda definizione, che descrive un HMM come una fun-

zione stocastica di una catena di Markov. Nel seguito verranno quindi es-

posti nel dettaglio gli elementi e il meccanismo di questa tipologia di HMM

particolarmente utilizzata nel mondo dell’ingegneria.

Un HMM del tipo ‘funzione stocastica di una catena di Markov’ e costi-

tuito da diversi elementi; la notazione utilizzata sara la seguente:

• T : lunghezza della sequenza di osservazioni (numero totale di cicli di

clock).

• N : numero di stati (nascosti) nel modello.

• M : numero di distinti simboli osservabili.

• X = {1, 2, ..., N} : spazio degli stati nascosti.

• Y = {1, 2, ...,M} : spazio delle possibili osservazioni.

• π = (π1, π2, ..., πN ) : vettore probabilita degli stati iniziali.

• A =

a11 a12 . . . a1N...

......

...

aN1 aN2 . . . aNN

∈ RN×N : matrice di transizione tra gli

stati, con aij = P (Xt+1 = j|Xt = i).

• B =

ba11 b12 . . . b1M

......

......

bN1 bN2 . . . bNM

∈ RN×M : matrice di output, con

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 10

bij = P (Yt = j|Xt = i).

• Xk : variabile aleatoria rappresentante lo stato in cui il sistema si trova

al k-esimo ciclo di clock.

• Yk : variabile aleatoria rappresentante il simbolo osservato al k-esimo

ciclo di clock.

• xk : numero reale indicante lo specifico valore assunto dalla variabile

aleatoria Xk al k-esimo ciclo di clock; ovviamente xk ∈ X ∀k : 1 ≤k ≤ T .

• yk : numero reale indicante lo specifico valore assunto dalla variabile

aleatoria Yk al k-esimo ciclo di clock; ovviamente yk ∈ Y ∀k : 1 ≤k ≤ T .

Per questo tipo di modello faremo le seguenti assunzioni:

1. Gli stati nel modello sono presenti in un numero finito, che denoteremo

con N . Non definiremo rigorosamente cosa sono gli stati, ma diremo

semplicemente che all’interno di uno stato il segnale presenta alcune

proprieta misurabili e distintive.

2. A ogni ciclo di clock, t, si entra in un nuovo stato sulla base di una dis-

tribuzione delle probabilita di transizione che dipende solamente dallo

stato subito precedente (proprieta di Markov). Si noti che la tran-

sizione puo essere tale che il processo rimane nello stato precedente.

Con la notazione introdotta, si ha che:

P(Xt = xt|Xt−1 = xt−1, Xt−2 = xt−2, ...) =

= P(Xt = xt|Xt−1 = xt−1).

3. In seguito ad una transizione viene prodotto un simbolo di output os-

servabile in accordo a una distribuzione di probabilita che dipende sola-

mente dallo stato attuale. Tale distribuzione di probabilita rimane fis-

sa per un determinato stato, per cui ci sono N distribuzioni delle prob-

abilita di osservazione che rappresentano ovviamente variabili aleatorie

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 11

o processi stocastici. Formalmente:

P(Y1 = y1, Y2 = y2, ..., Yn = yn|X1 = x1, X2 = x2, ..., Xn = xn) =

= P(Y1 = y1|X1 = x1)P(Y2 = y2|X2 = x2)...P(Yn = yn|Xn = xn) =

=

n∏i=1

P(Yi = yi|Xi = xi).

In altre parole, la sequenza {Yn} e condizionatamente indipendente

dato {Xn}.

Si noti come la terza assunzione permetta di instaurare la seguente

equivalenza:

m(u)ij , P(Yt+1 = u,Xt+1 = j|Xt = i) =

= P(Yt+1 = u|Xt+1 = j,Xt = i)P(Xt+1 = j|Xt = i) =

= [assunzione 3] =

= P(Yt+1 = u|Xt+1 = j)P(Xt+1 = j|Xt = i) =

= aijbju.

Utilizzando il modello, una sequenza di T osservazioni {Y1 = y1, ..., YT = yT },esprimibile nella forma compatta

{Y T1 = yT1

}, e generata nel modo seguente:

1. Si sceglie uno stato iniziale, x1, secondo la distribuzione iniziale π ;

2. Si pone t = 1 ;

3. L’uscita yt si ottiene in accordo con bxtyt , la distribuzione di probabilita

delle osservazioni per lo stato xt ;

4. La transizione allo stato xt+1 all’istante t + 1 e legata ad axtxt+1 , la

distribuzione di probabilita di transizioni tra stati per lo stato xt ;

5. Si pone t = t+ 1 ; si ritorna al punto 3 se t < T ; altrimenti si termina

la procedura.

Nel seguito spesso si utilizzera la notazione compatta λ = (A,B, π) per

rappresentare un HMM. La specificazione di un HMM coinvolge la scelta

di un numero di stati, N , e di un numero di simboli discreti M : la scelta

fatta in sede di spiegazione della notazione di etichettare gli stati con dei

numeri, avendo quindi a che fare con un X = {1, 2, ..., N} piuttosto che

con un X = {x1, x2, ..., xN}, si giustifica quindi col fatto che l’interesse e

CAPITOLO 2. HMM: TRE DEFINIZIONI, UN UNICO CONCETTO 12

per il numero di stati e non per la natura degli stati, e che un’espressione

dello spazio di stato del secondo tipo avrebbe inutilmente appesantito la

notazione.

Capitolo 3

Problemi collegati agli HMM

3.1 I tre problemi per gli HMM

Dato un HMM descritto come nell’ultima parte del precedente capitolo,

esistono tre problemi di interesse che devono essere risolti per il modello per

risultare utile nelle applicazioni del mondo reale. Questi problemi sono i

seguenti:

1. Trovare la probabilita di una sequenza osservata dato un HMM (val-

utazione).

2. Trovare la sequenza di stati nascosti che piu probabilmente ha generato

una sequenza osservata (decodifica).

3. Identificare i parametri (A,B, π) di un HMM data una sequenza di

osservazioni (addestramento).

Il problema di valutazione piu essere tradotto nel seguente modo: data

una sequenza di osservazioni{Y T1 = yT1

}e il modello λ = (A,B, π), si chiede

di calcolare P(Y T1 = yT1 |λ

). Visto in un altro modo, dato il modello e una

sequenza di osservazioni si chiede di valutare il modello. L’ ultimo punto di

vista risulta molto utile: se si pensa al caso in cui si ha a che fare con molti

modelli in competizione, la soluzione al problema 1 consente di scegliere il

modello che si accorda nel miglior modo con le osservazioni. Per calcolare

la probabilita di una sequenza di osservazioni dato un particolare HMM,

e quindi scegliere il piu probabile HMM, possono essere utilizzati in modo

efficiente vari algoritmi ricorsivi, quali il forward, il backward e il forward-

backward.

13

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 14

Il problema di decodifica consiste nel trovare la sequenza di stati piu

probabile date certe osservazioni: data una sequenza di osservazioni{Y T1 = yT1

}si chiede di scegliere una sequenza di stati

{XT

1 = xT1}

che e in un certo sen-

so ottimale. Questo e un tipico problema di stima. Solitamente si usa un

criterio di ottimizzazione per risolvere questo problema nel miglior modo

possibile. Sfortunatamente, come vedremo, ci sono molti possibili criteri di

ottimizzazione che possono essere imposti e quindi la decisione del model-

lo e in forte collegamento con l’uso che si vuol fare della sequenza di stati

nascosti. Un tipico uso della sequenza di stati nascosti e di comprendere

la struttura del modello, e di ottenere medie statistiche, comportamento,

etc. all’interno dei singoli stati. Per determinare la piu probabile sequenza

di stati nascosti data una sequenza di osservazioni si utilizza l’algoritmo di

Viterbi.

Il problema di identificazione consiste nell’aggiustare i parametri del

modello λ = (A,B, π) al fine di massimizzare P(Y T1 = yT1 |λ

). Esso e cru-

ciale per moltissime applicazioni e, senza dubbio, il piu difficile da risolvere.

Qualora le matrici A e B non siano direttamente (empiricamente) misura-

bili, come molto spesso avviene nel caso di applicazioni reali, si utilizza

l’algoritmo forward-backward.

3.2 Problema di valutazione

L’obiettivo del problema di valutazione e di calcolare la probabilita di

una sequenza di osservazioni dato un Hidden Markov Model; si vuole cioe de-

terminare P(Y T1 = yT1

∣∣λ) con ovviamente i parametri del modello (A,B, π)

noti.

3.2.1 Calcolo diretto

Il modo piu diretto per raggiungere tale obiettivo consiste nel numerare

tutte le possibili sequenze di stati di lunghezza T (il numero di osservazioni).

Per ogni singola sequenza {X1 = x1, X2 = x2, ..., XT = xT }, che in forma

compatta puo essere indicata come{XT

1 = xT1}

, la probabilita di osservare

una sequenza{Y T1 = yT1

}e P(Y T1 = yT1 |XT

1 = xT1 , λ), dove

P(Y T1 = yT1 |XT

1 = xT1 , λ)

= bx1y1bx2y2 ...bxT yT

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 15

La probabilita di una tale sequenza di stati XT1 = xT1 , d’altra parte, e data

da

P(XT

1 = xT1 |λ)

= πx1ax1x2ax2x3 ...bxT−1xT

La probabilita congiunta di Y T1 = yT1 e XT

1 = xT1 , cioe la probabilita che

Y T1 = yT1 e XT

1 = xT1 abbiano luogo contemporaneamente, e data semplice-

mente dal prodotto tra i due termini sopra: P(Y T1 = yT1 , X

T1 = xT1 |λ

)=

P(Y T1 = yT1 |XT

1 = xT1 , λ)P(XT

1 = xT1 |λ). La probabilita di Y T

1 = yT1 si ot-

tiene quindi sommando questa probabilita congiunta su tutte le possibili

sequenze di stati:

P(Y T1 = yT1 |λ

)=∑∀xT

1

P(Y T1 = yT1 |XT

1 = xT1 , λ)

P(XT

1 = xT1 |λ)

=∑

∀x1,x2,...,xT

πx1bx1y1ax1x2bx2y2 ...axT−1xT bxT yT

L’interpretazione del calcolo mostrato e la seguente. Inizialmente (all’istante

t = 1) ci si trova nello stato x1 con probabilita πx1 , e viene generato il

simbolo y1 con probabilita bx1y1 . In seguito si compie la transizione allo

stato x2 con probabilita ax1x2 e viene generato il simbolo y2 con probabilita

bx2y2 . Questo processo continua fino a quando avviene l’ultima transizione

dallo stato xT−1 allo stato xT con probabilita axT−1xT e si genera il simbolo

yT con probabilita bxT yT . Una breve riflessione dovrebbe convincere il lettore

che il calcolo di P(Y T1 = yt1|λ

)attraverso il calcolo diretto appena trattato

richiede un numero di calcoli dell’ordine di 2T ·NT , poiche ad ogni istante

t = 1, 2, ..., T ci sono N stati a cui e possibile andare e per ogni addendo

della sommatoria sono richiesti circa 2T calcoli. (Per la precisione, occorrono

(2T − 1))NT moltiplicazioni e NT − 1 addizioni.) Una richiesta del genere

e computazionalmente inattuabile, anche per piccoli valori di N e T ; per

esempio con N = 5 e T = 100 si arriva a un ordine di 2 · 100 · 5100 ≈ 1072

calcoli! Chiaramente e necessaria una procedura piu efficiente in grado di

risolvere il problema 1. Una tale procedura esiste ed e nota col nome di

forward-procedure.

3.2.2 Forward-procedure

In questa sezione verra analizzata la forward-procedure (letteralmente

‘procedura in avanti’), che permette di calcolare la probabilita di una se-

quenza osservata in modo ricorsivo.

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 16

Si consideri la variabile-forward αt(xt) definita come:

αt(xt) , P(Y t1 = yt1, Xt = xt|λ

)rappresentante cioe la probabilita della parziale sequenza di osservazioni

(fino all’istante t) e dello stato xt, dato il modello λ. A questo punto si puo

risolvere il problema attraverso αt(xt) in modo induttivo con la seguente

procedura:

1. α1(x1) = πx1bx1y1 1 ≤ x1 ≤ N

2. per t = 1, 2..., T − 1 1 ≤ xt+1 ≤ N

αt+1(xt+1) =

(N∑

xt=1

αt(xt)axtxt+1

)bxt+1yt+1

3. infine, P(Y T1 = yT1 |λ

)=∑N

xT=1 αT (xT ) .

Figura 3.1: Sequenza di operazioni richieste per il computo della variabile-forward

αt+1(j).

Il passo 1 da inizio alle probabilita-forward con la probabilita congiunta

dello stato X1 = x1 e dell’osservazione iniziale Y1 = y1.

Il passo 2 consiste nel tener conto di come lo stato xt+1 possa essere rag-

giunto dagli N possibili stati xt, xt = 1, 2, ..., N , all’istante t. Poiche αt(xt)

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 17

e la probabilita congiunta di osservare la sequenza Y t1 = yt1 e di trovarsi

nell’istante t nello stato xt, allora il prodotto αt(xt)axtxt+1 e la probabilita

congiunta di osservare la sequenza Y t1 = yt1 e di trovarsi nell’istante t + 1

nello stato xt+1 giungendo dallo stato xt. Sommando questo prodotto su

tutti gli N possibili stati xt all’istante t, con xt = 1, 2, ..., N , si ottiene la

probabilita di trovarsi in xt+1 all’istante t + 1 e, congiuntamente, di aver

osservato la parziale sequenza di osservazioni suddetta (probabilita totale).

Fatto cio e noto xt+1, e facile constatare che αt+1(xt+1) si ottiene moltipli-

cando la somma appena vista per la probabilita di osservare Yt+1 = yt+1

dato lo stato Xt+1 = xt+1, vale a dire bxt+1yt+1 .

Infine il passo 3 permette di calcolare P(Y T1 = yT1 |λ

)attraverso la sem-

plice somma delle variabili-forward finali αT (xT ). Esso consiste infatti nel-

l’applicazione del teorema della probabilita totale: poiche gli eventi XT =

1, XT = 2, ..., XT = N sono disgiunti e formano una partizione dello spazio

campionario, si ha che:

P(Y T1 = yT1 |λ) = =

N∑i=1

P(Y T1 = yT1 , XT = i|λ)

dove appunto P(Y T1 = yT1 , XT = i|λ) costituisce αT (i).

Se si vuole esaminare la complessita di computazione richiesta dalla pro-

cedura si vede che per il calcolo di αt(xt), per 1 ≤ t ≤ T e 1 ≤ xt ≤ N ,

e richiesto un numero di calcoli dell’ordine di N2T , contro i 2TNT richi-

esti dal calcolo diretto. (Per la precisione, occorrono N(N + 1)(T − 1) +N

moltiplicazioni e N(N−1)(T −1) addizioni.) Per N = 5, T = 100 occorrono

circa 3000 computazioni per la forward-procedure contro i 1072 per il calcolo

diretto, un risparmio di circa 69 ordini di grandezza!

3.2.3 Backward-procedure

La probabilita di una sequenza osservata puo essere calcolata anche me-

diante la backward-procedure (letteralmente ‘procedura all’indietro’), un

modo analogo, e per certi versi duale, alla forward-procedure appena vista.

Definiamo la variabile βt(xt):

βt(xt) , P(Y Tt+1 = yTt+1|Xt = xt, λ)

rappresentante la probabilita di una sequenza di osservazioni parziale dal-

l’istante t + 1 fino alla fine, dati lo stato xt all’istante t e il modello λ. Si

puo trovare βt(xt) per ogni istante e per ogni stato in modo induttivo:

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 18

1. βT (xT ) = 1 1 ≤ xT ≤ N

2. per t = T − 1, T − 2, ..., 1 1 ≤ xt+1 ≤ N

βt(xt) =

N∑xt+1=1

axtxt+1bxt+1yt+1

3. infine, P(Y T1 = yT1 |λ

)=∑N

x1=1(β1(x1)πx1) .

Figura 3.2: Sequenza di operazioni richieste per il computo della variabile-backward

βt(i).

Il passo 1 definisce in modo arbitrario βT (xT ) qualsiasi sia xT .

Il passo 2 mostra che per essere nello stato xt all’istante t e per tener conto

del resto della sequenza di osservazioni si deve compiere una transizione

ad ognuno degli N possibili stati all’istante t + 1, tener conto del simbolo

osservato yt+1 all’istante t+ 1 e infine considerare il resto della sequenza di

osservazioni.

Il passo 3 consiste nell’applicazione del teorema della probabilita totale:

poiche gli eventi X1 = 1, X1 = 2, ..., X1 = N sono disgiunti e formano una

partizione dello spazio campionario, si ha che:

P(Y T1 = yT1 |λ) =

= P(Y T1 = yT1 , X1 = 1|λ) + P(Y T

1 = yT1 , X1 = 2|λ) + ...+ P(Y T1 = yT1 , X1 = N |λ) =

= P(Y T1 = yT1 |X1 = 1, λ)P(X1 = 1|λ) + ...+ P(Y T

1 = yT1 |X1 = N,λ)P(X1 = N |λ)

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 19

dove appunto P(Y T1 = yT1 |X1 = i, λ)P(X1 = i|λ) costituisce β1(i) e i termini

P (X1 = i|λ) sono rappresentati da πi.

Ancora una volta il calcolo di βt(xt) per 1 ≤ t ≤ T e 1 ≤ xt ≤ N richiede

un numero di calcoli dell’ordine di N2T .

3.2.4 Forward-backward procedure

Infine il problema di valutazione puo essere risolto con una procedura che

utilizza entrambe le variabili forward e backward precedentemente definite.

L’idea e di utilizzare ancora una volta il teorema della probabilita totale,

applicato sui valori assunti dalla variabile Xt al generico istante t. Supponi-

amo dunque che il processo di Markov nascosto assuma nell’istante t il valore

xt. Si ha che:

P(Y1 = y1, Y2 = y2, ..., YT = yT , Xt = xt|λ) =

= P(Y t1 = yt1, Y

Tt+1 = yTt+1, Xt = xt|λ) =

= P((Y t1 = yt1, Xt = xt), Y

Tt+1 = yTt+1|λ) =

= P(Y t1 = yt1, Xt = xt|λ)P(Y T

t+1 = yTt+1|Y t1 = yt1, Xt = xt, λ) =

= P(Y t1 = yt1, Xt = xt|λ)P(Y T

t+1 = yTt+1|Xt = xt, λ)

dove a questo punto il primo fattore coincide con αt(xt) e il secondo con

βt(xt).

Per la probabilita totale:

P(Y T1 = yT1 |λ) =

=

N∑xt=1

P(Y T1 = yT1 , Xt = xt|λ) =

=N∑

xt=1

[αt(xt)βt(xt)]

3.3 Problema di decodifica

Il problema di decodifica consiste nel trovare la piu probabile sequenza

di stati nascosti: preso un HMM, si vuole determinare da una sequenza di

osservazioni la sequenza di stati nascosti sottostante che piu probabilmente

potrebbe averla generata.

Si puo trovare la sequenza piu probabile di stati nascosti elencando tutte

le possibili sequenze di stati nascosti e trovando la probabilita della sequenza

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 20

osservata per ogni combinazione. La sequenza piu probabile di stati nascosti

XT1 = xT1 sara tale che:

xT1 = arg maxx1,x2,...,xT

P(Y T1 = yT1 |XT

1 = xT1 , λ)

Questa via e praticabile, ma trovare la sequenza piu probabile calcolando in

modo esaustivo ogni combinazione e computazionalmente molto dispendioso.

Come nella forward-procedure, si puo sfruttare la tempo invarianza delle

probabilita per ridurre la complessita del calcolo.

3.3.1 Riduzione della complessita attraverso la ricorsione

Vediamo ora come trovare in modo ricorsivo la piu probabile sequenza

di stati nascosti data una sequenza di osservazioni e un HMM.

Lo scopo e di trovare la sequenza di stati ottimale associata ad una data

sequenza di osservazioni. Poiche vi sono molti possibili criteri di ottimiz-

zazione, esistono molteplici modi per risolvere tale questione. Uno dei pos-

sibili criteri di ottimizzazione e di scegliere gli stati xt al variare dell’istante

t che sono singolarmente i piu probabili.

In tale direzione risulta utile definire la variabile γt(xt):

γt(xt) , P(Xt = xt|Y T1 = yT1 , λ)

indicante la probabilita di trovarsi nello stato xt all’istante t, data l’intera

sequenza di osservazioni e il modello λ. Una breve riflessione porta a verifi-

care che γt(xt) e banalmente esprimibile in funzione della variabile forward

α·(·) e della variabile backward β·(·) nel seguente modo:

γt(xt) =αt(xt)βt(xt)

P(Y T1 = yT1 |λ)

poiche αt(xt) tiene conto delle osservazioni Y1 = y1, Y2 = y2, ..., Yt = yt e del-

lo statoXt = xt, mentre βt(xt) considera Yt+1 = yt+1, Yt+2 = yt+2, ..., YT = yT

dato lo stato Xt = xt. Il denominatore P(Y T1 = yT1 |λ) costituisce sem-

plicemente il fattore di normalizzazione, rendendo γt(xt) una probabilita

condizionata, soddisfacente quindi∑N

xt=1 γt(xt) = 1.

Utilizzando γt(xt), lo stato individualmente piu probabile xt all’istante

t e:xt = arg max

xt=1,2,...,N[γt(xt)] 1 ≤ t ≤ T

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 21

Potrebbero tuttavia esserci dei problemi con il criterio e la soluzione visti

sopra. Quando ci sono transizioni non permesse, ovvero axtxt+1 = 0 per

qualche xt e xt+1, la sequenza di stati ottenuta potrebbe essere infatti una

sequenza di stati impossibile. La soluzione proposta infatti determina sem-

plicemente lo stato piu probabile di volta in volta senza considerare la strut-

tura globale del traliccio, gli stati raggiungibili da uno stato, e la lunghezza

della sequenza di osservazioni. Comunque e ancora utile dal momento che

nella pratica simili situazioni indesiderabili non sempre avvengono.

Lo svantaggio dell’approccio trattato e quindi la necessita di vincoli

globali di qualche tipo sulla sequenza di stati ottimale trovata. Quasi ba-

nalmente, un criterio di ottimizzazione di questo tipo e trovare il miglior

cammino singolo con la piu alta probabilita, ovvero massimizzare P(Y T1 =

yT1 , XT1 = xT1 |λ). Una tecnica formale per trovare questa miglior sequenza

di stati singola esiste ed e nota col nome di algoritmo di Viterbi.

3.3.2 Algoritmo di Viterbi

I passi formali nell’algoritmo di Viterbi per trovare la singola sequenza

di stati migliore sono i seguenti:

1. Inizializzazione.

δ1(x1) = πx1bx1y1 1 ≤ x1 ≤ N

ψ1(x1) = 0

2. Ricorsione.

Per 2 ≤ t ≤ T e 1 ≤ xt ≤ N

δt(xt) = max1≤xt−1≤N

[δt−1(xt−1)axt−1xt ]bxtyt

ψt(xt) = arg max1≤xt−1≤N

[δt−1(xt−1)axt−1xt ]

3. Fine.P = max

1≤xT≤N[δT (xT )]

xT = arg max1≤xT≤N

[δT (xT )]

4. Cammino all’indietro.

Per t = T − 1, T − 2, ..., 1

xt = ψt+1(xt+1)

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 22

L’algoritmo di Viterbi e simile, a parte i passi di cammino all’indietro, alla

procedura forward-backward; la differenza piu sostanziale riguarda la mas-

simizzazione, non piu la somma, sugli stati precedenti. Ancora una volta

una struttura a traliccio implementa in modo efficiente la computazione.

3.4 Problema di addestramento

Il terzo problema consiste nell’aggiustare i parametri del modello (A,B, π)

al fine di massimizzare P(Y T1 = yT1 |λ), la probabilita di una sequenza di os-

servazioni dato il modello. Questo e senza dubbio il problema piu complesso

dei tre che abbiamo trattato. Non vi e alcuna via nota per risolvere un

problema di massima verosimiglianza in modo analitico. Il risultato e tut-

tavia ottenibile mediante metodi di discesa del gradiente ottenendo quindi

un minimo (massimo) locale e non globale. Molto spesso la computazione

del gradiente e piuttosto difficoltosa, per cui la discesa avviene mediante

algoritmi approssimati come il random direction descent o il line search.

L’algoritmo piu utilizzato, che comunque fornisce massimi locali, e basato

su Expectation-Maximization o semplicemente EM, ed e il Baum-Welch.

Prima di affrontare l’algoritmo di Baum-Welch, definiamo ξt(xt, xt+1)

come la probabilita di essere nello stato xt al tempo t e nello stato xt+1 al

tempo t+ 1, dati modello ed osservazioni; formalmente:

ξt(xt, xt+1) , P(Xt = xt, Xt+1 = xt+1|Y T1 = yT1 , λ).

Possiamo esprimere questa probabilita come:

ξt(xt, xt+1) =αt(xt)axtxt+1bxt+1yt+1βt+1(xt+1)

P(Y T1 = yT1 , λ)

dove αt(xt) tiene conto delle prime t osservazioni terminando allo stato xt al

tempo t, il termine axtxt+1bxt+1yt+1 coincide con la transizione allo stato xt+1

all’istante t + 1 e dell’occorrenza del simbolo osservabile yt+1, e βt+1(xt+1)

tiene conto della rimanente parte della sequenza di osservazioni. Il denom-

inatore P(Y T1 = yT1 |λ) =

∑xt

∑xt+1

αt(xt)axtxt+1bxt+1yt+1βt+1(xt+1) serve

per normalizzare ξt(xt, xt+1).

Ricordando la definizione di γt(xt) come la probabilita di essere nel-

lo stato xt al tempo t, possiamo scrivere γt(xt) in funzione di ξt(xt, xt+1)

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 23

Figura 3.3: Sequenza di operazioni richieste per il computo della variabile ξt(i, j).

sommando ξt(xt, xt+1) tra tutti i possibili xt+1:

γt(xt) =N∑

xt+1=1

ξt(xt, xt+1)

Se si somma γt(i) sopra l’indice di tempo t si ottiene una quantita inter-

pretabile con il numero atteso di volte (nel tempo) che lo stato i viene

visitato o, equivalentemente, il numero atteso di transizioni fatte dallo stato

i nella somma se si esclude l’ultimo istante, T . Analogamente, sommando

ξt(i, j) su t (da t = 1 a t = T ) si ottiene il numero atteso di transizioni dallo

stato i allo stato j. In formule:

T−1∑t=1

γt(i) = valore atteso di transizioni fatte da i

T−1∑t=1

ξt(i, j) = valore atteso di transizioni dallo stato i allo stato j

Utilizzando queste formule e il concetto di conteggio delle occorrenze di un

evento si puo utilizzare il metodo di Baum-Welch per ottenere una stima

migliore dei parametri dell’HMM.

3.4.1 Metodo di Baum-Welch

Le formule per ottenere iterativamente una stima migliore dei parametri

λ′ = (A′, B′, π′) partendo da una precedente stima λ = (A,B, π) sono:

CAPITOLO 3. PROBLEMI COLLEGATI AGLI HMM 24

1.π′i = probabilita di essere nello stato i all’istante t = 1

= γ1(i)

2.

a′ij =valore atteso di transizioni dallo stato i allo stato j

valore atteso di transizioni dallo stato i

=T−1∑t=1

ξt(i, j)/T−1∑t=1

γt(i)

3.

b′jk =valore atteso di volte nello stato j e simbolo osservato k

valore atteso di volte nello stato j

=T∑

t=1 , Yt=k

γt(j)/T∑t=1

γt(j)

A questo punto delle due l’una:

• Il modello iniziale λ = (A,B, π) definisce un punto critico della fun-

zione di verosimiglianza, nel qual caso λ′ = λ.

• Il modello λ′ e piu probabile, nel senso che P(Y T1 = yT1 |λ′) > P(Y T

1 =

yT1 |λ). In altre parole, il nuovo modello λ′ = (A′, B′, π′) ha con maggior

probabilita prodotto la sequenza di osservazioni.

In conclusione, se si usa iterativamente λ′ al posto di λ e si esegue una nuova

stima, si puo migliorare la probabilita delle osservazioni a partire dal modello

fino al raggiungimento di un certo punto limite. Il risultato ottenuto sara la

miglior stima del modello.

Capitolo 4

Esempi di applicazione degli

HMM

4.1 Riconoscimento vocale

Il primo esempio si rifa al lavoro di Rabiner e Juang [1]: gli HMM ven-

gono utilizzati per costruire un riconoscitore di singole parole. Utilizzando

una notazione simile a quella vista nei capitoli precedenti, supponiamo di

avere un vocabolario di N parole da riconoscere. A disposizione si hanno un

training set di M simboli osservabili per ogni parola (pronunciata da una o

piu persone) e un test set indipendente.1 Per poter avere un riconoscimento

vocale si eseguono i seguenti punti:

1. Si costruisce un HMM per ogni parola nel vocabolario. Si utilizzano le

osservazioni dall’insieme di M simboli per stimare i parametri ottimi

per ogni parola, ottenendo cosı il modello λn per l’ n-esima parola del

vocabolario, 1 ≤ n ≤ N .

2. Per ogni parola sconosciuta del test set, caratterizzata da una sequen-

za di osservazioni Y1 = y1, Y2 = y2, ..., YT = yT , e per ogni modello di

parola, λn, si calcola Pn = P(Y T1 = yT1 |λn) secondo la procedura vista

nel capitolo 3.

3. Si sceglie la parola il cui modello ha probabilita maggiore:

n = arg max1≤n≤N

Pn

1Il training set e l’insieme di esempi utilizzati per addestrare il sistema, mentre il test

set e l’insieme di esempi utilizzati per valutare le prestazioni del sistema.

25

CAPITOLO 4. ESEMPI DI APPLICAZIONE DEGLI HMM 26

Struttura della catena di Markov Per il riconoscimento della parola

nel caso in cui gli istanti di inizio e fine pronuncia siano approssimativamente

noti risulta vantaggioso utilizzare un HMM con matrice di transizione tra

gli stati non completa.

Cio e reso possibile dal fatto che per la pronuncia delle singole parole la

natura progressiva della sequenza di stati e abbastanza univoca e il numero

di stati necessari per ogni modello di parola e solitamente maneggevole.

Se l’obiettivo fosse quello di modellare un segnale vocale corrispondente

ad un’intera conversazione tali semplificazioni sul modello potrebbero non

essere adeguate.

Facendo corrispondere molto semplicemente gli stati ai suoni presenti

nella parola, e chiaro che la natura sequenziale del processo di cambiamento

dei suoni pronunciati ritrova una perfetta corrispondenza nella struttura

markoviana attraverso cui si cerca di modellarli.

Informazione di durata Poiche gli HMM permettono di eseguire una

vera e propria segmentazione (utilizzando la soluzione al problema 2), al

fine di riconoscere la parola risulta molto utile l’analisi della permanenza,

in termini di tempo, in un certo stato. Essendo approssimativamente noti

gli istanti iniziale e finale della pronuncia della parola, per ogni modello

di parola tale informazione di durata e spesso rappresentata in una forma

normalizzata: Pj(I|T ) equivale alla probabilita di essere nello stato j per

esattamente gli I/T della parola, dove T e il numero di frame nella parola

e I il numero di frame spesi nello stato j.

4.2 Computer Vision

Oltre che nel campo della speech recognition gli HMM risultano molto

utili anche in diverse applicazioni di Computer Vision. L’approccio basato

sugli HMM fornisce un’intrinseca sequenzialita temporale alla rappresen-

tazione del sistema e si e dimostrato efficace, per esempio, per il riconosci-

mento di modelli spaziali 1- o 2-D: la flessibilita data dall’addestramento per-

mette al modello di apprendere le dinamiche che sottendono effettivamente

i dati piuttosto che quelle immaginate dal programmatore.

Una possibile applicazione potrebbe essere il riconoscimento della po-

sizione di un viso posto di fronte ad una webcam, come descritto nell’elabo-

CAPITOLO 4. ESEMPI DI APPLICAZIONE DEGLI HMM 27

rato di Belardinelli [5], che prende spunto dal lavoro di Rao, Schon, Meltzoff

[6].

Segmentazione Il primo problema da affrontare e l’identificazione del-

la zona dei frame contenente il viso da seguire. Per poter individuare in

maniera automatica questa zona, isolandola dallo sfondo e da altri elementi

presenti sulla scena, si procede alla segmentazione dei frame di interesse:

questa operazione separa gruppi di oggetti in partizioni tali che gli elementi

all’interno di un cluster siano il piu vicini possibile gli uni agli altri e il piu

lontano possibile dagli elementi degli altri cluster.

Metrica per i movimenti Una volta individuato l’oggetto da seguire

ci si pone il problema di introdurre una metrica adatta alla descrizione

degli spostamenti, al fine di ottenere dei dati che rappresentino in maniera

consistente le dinamiche oggetto dell’apprendimento. Si puo quindi scegliere

di constatare gli spostamenti relativi dell’oggetto segmentato ad intervalli

regolari in ogni video.

Modellazione con HMM A questo punto si possono individuare gli el-

ementi costitutivi di un HMM rispetto al sistema in esame: gli stati sono

costituiti da un insieme di movimenti della testa discretizzati, per esempio:

fermo, destra, destra-in alto, alto, sinistra-in alto, sinistra, sinistra-in bas-

so, in basso, destra-in basso; le osservazioni possono essere costituite da

una coppia di simboli dell’alfabeto {+,−,=} indicanti la variazione rispetto

all’asse x e rispetto all’asse y rispetto al frame precedente; la matrice di

transizione potrebbe essere inizializzata privilegiando lo stato di immobilita

e le traslazioni verso destra e verso sinistra, ritenute gli stati piu frequenti; la

matrice di output parimenti puo essere inizializzata assegnando, per esempio,

una probabilita piu alta alla coppia (−,=), corrispondente ad una’avvenu-

ta traslazione verso sinistra, qualora lo stato che l’ha prodotta sia appunto

quello corrispondente alla posizione ‘a sinistra’; distribuzione di probabilita

a priori degli stati si puo assumere, per esempio, con una componente piu

elevata per una zona centrale e con componenti piu basse per gli angoli.

Addestramento Infine la fase di addestramento consiste in una prima

operazione di stima delle matrici delle transizioni e di output, per esempio

con il calcolo del Maximum Likelihood delle stesse partendo dalle matrici

CAPITOLO 4. ESEMPI DI APPLICAZIONE DEGLI HMM 28

viste sopra ed basandosi sulla sequenza di emissioni (derivate dal vettore di

spostamenti prodotto dalla segmentazione) e sulla sequenza di stati effettiva

(desunti per ispezione visiva dalla sequenza di frame), e, come seconda oper-

azione, la fase di vero addestramento delle matrici in base a un training set

che si suppone dato, utilizzando per esempio uno stimatore Maximum Like-

lihood dei parametri del modello che fa uso dell’algoritmo di Baum-Welch e

fornendo come parametri iniziali le matrici trovate con l’operazione di stima.

4.3 Biologia

Gli HMM applicati al data mining 2 sono spesso usati nella bioinformat-

ica. Nel seguito prenderemo in considerazione l’attivita di riconoscimento e

confronto di sequenze proteiche, ben descritto nell’elaborato di Marin [3].

Una proteina e descritta da una sequenza di amminoacidi, che costitu-

iscono un alfabeto di simboli finito. Tuttavia, da una parte non siamo certi

che le sequenze di amminoacidi che studiamo non contengano errori, dall’al-

tra accade talvolta che un amminoacido, su due proteine con la medesima

funzione, possa prendere il posto di un altro.

Database mining e classificazione Se prendiamo un modello HMM ad-

destrato possiamo utilizzarlo per trovare in un database sequenze simili a

quelle utilizzate per l’addestramento: poiche tutte le proteine di una stessa

famiglia sono associate ad una sequenza di amminoacidi simile, risulta possi-

bile addestrare un modello su un training set di sequenze note appartenenti

ad una stessa famiglia e quindi ricercare in una sequenza di amminoacidi (o

un suo frammento) la codifica di proteine appartenenti alla stessa famiglia

con un certo grado di probabilita.

Per quanto riguarda la classificazione e possibile addestrare un modello

per ogni famiglia di proteine, e quindi associare alla sequenza di amminoaci-

di una probabilita di appartenenza ad una certa famiglia. In questo caso

il problema e quello di disporre di un training set sufficientemente ampio

da rendere significativa questa operazione. Si supponga di avere N classi di

oggetti all’interno di un database, con N incognito. Si ha una rappresen-

tanza sufficiente come training set per M classi di oggetti; a questo punto si

2Per data mining si intende il processo di estrazione di un sapere o di una conoscenza

a partire da grandi quantita di dati (attraverso metodi automatici o semi-automatici) e

l’utilizzazione industriale o operativa di questo sapere.

CAPITOLO 4. ESEMPI DI APPLICAZIONE DEGLI HMM 29

effettua l’addestramento di M modelli, ciascuno con il training set associato

ad una delle classi note. Risulta ora possibile sia classificare le sequenze di

amminoacidi presenti nel database in base agli M modelli noti, sia raggrup-

pare le rimanenti sequenze non classificate in base agli score (normalizzati)

ottenuti; l’idea e che se due sequenze di amminoacidi ottengono punteggi

simili sugli stessi modelli, allora e probabile che appartengano ad una stessa

famiglia. Naturalmente maggiore e il numero M di classi noti nel training

set, migliori saranno i risultati derivanti dall’applicazione di questa tecnica.

Vediamo ora due esempi specifici.

HMM per il DNA Il primo esempio e tratto dal lavoro di Churcill [7]:

il DNA e una sequenza di basi che possono essere etichettate con le lettere

A,C,G,T. Per alcune analisi di sequenziamento si e osservato che i segmenti

alternano sezioni in cui sono presenti prevalentemente la basi A-T (stato

1) e sezioni in cui sono presenti prevalentemente la basi G-C (stato 2). Le

uscite sono dunque sequenze di singole basi azotate, mentre ogni stato e un

insieme di basi azotate in sequenza. Il problema consiste nel capire quando ci

si trova, analizzata una sequenza, nello stato 1 o 2. Churchill ha sviluppato

sulla base di osservazioni sperimentali, l’HMM di figura 4.1, costruito sulla

base di addestramento ed informazioni biologiche.

Figura 4.1: Catena di Markov presente nell’HMM per il riconoscimento del DNA

di Churchill.

In questo caso l’HMM e stato utile perche ha permesso di intrecciare

facilmente le informazioni ottenute dall’addestramento a quelle note per altri

studi propri della biologia.

Gestione di inserzioni o cancellazioni Il secondo esempio evidenza

come gli HMM diventino utili in quei casi in cui si vuole avere uno stret-

CAPITOLO 4. ESEMPI DI APPLICAZIONE DEGLI HMM 30

to controllo sulle penalita da assegnare alle inserzioni o alle cancellazioni

nel riconoscimento della sequenza. Intuitivamente con gli HMM riusciamo

a trattare variazioni diverse sui pattern in modo diverso, e questo li rende

estremamente flessibili. Una proteina e codificata da amminoacidi che cos-

tituiscono un alfabeto di venti simboli: per ragioni biologiche, ma anche

per errori nel campionamento, due proteine con medesima funzione possono

differire nella loro sequenza per:

• sostituzione di un amminoacido con uno simile (tabelle di sostituzione

danno il grado di similarita degli amminoacidi);

• inserzione di un amminoacido;

• eliminazione di un amminoacido.

Naturalmente piu dissimilarita presentano due sequenze, meno probabilita

vi e che appartengano alla stessa famiglia di proteine. Una tecnica consiste

nel definire per ogni Matching anche uno stato di cancellazione e uno di

inserzione. Per ogni transizione verso questi stati si definiscono probabilita

basse; inoltre per gli stati di Matching e di inserzione si definiscono le prob-

abilita di emissione di amminoacidi per quella famiglia di proteine. Per ogni

prolungamento della sequenza da riconoscere si aggiungono al modello 49

parametri (20 probabilita di emissione per lo stato M, 20 per lo stato D, piu

9 probabilita di transizione).

Questo modello e molto flessibile: ad esempio e noto che le inserzioni

all’inizio della sequenza sono meno gravi di quelle centrali (potrebbe trattarsi

di un problema sperimentale di allineamento), e questo puo essere modellato

evitando di penalizzare con basse probabilita le transizioni verso lo stato 0.

Capitolo 5

Conclusioni

I principali vantaggi dell’impiego degli HMM in task relativi al data

mining sono legati da una parte al robusto impianto statistico-teorico che

sostiene gli algoritmi forniti, dall’altro alla relativa efficienza degli stessi.

Inoltre questi modelli si rivelano utili in molte applicazioni poiche:

• effettuano matching di sequenze che differiscono per qualche inseri-

mento o cancellazione, con valutazione della relativa penalita;

• trattano agevolmente sequenze di lunghezza variabile;

• possono svolgere compiti di allineamento, data mining/classificazione,

analisi strutturale e pattern discovery.

I principali limiti nell’applicazione degli HMM sono essenzialmente due. In

primo luogo i parametri da stimare crescono velocemente con il numero di

stati del modello iniziale, e con l’alfabeto in input. Questo oltre a portare

problemi relativi al tempo di calcolo, introduce anche serie difficolta negli

algoritmi di training dovute al moltiplicarsi di massimi locali. Il secondo

problema e che le probabilita di transizione non dipendono dalla funzione di

emissione, ma solo dallo stato nascosto. Una classica correlazione che non

puo essere colta dagli HMM e la seguente: supponiamo che lo stato Xt = i

nel caso in cui emetta Yt = j sia sovente seguito dallo stato Xt+1 = k con

emissione Yt+1 = l e che, analogamente per altre due coppie stato-uscita, lo

stato Xt′ = i′ nel caso in cui emetta Yt′ = j′ sia sovente seguito dallo stato

Xt′+1 = k′ con emissione Yt′+1 = l′: purtroppo questo chiaramente esula

dalle capacita rappresentative degli HMM fin qui approfonditi, in quanto

viene contro l’ assunzione fatta nel capitolo 2 a pagina 10 di dipendenza di

31

CAPITOLO 5. CONCLUSIONI 32

un’uscita dal solo stato attuale. Cio impedisce di scrivere m(u)ij attraverso

il prodotto aijbju; tuttavia adottando le probabilita m(u)ij l’idea base degli

algoritmi di risoluzione dei vari problemi rimane ancora valida.

Bibliografia

[1] L.R. Rabiner e B.H. Juang, An introduction to hidden Markov models,

IEEE ASSp Mag., vol. 3, n.1, pp. 4-16, 1986.

[2] M. Vidyasagar, The Complete Realization Problem for Hidden Markov

Models: A Survey and Some New Results, pp. 10-14, 2009.

[3] A. Marin, Hidden Markov Models e applicazioni al Data Mining, pp.

4-11, 2006, Universita Ca’ Foscari di Venezia.

[4] S.J. Russell, P. Norvig, Intelligenza artificiale. Un approccio moderno.,

seconda edizione Pearson, pp. 173-191, 2005.

[5] A. Belardinelli, Apprendimento di movimenti della testa tramite Hid-

den Markov Model, pp. 80-90, 2006, Universita degli studi di Roma ‘La

Sapienza’.

[6] R.P.N. Rao, A.P. Shon, A.N. Meltzoff, A Bayesian Model of Imitation

in Infants and Robots, in ‘Imitation in Robots, Humans, and Animals:

Behavoiural, Social and Communicative Dimensions’, K.Dautenham and

C.Nehaniv (eds), Cambridge University Press, 2004.

[7] G.A. Churchill, Stochastic models for heterogeneus dna sequences, Bull

Math Biol 51, pp. 79-94, 1989.

33

Ringraziamenti

Desidero porgere i miei ringraziamenti al prof. Lorenzo Finesso per il

tempo dedicatomi e per l’interesse che ha saputo trasmettermi per questa

materia.

Dato che terminato il triennio ognuno prendera una diversa strada, voglio

ringraziare Davide, Colla e Frack per gli indimenticabili momenti passati in-

sieme in questi anni. Questa prima parte del cammino universitario sarebbe

stata per me molto piu dura (e noiosa) se non avessi avuto il loro aiuto e la

loro amicizia.

Infine ringrazio la mia famiglia: i miei genitori per essermi stati sempre

vicini e mio fratello Andrea per il punto di riferimento che mi offre.

Marco Ruzza

34