Markov-Ketten gegen HMM

11

Markov-Ketten machen für mich Sinn, ich kann sie verwenden, um probabilistische Zustandsänderungen in realen Problemen zu modellieren. Dann kommt das HMM. HMMs sollen besser geeignet sein, viele Probleme zu modellieren als MCs. Die genannten Probleme sind jedoch etwas komplex zu verstehen, beispielsweise die Sprachverarbeitung. Meine Frage ist also, können Sie ein "reales und einfaches" Problem beschreiben, für das HMM besser geeignet ist als MC? und erklären warum? Vielen Dank

Mario
quelle

Antworten:

19

Die Spracherkennung ist für ein Beispiel nicht so komplex wie Sie denken.

Stellen Sie sich zunächst vor, Sie erstellen eine Markov-Kette (MC), die die Texterkennung übernimmt. Ihr Programm liest eine Menge (perfekter, fehlerfreier) Text und berechnet Zustände (Wörter) und Zustandsänderungen (nächste Wörter). Klingt so, als hätten Sie das erledigt. Sie können jetzt Text generieren oder anhand des Status und der Übergangswahrscheinlichkeiten Ihres MC das nächste Wort vorhersagen.

Stellen Sie sich nun vor, Sie möchten Ihren MC mit Sprache verwenden. Sie werden einfach Leute dazu bringen, Text zu lesen, der Ihrem MC ähnlich ist, und Sie sind bereit, richtig? Nun ... Außer dass sie die Wörter anders aussprechen werden: Wo der geschriebene Text "Kartoffel" sagt, hören Sie tatsächlich "po-TAY-toh" und "po-TAH-toh" und "pu-TAY" -to "usw. Und umgekehrt: Der Text" aß "und" acht "repräsentiert zwei verschiedene Zustände, wird aber (normalerweise) gleich ausgesprochen.

Ihr Algorithmus sieht die zugrunde liegenden Zustände (Wörter) nicht mehr, sondern eine probabilistische Verteilung der Aussprachen für jedes Wort. Ihr ursprünglicher MC ist hinter den Aussprachen verborgen, und jetzt muss Ihr Modell zweischichtig sein.

So können Sie viele Leute dazu bringen, den Text vorzulesen, den Sie für Ihr ursprüngliches Training verwendet haben. Sie können eine Verteilung für die Aussprachen für jedes Wort erhalten und dann Ihr ursprüngliches Modell mit dem Aussprachemodell kombinieren, und Sie haben ein Hidden-Markov-Modell ( ein HMM).

Die meisten Probleme der realen Welt werden so sein, da die reale Welt dazu neigt, laut zu sein. Sie werden nicht wirklich wissen, in welchem ​​Zustand sich etwas befindet. Stattdessen erhalten Sie eine Vielzahl von Indikatoren für jeden Zustand: manchmal den gleichen Indikator für verschiedene Zustände ("aß" und "acht") und manchmal verschiedene Indikatoren für denselben Zustand ("pu-TAY-toe" und "pah-tah-TOE"). Daher sind HMMs besser für reale Probleme geeignet.

[Zwei Randnotizen: 1) Die tatsächliche Spracherkennung funktioniert auf Phonemebene, nicht auf Wortebene, und 2) Ich glaube, dass HMMs der König des Hügels für die Spracherkennung waren, aber kürzlich von tiefen neuronalen Netzen entthront wurden.]

Wayne
quelle
6

Grundsätzlich ist ein HMM ein Markov-Modell, bei dem der Zustand nicht vollständig beobachtbar ist, sondern nur indirekt über einige verrauschte Beobachtungen beobachtet wird. Der Markov-Modellteil ist eine einfache Möglichkeit, zeitliche Abhängigkeiten im Zustand aufzuerlegen. Dementsprechend sind Probleme, bei denen HMMs nützlich sind, solche, bei denen der Zustand einem Markov-Modell folgt, Sie den Zustand jedoch nicht direkt beobachten.

Es gibt verschiedene Dinge, die Sie mit einem HMM tun können. Eine nützliche Sache, die Sie tun können, ist die folgende: Angesichts einer Reihe von verrauschten Beobachtungen bis zur heutigen Zeit möchten Sie vielleicht wissen, wie der wahrscheinlichste gegenwärtige Zustand des Systems ist. Dazu würden Sie die Markov-Kettenstruktur angemessen mit den Beobachtungen kombinieren, um auf den Zustand schließen zu können. In ähnlicher Weise können Sie dies erweitern, um die gesamte Folge von Zuständen aus der Folge von Beobachtungen abzuleiten ( dies ist Standard).

In Wissenschaft und Technik wird dieses Modell ständig verwendet. Zum Beispiel nehmen Sie vielleicht ein Video eines einfachen Tieres wie c auf. elegans(ein Wurm), und es hat nur eine kleine Anzahl von diskreten Verhaltenszuständen. Im Video möchten Sie jedes Bild mit dem Verhaltenszustand des Tieres kennzeichnen. Ab einem einzelnen Frame weist der Beschriftungsalgorithmus einige Fehler / Rauschen auf. Es gibt jedoch auch zeitliche Abhängigkeiten, die Sie mit einer Markov-Kette modellieren können ... Wenn sich das Tier in einem Frame in einem Zustand befand, befindet es sich wahrscheinlich für den nächsten Frame im selben Zustand (und möglicherweise erlauben einige Zustände nur Übergänge zu bestimmten anderen Staaten). Grundsätzlich können Sie durch Kombinieren Ihrer verrauschten Einzelbildbeobachtungen mit der Struktur der Übergänge (durch das HMM) eine gut geglättete und besser eingeschränkte Folge von Zustandsschätzungen erhalten.

Josh
quelle
2

HMM ist ein Mischungsmodell. Genau wie eine Mischung aus Gaußschem Modell . Der Grund, warum wir es zusätzlich zur Markov-Kette verwenden, ist, dass es komplexer ist, die Muster von Daten zu erfassen.

Ähnlich wie wenn wir einen einzelnen Gaußschen Wert verwenden, um eine umstrittene Variable zu modellieren, ODER wenn wir eine Mischung aus Gaußschen verwenden, um eine kontinuierliche Variable zu modellieren.

Ich würde eine kontinuierliche Variable verwenden, um diese Idee zu demonstrieren: Angenommen, wir haben diese Daten

Geben Sie hier die Bildbeschreibung ein

Es ist besser, es mit 2 Gaußschen und mit unterschiedlichen Proportionen zu modellieren. Was im diskreten Fall "äquivalent" ist: Wir bauen ein HMM mit 2 versteckten Zuständen.

Haitao Du
quelle