Was sind die Unterschiede zwischen Hidden-Markov-Modellen und neuronalen Netzen?


40

Ich mache mich in Statistiken nur nass, also tut es mir leid, wenn diese Frage keinen Sinn ergibt. Ich habe Markov-Modelle verwendet, um versteckte Zustände (unfaire Casinos, Würfelwürfe usw.) und neuronale Netze vorherzusagen und die Klicks der Benutzer auf eine Suchmaschine zu untersuchen. Beide hatten verborgene Zustände, die wir mithilfe von Beobachtungen herausfinden wollten.

Nach meinem Verständnis sagen beide verborgene Zustände voraus, und ich frage mich, wann man Markov-Modelle über neuronale Netze verwenden würde. Sind sie nur unterschiedliche Herangehensweisen an ähnliche Probleme?

(Ich bin am Lernen interessiert, aber ich habe auch eine andere Motivation. Ich habe ein Problem, das ich mit versteckten Markov-Modellen lösen möchte, aber es treibt mich an, also war ich daran interessiert zu sehen, ob ich zu etwas anderem wechseln kann.)


2
Vielleicht möchten Sie hier schauen: stats.stackexchange.com/questions/4498/…
Nucular

Möchten Sie eine Antwort auswählen oder näher erläutern, wonach Sie suchen?
Conjugateprior

Antworten:


27

Was verborgen ist und was beobachtet wird

Das, was in einem versteckten Markov-Modell verborgen ist, ist dasselbe wie das, was in einem diskreten Mischungsmodell verborgen ist. Vergessen Sie daher der Klarheit halber die Dynamik des verborgenen Zustands und halten Sie sich an ein endliches Mischungsmodell als Beispiel. Der "Zustand" in diesem Modell ist die Identität der Komponente, die jede Beobachtung verursacht hat. In dieser Modellklasse werden solche Ursachen niemals beobachtet, weshalb "versteckte Ursache" statistisch in die Behauptung übersetzt wird, dass die beobachteten Daten marginale Abhängigkeiten aufweisen, die entfernt werden, wenn die Quellkomponente bekannt ist. Und es wird geschätzt, dass die Quellkomponenten das sind, was diese statistische Beziehung wahr macht.

Das, was in einem vorwärtsgerichteten mehrschichtigen neuronalen Netzwerk mit Sigmoid-Mitteleinheiten verborgen ist, sind die Zustände dieser Einheiten, nicht die Ausgaben, die das Ziel der Folgerung sind. Wenn die Ausgabe des Netzwerks eine Klassifizierung ist, dh eine Wahrscheinlichkeitsverteilung über mögliche Ausgabekategorien, definieren diese versteckten Einheitswerte einen Raum, innerhalb dessen Kategorien trennbar sind. Der Trick beim Erlernen eines solchen Modells besteht darin, einen verborgenen Raum (durch Anpassen der Abbildung aus den Eingabeeinheiten) zu schaffen, in dem das Problem linear ist. Folglich sind nichtlineare Entscheidungsgrenzen aus dem Gesamtsystem möglich.

Generativ versus diskriminativ

Das Mischungsmodell (und HMM) ist ein Modell des Datenerzeugungsprozesses, das manchmal als Wahrscheinlichkeits- oder Vorwärtsmodell bezeichnet wird. In Verbindung mit einigen Annahmen über die vorherigen Wahrscheinlichkeiten jedes Zustands können Sie mithilfe des Bayes-Theorems (eines generativen Ansatzes) eine Verteilung über mögliche Werte des verborgenen Zustands ableiten. Beachten Sie, dass bei der Bezeichnung "Prior" in der Regel sowohl der Prior als auch die Parameter der Wahrscheinlichkeit aus Daten gelernt werden.

Im Gegensatz zum Mischungsmodell (und HMM) lernt das neuronale Netz eine posteriore Verteilung über die Ausgabekategorien direkt (ein diskriminativer Ansatz). Dies ist möglich, weil die Ausgabewerte während der Schätzung beobachtet wurden. Und da sie beobachtet wurden, ist es nicht notwendig, eine hintere Verteilung aus einem früheren und einem spezifischen Modell für die Wahrscheinlichkeit wie einer Mischung zu konstruieren. Der hintere Teil wird direkt aus Daten gelernt, was effizienter und weniger modellabhängig ist.

