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.)
quelle
Antworten:
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.
quelle
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.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.
quelle
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.
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.
quelle