Quali sono le differenze tra i modelli di Markov nascosti e le reti neurali?


40

Mi sto solo bagnando i piedi nelle statistiche, quindi mi dispiace se questa domanda non ha senso. Ho usato i modelli Markov per prevedere stati nascosti (casinò ingiusti, lancio di dadi, ecc.) E reti neurali per studiare i clic degli utenti su un motore di ricerca. Entrambi avevano stati nascosti che stavamo cercando di capire usando le osservazioni.

Per quanto capisco, entrambi prevedono gli stati nascosti, quindi mi chiedo quando si utilizzerebbero i modelli di Markov su reti neurali? Sono solo approcci diversi a problemi simili?

(Sono interessato all'apprendimento ma ho anche un'altra motivazione, ho un problema che sto cercando di risolvere usando modelli Markov nascosti ma mi sta facendo impazzire, quindi ero interessato a vedere se posso passare a usare qualcos'altro.)


2
Potresti voler guardare qui: stats.stackexchange.com/questions/4498/…
Nuculare

Ti andrebbe di scegliere una risposta o di chiarire ulteriormente cosa stai cercando?
conjugateprior

Risposte:


28

Ciò che è nascosto e ciò che viene osservato

La cosa che è nascosta in un modello Markov nascosto è la stessa cosa che è nascosta in un modello di miscela discreta, quindi per chiarezza, dimentica la dinamica dello stato nascosto e mantieni un modello di miscela finito come esempio. Lo "stato" in questo modello è l'identità del componente che ha causato ciascuna osservazione. In questa classe di modello tali cause non vengono mai osservate, quindi la "causa nascosta" viene tradotta statisticamente nell'affermazione che i dati osservati hanno dipendenze marginali che vengono rimosse quando il componente di origine è noto. E si stima che i componenti di origine siano qualunque cosa renda vera questa relazione statistica.

Ciò che è nascosto in una rete neurale multistrato feedforward con unità centrali sigmoidi sono gli stati di quelle unità, non le uscite che sono il bersaglio dell'inferenza. Quando l'output della rete è una classificazione, ovvero una distribuzione di probabilità su possibili categorie di output, questi valori di unità nascoste definiscono uno spazio in cui le categorie sono separabili. Il trucco nell'apprendimento di un tale modello è quello di creare uno spazio nascosto (regolando la mappatura delle unità di input) all'interno del quale il problema è lineare. Di conseguenza, i limiti di decisione non lineari sono possibili dal sistema nel suo insieme.

Generativo contro discriminativo

Il modello di miscela (e HMM) è un modello del processo di generazione dei dati, talvolta chiamato probabilità o "modello a termine". Se combinato con alcune ipotesi sulle probabilità precedenti di ogni stato, è possibile inferire una distribuzione su possibili valori dello stato nascosto usando il teorema di Bayes (un approccio generativo). Si noti che, mentre viene chiamato un "precedente", sia il precedente che i parametri nella probabilità vengono generalmente appresi dai dati.

Contrariamente al modello di miscela (e HMM) la rete neurale apprende direttamente una distribuzione posteriore sulle categorie di output (un approccio discriminatorio). Ciò è possibile perché durante la stima sono stati osservati i valori di output. E poiché sono stati osservati, non è necessario costruire una distribuzione posteriore da un modello precedente e specifico per la probabilità come una miscela. Il posteriore viene appreso direttamente dai dati, che è più efficiente e meno dipendente dal modello.

Mescolare e abbinare

Per rendere le cose più confuse, questi approcci possono essere mescolati insieme, ad esempio quando lo stato del modello di miscela (o HMM) viene talvolta effettivamente osservato. Quando ciò è vero, e in alcune altre circostanze non rilevanti qui, è possibile allenarsi in modo discriminatorio in un modello altrimenti generativo. Allo stesso modo è possibile sostituire la mappatura del modello di miscela di un HMM con un modello forward più flessibile, ad esempio una rete neurale.

Le domande

Quindi non è del tutto vero che entrambi i modelli prevedono lo stato nascosto. Gli HMM possono essere utilizzati per prevedere lo stato nascosto, sebbene solo del tipo previsto dal modello forward. Le reti neurali possono essere utilizzate per prevedere uno stato non ancora osservato , ad esempio stati futuri per i quali sono disponibili predittori. Questo tipo di stato non è nascosto in linea di principio, semplicemente non è stato ancora osservato.

Quando useresti l'uno anziché l'altro? Bene, le reti neurali creano modelli di serie temporali piuttosto scomodi nella mia esperienza. Presumono anche che tu abbia osservato l'output. Gli HMM non lo fanno, ma in realtà non hai alcun controllo su quale sia lo stato nascosto. Tuttavia sono modelli di serie storiche adeguati.


2
+1 Questo è molto buono. Con: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.intendi sostituire le probabilità di emissione p (Osservato | Nascosto) con un feed forward NN? Mi sono imbattuto in questo in alcuni punti ma nessuno fornisce una spiegazione; dicono solo di averlo implementato. Presumo che sostituiscano il passo MLE per l'apprendimento delle emissioni ma non riesco a capire come. Conosci qualche codice o esempio esplicativo? Qualsiasi suggerimento benvenuto, grazie.
Zhubarb,

Sembra essere meno utilizzato in questo modo (qualche persona in più ML può correggermi qui). Tha ha detto, stimare i parametri NN che mappano il vettore di stato sull'output in base alla conoscenza del vettore di stato (o almeno sulla conoscenza del suo valore atteso, come in un algoritmo EM) è lo stesso compito dell'allenamento con i dati di input e output osservati, quindi immagino che lì niente di speciale da dire su quella parte.
conjugateprior,

La risposta è buona, tranne: le reti neurali possono essere discriminatorie (feed forward ecc.) O generative (macchine bolzmann riservate ecc.). Inoltre, le reti neurali ricorrenti come i modelli LSTM e Reservoir Computing possono modellare serie temporali e HMM - e talvolta anche meglio di HMM, specialmente in caso di serie temporali con forti dinamiche non lineari e correlazione di lungo periodo.
GuSuku,

10

I modelli di Markov nascosti possono essere utilizzati per generare una lingua, ovvero elencare elementi da una famiglia di stringhe. Ad esempio, se si dispone di un HMM che modella un insieme di sequenze, si sarebbe in grado di generare membri di questa famiglia, elencando le sequenze che rientrerebbero nel gruppo di sequenze che stiamo modellando.

Le reti neurali, prendono un input da uno spazio ad alta dimensione e lo mappano semplicemente su uno spazio di dimensione inferiore (il modo in cui le reti neurali mappano questo input si basa sulla formazione, sulla sua topologia e su altri fattori). Ad esempio, è possibile acquisire un'immagine a 64 bit di un numero e mapparlo su un valore vero / falso che descrive se questo numero è 1 o 0.

Mentre entrambi i metodi sono in grado (o almeno possono provare a discriminare) se un elemento è membro di una classe o meno, le reti neurali non possono generare un linguaggio come descritto sopra.

Sono disponibili alternative ai modelli di Markov nascosti, ad esempio potresti essere in grado di utilizzare una rete bayesiana più generale, una topologia diversa o una grammatica stocastica senza contesto (SCFG) se ritieni che il problema risieda nella mancanza di potere degli HMM per modella il tuo problema, ovvero se hai bisogno di un algoritmo in grado di discriminare tra ipotesi più complesse e / o descrivere il comportamento dei dati che è molto più complesso.


6
+1 Per il secondo paragrafo. Vorrei sottolineare che chiunque capisca chiaramente tutti gli elementi di questa risposta probabilmente non farebbe la domanda originale. Probabilmente non è utile menzionare grammatiche formali per qualcuno il cui post inizia con "Mi sto solo bagnando i piedi nelle statistiche ..." Il secondo paragrafo qui coglie l'essenza di ciò che l'OP sta chiedendo. Invece del primo paragrafo, potresti dire: un HMM modella le dipendenze condizionali di stati nascosti, in cui ogni stato ha una distribuzione di probabilità sulle osservazioni.
Phillip Cloud,

7
Questa risposta è semplicemente sbagliata. La rete neurale qui è considerata feedforward. Questa è solo una classe di reti neurali. I modelli ricorrenti non si limitano a mappare singoli input fino a una rappresentazione di dimensione inferiore e possono generare linguaggio. Vedi ad esempio arxiv.org/abs/1308.0850
rd11

Generare una sequenza (come nel documento collegato) non equivale a generare una lingua. Suppongo che potresti applicarli per discernere tra gli elementi di un set e altrimenti, se lo desideri, tuttavia, un modello ricorrente può essere immaginato come prendere un singolo input di grandi dimensioni che si estende sui singoli input con ricorrenza e restituire un output di grandi dimensioni. Non sono sicuro che la rete neurale ricorrente possa fornire le uscite senza alcun input.
Andrew

Hmm. Puoi fare un esempio di qualcosa che pensi possa generare un HMM e che ritieni non possa essere generato con un RNN?
11

L'esempio che viene in mente è il seguente: dato un HMM è possibile ottenere una sequenza di elementi che appartengono al linguaggio rappresentato dall'HMM. Affinché un RNN lo faccia, è necessario aggiungere qualcosa sopra e sopra di esso (ad esempio, provare i diversi input e contrassegnare un input come membro di una classe o altro), anche se nel caso di RNN probabilmente stai guardando più input (uno dopo l'altro) come rappresentante un singolo "oggetto". Gli HMM sono più naturalmente adatti allo scopo di generare una lingua.
Andrew

3

La migliore risposta a questa domanda da quello che ho trovato è questa: sta imparando a fondo una catena di Markov sotto mentite spoglie . Questo è esattamente quello che ho capito, ma poiché c'è già stata una discussione altrove su Internet, sto inserendo il link qui.

p(X1....Xn)=p(X1)p(X2|X1)p(X3|X2)...

p(X1....Xn)=p(X1)p(X2|X1)p(X3|X2,X1)p(X4|X3,X2,X1)...

Possiamo usare una sequenza di caratteri come input anziché un singolo carattere. In questo modo, possiamo catturare meglio lo stato (a seconda del contesto).

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.