Mischen und Anpassen

Um die Sache noch verwirrender zu machen, können diese Ansätze gemischt werden, z. B. wenn der Mischungsmodell- (oder HMM-) Zustand manchmal tatsächlich beobachtet wird. Wenn dies zutrifft und in einigen anderen Fällen hier nicht relevant ist, ist es möglich, in einem ansonsten generativen Modell diskriminativ zu trainieren. In ähnlicher Weise ist es möglich, die Mischungsmodellabbildung eines HMM durch ein flexibleres Vorwärtsmodell, z. B. ein neuronales Netzwerk, zu ersetzen.

Die Fragen

Es ist also nicht ganz richtig, dass beide Modelle den verborgenen Zustand vorhersagen. HMMs können verwendet werden, um den verborgenen Zustand vorherzusagen, wenn auch nur in der Art, wie das Vorwärtsmodell dies erwartet. Neuronale Netze können verwendet werden, um einen noch nicht beobachteten Zustand vorherzusagen , z. B. zukünftige Zustände, für die Prädiktoren verfügbar sind. Diese Art von Zustand ist im Prinzip nicht verborgen, er wurde nur noch nicht beobachtet.

Wann würdest du eins verwenden anstatt das andere? Nun, neuronale Netze sind meiner Erfahrung nach eher umständliche Zeitreihenmodelle. Sie gehen auch davon aus, dass Sie die Ausgabe beobachtet haben. HMMs tun dies nicht, aber Sie haben wirklich keine Kontrolle darüber, wie der verborgene Zustand tatsächlich ist. Trotzdem handelt es sich um richtige Zeitreihenmodelle.


2
+1 Das ist sehr gut. Von: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network., meinen Sie die Emissionswahrscheinlichkeiten p ersetzt (Observed | Versteckt) mit einem Feed - Forward - NN? Ich bin an einigen Stellen darauf gestoßen, aber keine gibt eine Erklärung; Sie erwähnen nur, dass sie es implementiert haben. Ich gehe davon aus, dass sie den MLE-Schritt zum Lernen von Emissionen ersetzen, aber nicht verstehen können, wie. Kennen Sie einen Code oder ein erläuterndes Beispiel? Alle Hinweise willkommen, danke.
Zhubarb

Es scheint weniger gewohnt zu sein (etwas mehr ML-Leute können mich hier korrigieren). Das heißt, das Schätzen der NN-Parameter, die den Zustandsvektor auf die Ausgabe abbilden, unter der Bedingung, dass der Zustandsvektor bekannt ist (oder zumindest, wie bei einem EM-Algorithmus, sein erwarteter Wert bekannt ist), ist dieselbe Aufgabe wie das Trainieren mit beobachteten Eingabe- und Ausgabedaten nichts Besonderes zu diesem Teil zu sagen.
Conjugateprior

Die Antwort ist gut, außer: Neuronale Netze können entweder diskriminativ (Feedforward usw.) oder generativ (eingeschränkte Bolzmann-Maschinen usw.) sein. Wiederkehrende neuronale Netze wie LSTM- und Reservoir-Computing-Modelle können Zeitreihen ebenso wie HMM modellieren - und manchmal sogar besser als HMM, insbesondere bei Zeitreihen mit starker nichtlinearer Dynamik und Langzeitkorrelation.
GuSuku

10

Ausgeblendete Markov-Modelle können zum Generieren einer Sprache verwendet werden, dh zum Auflisten von Elementen aus einer Zeichenfolgenfamilie. Wenn Sie beispielsweise ein HMM haben, das eine Reihe von Sequenzen modelliert, können Sie Mitglieder dieser Familie generieren, indem Sie Sequenzen auflisten, die in die Gruppe der Sequenzen fallen, die wir modellieren.

Neuronale Netze, nehmen Sie eine Eingabe aus einem hochdimensionalen Raum und ordnen Sie sie einfach einem niederdimensionalen Raum zu (die Art und Weise, wie die Neuronalen Netze diese Eingabe ordnen, basiert auf dem Training, seiner Topologie und anderen Faktoren). Beispielsweise könnten Sie ein 64-Bit-Bild einer Zahl erstellen und es einem True / False-Wert zuordnen, der beschreibt, ob diese Zahl 1 oder 0 ist.

