Next: Esercizio 1.
Up: Elementi di probabilità
Previous: Esempio 1
  Indice
Per introdurre il concetto di hidden Markov model, partiamo da quello
più intuitivo di modello di Markov.
Consideriamo il classico esempio della coffe machine.
Supponiamo di avere nel nostro ufficio (a casa è improbabile) una macchina che
ha l'ottima qualità di fare il caffè o il tè gratuitamente,
ma ha la pessima caratteristica di non avere un selezionatore per le bevande,
per cui noi non possiamo prelevare la nostra bevanda preferita a nostra discrezione.
Quando cioè ci poniamo davanti alla macchinetta e premiamo l'unico pulsante presente
a volte esce caffè altre tè. Noi potremmo imaginare che il subdolo meccanismo
sottostante potrebbe essere generato dal fatto che la nostra macchina possiede due stati
interni corrispondenti alle due bevande. I due stati poi si alternano con una probabilità
decisa casualmente e che dipende soltanto dallo stato in cui si trova la nostra
macchina in quel preciso istante. Questa restrizione ne fa un modello di Markov, in quanto
lo stato sucessivo dipende soltanto dallo stato attuale.
Possiamo allora porci le seguenti domande:
- Qual'è la probabilità di una sequenza di eventi (caffè/tè) dato il modello?
Se conosco quali sono le probabilità con cui la macchina salta da uno
stato all'altro, qual'è la probabilità di una particolare sequenza di eventi
caffè e tè?
- model learning: se ottengo dalla macchina una serie o più serie di
eventi caffè e teè, come posso stimare il modello che sta all'interno, cioè
le probabilità di transizione tra gli stati?
Per quanto riguarda la prima domanda, possiamo considerare di avere visto
che all'interno della macchina esite effettivamente un modello di Markov
e che esso sia quello mostrato in Figura .
Se allora abbiamo a disposizione la la sequenza di eventi s='CTCCT' (dove C=coffe,T=tea)
possiamo calcolare la probabilità che tale sequenza sia essere generata dal modello della figura.
Da cui abbiamo
dove abbiamo indicato la probabilità di transizione da uno stato ad uno stato
con
. In modo del tutto analogo possiamo quindi verificare che la
probabilità di generare la sequenza 'CTCTC' è invece
Figura:
Modello di Markov della coffe-machine
|
Per quanto riguarda la seconda domanda, dobbiamo stimare da una o una serie di sequenze
da noi (o da nostri amici) ottenute utilizzando la macchina, in modo da calcolare
i parametri del modello. Il modo più utilizzato è quello della massima verosimiglianza
o maximum likelihood (ML). In questo caso quello che vogliamo e` ottenere i parametri
del nostro modello che massimizzano la probabilità di generare quella (quelle sequenze).
Più formalmente cerchiamo l'insieme dei parametri del nostro modello (le probabilità
di transizione) che massimizzano la
Pur sembrando particolarmente strano questo approccio è esattamente quello più naturale
e maggiormente utilizzato. Lo abbiamo spesso utilizzato inconsapevolmente. Per esempio
quando facciamo l'ipotesi che i dati di un nostro esperimento seguano
una legge di distribuzione degli errori Gaussiana e indipendente, di fatto appichiamo
poi la ML per derivare i nostri parametri valor medio e deviazione
standard della nostra serie di dati.
Se infatti poniamo
|
|
|
(11.2) |
abbiamo che per valutazioni che consideriamo essere
indipendenti, della nostra variabile la likelihood è
Per la nostra ML sarà quella che ci fornirà il massimo valore della probabilità
per specifici valodi di e .
Noi poi sappiamo dal calcolo che i valori di massimo (in realtà i punti critici) di una funzione
li otteniamo eguagliando a 0 la derivata della funzione. Abbiamo perciò che i valori per cui
la nostra likelihood è massima sono quelli per cui
Valutando tali equazioni per il nostro caso in esame otteniamo proprio
|
|
|
(11.3) |
Per poter vedere come di fatto possiamo ottenere i paramatri massimizzando la probabilità
prendiamo il caso esplicito del modello di Markov generico della nostra coffe-machine, come
proposto in Figura . Esso possiede 2 parametri liberi che sono la probabilità
di transire dallo stato coffe su se stesso e quella di transire dallo stato tea su se stesso .
Le altre due probabilità e si ottengono automaticamente ricordando la condizione
di normalizzazione
Fissati dunque i generici parametri e , la probabilità di una data sequenza è
quindi
dove abbiamo che è il numero di volte in cui troviamo nela nostra sequenza
una la coppia di simboli (nel nostro caso {tea, coffe}).
Cercare quindi i valori e che massimizzano la probabilità equivale a
cercare per quali e si annullano le derivate della probabilità (o per la monotonicità della
funzione come vedremo nell'esercizio )
rispetto a tali variabili
Nel primo caso abbiamo
che eguagliando a zero diviene
Analogamente si vede che anche per si ottiene
È molto interessante vedere che l'approccio basato sulla ML, porta al concetto
comune che per stimare la probabilità di transizione tra coffe e tea
data una sequenza di eventi, la massima probabilità la ottengo contando il numero di volte
che a coffe segue coffe () e lo sottraggo per il numero di volte in cui
da coffe passo ad un altro stato (
).
Per cui se andiamo alla macchina e generiamo la sequenza s='CCCTT', ed un nostro amico
(coffe-addicted) genera bevendo tutto la sequenza t='TCCC TTTT CCC TTC', possiamo
stimare le probabilità come
Figura:
Modello di Markov generico della coffe-machine
|
Subsections
Next: Esercizio 1.
Up: Elementi di probabilità
Previous: Esempio 1
  Indice
2004-11-02