Catene di Markov contro HMM


11

Le catene di Markov hanno senso per me, posso usarle per modellare i cambiamenti probabilistici dello stato nei problemi della vita reale. Poi arriva l'HMM. Si dice che gli HMM siano più adatti a modellare molti problemi rispetto agli MC. Tuttavia, i problemi menzionati dalle persone sono piuttosto complessi da comprendere come l'elaborazione del parlato. Quindi la mia domanda è: puoi descrivere un problema "reale e semplice" per il quale HMM è più adatto di MC? e spiegare perché? Grazie

Risposte:


19

Il riconoscimento vocale non è complesso come un esempio come pensi.

Innanzitutto, immagina di creare una catena di Markov (MC) che riconosca il testo. Il tuo programma legge un sacco di testo (perfetto, senza errori) e calcola stati (parole) e cambi di stato (parole successive). Sembra che tu l'abbia abbattuto. Ora potresti generare del testo o dare del testo per prevedere la parola successiva usando gli stati e le probabilità di transizione del tuo MC.

Ora immagina di voler usare il tuo MC con la voce. Avrai semplicemente persone che leggono un testo simile al tuo MC e sei pronto, giusto? Bene ... Tranne il fatto che pronunceranno le parole in modo diverso: dove il testo scritto dice "patata", in realtà sentirai "po-TAY-toh" e "po-TAH-toh" e "pu-TAY -to ", ecc. E viceversa: il testo" ha mangiato "e" otto "rappresentano due stati diversi, ma sono (di solito) pronunciati uguali.

Il tuo algoritmo non vede più gli stati sottostanti (parole), vede una distribuzione probabilistica di pronunce per ogni parola. Il tuo MC originale è nascosto dietro le pronunce e ora il tuo modello deve essere a due livelli.

Quindi potresti convincere molte persone a leggere ad alta voce il testo che hai usato per il tuo allenamento originale, potresti ottenere una distribuzione per le pronunce per ogni parola, quindi combinare il tuo modello originale con il modello di pronuncia e hai un modello Markov nascosto ( un HMM).

La maggior parte dei problemi del mondo reale sarà così, poiché il mondo reale tende ad essere rumoroso. In realtà non saprai in quale stato si trova qualcosa. Invece, otterrai una varietà di indicatori per ogni stato: a volte lo stesso indicatore per stati diversi ("mangiato" e "otto") e talvolta indicatori diversi per lo stesso stato ("pu-TAY-toe" e "pah-tah-TOE"). Pertanto, gli HMM sono più adatti ai problemi del mondo reale.

[Due note a margine: 1) l'effettivo riconoscimento vocale funziona a livello di fonema, non a livello di parole, e 2) credo che gli HMM siano stati il ​​re della collina per il riconoscimento vocale, ma recentemente sono stati detronizzati da profonde reti neurali.]


6

In sostanza, un HMM è un modello di Markov in cui lo stato non è completamente osservabile, ma viene osservato indirettamente solo attraverso alcune osservazioni rumorose. La parte del modello di Markov è un modo semplice di imporre dipendenze temporali nello stato. Di conseguenza, i problemi in cui gli HMM sono utili sono quelli in cui lo stato segue un modello Markov, ma non si osserva direttamente lo stato.

Ci sono varie cose che puoi fare con un HMM. Una cosa utile che puoi fare è la seguente: dato un insieme di osservazioni rumorose fino ai giorni nostri, forse vuoi sapere qual è lo stato attuale più probabile del sistema. Per fare ciò, dovresti combinare appropriatamente la struttura della catena di Markov con le osservazioni per inferire lo stato. Allo stesso modo, puoi estenderlo per dedurre l'intera sequenza di stati dalla sequenza di osservazioni ( questo è standard).

In campo scientifico e ingegneristico, questo modello viene sempre utilizzato. Ad esempio, forse stai registrando un video di un animale semplice come c. elegans(un worm) e ha solo un piccolo numero di stati comportamentali discreti. Dal video, si desidera etichettare ogni fotogramma con lo stato comportamentale dell'animale. Da un singolo frame, l'algoritmo di etichettatura presenta qualche errore / rumore. Tuttavia, ci sono anche dipendenze temporali che puoi modellare con una catena di Markov ... Se in un frame l'animale era in uno stato, è probabile che sia nello stesso stato per il frame successivo (e forse alcuni stati consentono solo transizioni a certi altri stati). Fondamentalmente, combinando le vostre rumorose osservazioni a singolo fotogramma con la struttura delle transizioni (da parte dell'HMM), è possibile ottenere una sequenza ben liscia e meglio vincolata di stime dello stato.


2

HMM è un modello misto. Proprio come una miscela di modello gaussiano . Il motivo per cui lo usiamo oltre a Markov Chain, è che è più complesso acquisire i modelli di dati.

Simile a se usiamo un singolo gaussiano per modellare una variabile controversa O usiamo una miscela di gaussiano per modellare una variabile continua.

Vorrei usare una variabile continua per provare questa idea: supponiamo di avere questi dati

inserisci qui la descrizione dell'immagine

È meglio modellarlo con 2 gaussiani e con proporzioni diverse. Che è "equivalente" in caso discreto: costruiamo un HMM con 2 stati nascosti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.