Während beide Methoden unterscheiden können (oder zumindest versuchen können), ob ein Objekt Mitglied einer Klasse ist oder nicht, können Neuronale Netze keine Sprache wie oben beschrieben erzeugen.

Es gibt Alternativen zu Hidden-Markov-Modellen. Sie können beispielsweise ein allgemeineres Bayes'sches Netzwerk, eine andere Topologie oder eine stochastische kontextfreie Grammatik (SCFG) verwenden, wenn Sie der Ansicht sind, dass das Problem in der mangelnden Leistungsfähigkeit der HMMs liegt modellieren Sie Ihr Problem - wenn Sie einen Algorithmus benötigen, der in der Lage ist, zwischen komplexeren Hypothesen zu unterscheiden und / oder das Verhalten von Daten zu beschreiben, die viel komplexer sind.


6
+1 Für den zweiten Absatz. Ich möchte darauf hinweisen, dass jeder, der alle Elemente dieser Antwort klar versteht, die ursprüngliche Frage wahrscheinlich nicht stellen würde. Es ist wahrscheinlich nicht hilfreich, jemandem, dessen Beitrag mit "Ich mache nur meine Füße nass in Statistiken ..." beginnt, die formalen Grammatiken zu nennen. Anstelle des ersten Absatzes könnte man sagen: Ein HMM modelliert bedingte Abhängigkeiten von versteckten Zuständen, wobei jeder Zustand eine Wahrscheinlichkeitsverteilung über die Beobachtungen hat.
Phillip Cloud

7
Diese Antwort ist einfach falsch. Das neuronale Netz wird hier als Feedforward angenommen. Dies ist nur eine Klasse von neuronalen Netzen. Wiederkehrende Modelle ordnen einzelne Eingaben nicht einfach einer niedrigdimensionalen Darstellung zu, sondern können Sprache generieren. Siehe zum Beispiel arxiv.org/abs/1308.0850
rd11

Das Generieren einer Sequenz (wie im verlinkten Artikel) ist nicht dasselbe wie das Generieren einer Sprache. Ich nehme an, Sie könnten sie anwenden, um Elemente einer Menge voneinander zu unterscheiden. Wenn Sie dies wünschen, kann ein wiederkehrendes Modell jedoch so konzipiert werden, dass eine einzelne große Eingabe wiederholt über die einzelnen Eingaben verteilt und eine große Ausgabe zurückgegeben wird. Ich bin mir nicht sicher, ob das wiederkehrende neuronale Netzwerk Ihnen Ausgaben ohne Eingaben liefern kann.
Andrew

Hmm. Können Sie ein Beispiel für etwas nennen, von dem Sie glauben, dass es mit einem HMM erzeugt werden kann und das Sie glauben, dass es mit einem RNN nicht erzeugt werden kann?
Rd11

Das folgende Beispiel ist denkbar: Bei einem HMM können Sie eine Folge von Elementen abrufen, die zu der Sprache gehören, die das HMM darstellt. Um dies zu tun, müssen Sie darüber hinaus etwas hinzufügen (z. B. die verschiedenen Eingaben ausprobieren und eine Eingabe als Mitglied einer Klasse oder auf andere Weise markieren) - obwohl Sie bei RNNs wahrscheinlich mehrere Eingaben in Betracht ziehen (einer nach dem anderen) als ein einzelnes "Objekt" darstellend. HMMs eignen sich natürlicher zum Erzeugen einer Sprache.
Andrew

3

Die beste Antwort auf diese Frage aus dem, was ich gefunden habe, ist: Ist tiefes Lernen einer verkleideten Markov-Kette . Genau das habe ich verstanden, aber da es bereits eine Diskussion an anderer Stelle im Internet gab, setze ich den Link hierher.

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)...

Wir können anstelle eines einzelnen Zeichens eine Zeichenfolge als Eingabe verwenden. Auf diese Weise können wir den Zustand (je nach Kontext) besser erfassen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.