Hidden Markov Model

Das Hidden Markov Model, kurz HMM (deutsch verdecktes Markowmodell, oder verborgenes Markowmodell) ist ein stochastisches Modell, in dem ein System durch eine Markowkette – benannt nach dem russischen Mathematiker A. A. Markow – mit unbeobachteten Zuständen modelliert wird. Ein HMM kann dadurch als einfachster Spezialfall eines dynamischen bayesschen Netzes angesehen werden.

Die Modellierung als Markowkette bedeutet, dass das System auf zufällige Weise von einem Zustand in einen anderen übergeht, wobei die Übergangswahrscheinlichkeiten nur jeweils vom aktuellen Zustand abhängen, aber nicht von den davor eingenommenen Zuständen. Außerdem wird angenommen, dass die Übergangswahrscheinlichkeiten über die Zeit konstant sind. Bei einem HMM werden jedoch nicht die Zustände selbst von außen beobachtet; sie sind verborgen (engl. hidden, siehe auch Latentes Variablenmodell). Stattdessen sind jedem dieser inneren Zustände beobachtbare Ausgabesymbole (sogenannte Emissionen) zugeordnet, die je nach Zustand mit gewissen Wahrscheinlichkeiten auftreten. Die Aufgabe besteht meist darin, aus der beobachteten Sequenz der Emissionen zu wahrscheinlichkeitstheoretischen Aussagen über die verborgenen Zustände zu kommen.

Da die Markowmodelle eng verwandt mit den in der Regelungstechnik verwendeten Zustandsraummodellen sind, ist darauf zu achten, dass der Begriff „beobachten“ nicht mit dem regelungstechnischen Begriff der „Beobachtbarkeit“, der von Rudolf Kálmán 1960 eingeführt wurde und eine eigenständige Systemeigenschaft beschreibt, verwechselt wird. „Beobachten“ im Sinn der Markowmodelle wird in der Regelungstechnik mit „messen“ bezeichnet. Die im Sinn der Markowtheorie „unbeobachteten“ oder „hidden“ Zustände können sehr wohl im Sinne der Regelungstechnik beobachtbar sein, müssen es aber nicht.

Wichtige Anwendungsgebiete sind Sprach- und Schrifterkennung, Computerlinguistik und Bioinformatik, Spamfilter, Gestenerkennung in der Mensch-Maschine-Kommunikation, physikalische Chemie[1] und Psychologie.

## Inhaltsverzeichnis

* 1 Markowansatz
* 2 Definition
* 3 Veranschaulichung
* 4 Beispiel
* 4.1 Gefangener im Verlies
* 4.2 DNA-Sequenz: CpG-Inseln aufspüren
* 4.3 Spracherkennung
* 5 Problemstellungen
* 5.1 Bestimmen der Modellgröße
* 5.2 Implementierung
* 5.3 Filtern
* 5.4 Prädiktion/Vorhersage
* 5.5 Glätten
* 5.6 Dekodierung
* 5.7 Lernproblem
* 5.8 Interpretationsproblem
* 6 Anwendungsgebiete
* 7 Geschichte
* 8 Literatur
* 9 Weblinks
* 10 Einzelnachweise

## Markowansatz

[Bearbeiten | Quelltext bearbeiten]

Gegeben seien zwei zeitdiskrete Zufallsprozesse { X t } t ∈ N {\displaystyle \\{X_{t}\\}_{t\in \mathbb {N} }} und  { Y t } t ∈ N {\displaystyle \\{Y_{t}\\}_{t\in \mathbb {N} }} , von denen nur der letzte beobachtbar sei. Durch ihn sollen Rückschlüsse auf den Verlauf des ersten Prozesses gezogen werden; hierfür wird ein mathematisches Modell benötigt, das die beiden Prozesse miteinander in Beziehung setzt.

Der hier beschriebene Ansatz zeichnet sich durch die folgenden beiden Annahmen aus:

1\. Markoweigenschaft

Der aktuelle Wert des ersten Prozesses hängt ausschließlich von seinem letzten Wert ab:

∀ t ∈ N : P ( X t = x t | X 1 = x 1 ; … ; X t − 1 = x t − 1 ; Y 1 = y 1 ; … ; Y t − 1 = y t − 1 ) = P ( X t = x t | X t − 1 = x t − 1 ) {\displaystyle \forall t\in \mathbb {N} \colon P(X_{t}=x_{t}|X_{1}=x_{1};\ldots ;X_{t-1}=x_{t-1};Y_{1}=y_{1};\ldots ;Y_{t-1}=y_{t-1})=P(X_{t}=x_{t}|X_{t-1}=x_{t-1})} .

2\. Markoweigenschaft

Der aktuelle Wert des zweiten Prozesses hängt ausschließlich vom aktuellen Wert des ersten ab:

∀ t ∈ N : P ( Y t = y t | X 1 = x 1 ; … ; X t = x t ; Y 1 = y 1 ; … ; Y t − 1 = y t − 1 ) = P ( Y t = y t | X t = x t ) {\displaystyle \forall t\in \mathbb {N} \colon P(Y_{t}=y_{t}|X_{1}=x_{1};\ldots ;X_{t}=x_{t};Y_{1}=y_{1};\ldots ;Y_{t-1}=y_{t-1})=P(Y_{t}=y_{t}|X_{t}=x_{t})} .

Haben die beiden Prozesse nun noch jeweils einen endlichen Wertevorrat, so lässt sich das so gewonnene Modell als probabilistischer Automat auffassen, genauer als Markow-Kette. Man sagt auch  { X t } {\displaystyle \\{X_{t}\\}} ist ein Markow-Prozess. Angelehnt an den Sprachgebrauch in der theoretischen Informatik – insbesondere der Automatentheorie und der Theorie formaler Sprachen – heißen die Werte des ersten Prozesses Zustände und die des zweiten Emissionen bzw. Ausgaben.

## Definition

[Bearbeiten | Quelltext bearbeiten]

Parameter eines Hidden Markov Model (Beispiel)
x – (verborgene) Zustände
y – mögliche Beobachtungen (Emissionen)
a – Übergangswahrscheinlichkeiten
b – Emissionswahrscheinlichkeiten

Ein Hidden Markov Model ist ein 5-Tupel λ = ( S ; V ; A ; B ; π ) {\displaystyle \lambda =(S;V;A;B;\pi )} mit:

* S = { s 1 ; … ; s n } {\displaystyle S=\\{s_{1};\dotsc ;s_{n}\\}} der Menge aller Zustände, das sind die möglichen Werte der Zufallsvariablen X t {\displaystyle X_{t}} ,
* V = { v 1 ; … ; v m } {\displaystyle V=\\{v_{1};\dotsc ;v_{m}\\}} das Alphabet der möglichen Beobachtungen – die Emissionen der  Y t {\displaystyle Y_{t}} ,
* A ∈ R n × n {\displaystyle A\in \mathbb {R} ^{n\times n}} die Übergangsmatrix zwischen den Zuständen,  a i j = P ( X t = s j | X t − 1 = s i ) {\displaystyle a_{ij}=P(X_{t}=s_{j}|X_{t-1}=s_{i})} gibt dabei jeweils die Wahrscheinlichkeit an, dass vom Zustand  s i {\displaystyle s_{i}} in den Zustand  s j {\displaystyle s_{j}} gewechselt wird,
* B ∈ R n × m {\displaystyle B\in \mathbb {R} ^{n\times m}} die Beobachtungsmatrix, die  b i j = P ( Y t = v j | X t = s i ) {\displaystyle b_{ij}=P(Y_{t}=v_{j}|X_{t}=s_{i})} geben die Wahrscheinlichkeit an, im Zustand  s i {\displaystyle s_{i}} die Beobachtung  v j {\displaystyle v_{j}} zu machen, sowie
* π ∈ R n {\displaystyle \pi \in \mathbb {R} ^{n}} die Anfangsverteilung,  π i = P ( X 1 = s i ) {\displaystyle \pi _{i}=P(X_{1}=s_{i})} ist die Wahrscheinlichkeit, dass  s i {\displaystyle s_{i}} der Startzustand ist.

Ein HMM heiße stationär (oder auch zeitinvariant), wenn sich die Übergangs- und Emissionswahrscheinlichkeiten nicht mit der Zeit ändern. Diese Annahme ist oft sinnvoll, weil auch die modellierten Naturgesetze konstant sind.

## Veranschaulichung

[Bearbeiten | Quelltext bearbeiten]

Zeitliche Entwicklung eines HMM

Das Bild zeigt die generelle Architektur eines instanziierten HMMs. Jedes Oval ist die Repräsentation einer zufälligen Variable  x ( t ) {\displaystyle x(t)} oder  y ( t ) {\displaystyle y(t)} , welche beliebige Werte aus  S {\displaystyle S} bzw.  V {\displaystyle V} annehmen kann. Die erste Zufallsvariable ist dabei der versteckte Zustand des HMMs zum Zeitpunkt  t {\displaystyle t} , die zweite ist die Beobachtung zu diesem Zeitpunkt. Die Pfeile in dem Trellis-Diagramm bedeuten eine bedingte Abhängigkeit.

Im Diagramm sieht man, dass der Zustand der versteckten Variable  x ( t ) {\displaystyle x(t)} nur vom Zustand der Variable  x ( t − 1 ) {\displaystyle x(t-1)} abhängt, frühere Werte haben keinen weiteren Einfluss. Deshalb ist das Modell ein Markov-Modell 1. Ordnung. Sollten höhere Ordnungen benötigt werden, so können diese durch das Einfügen neuer versteckter Zustände stets auf die 1. Ordnung zurückgeführt werden. Der Wert von  y ( t ) {\displaystyle y(t)} hängt weiter ausschließlich von  x ( t ) {\displaystyle x(t)} ab.

## Beispiel

[Bearbeiten | Quelltext bearbeiten]

### Gefangener im Verlies

[Bearbeiten | Quelltext bearbeiten]

Ein Gefangener im Kerkerverlies möchte das aktuelle Wetter herausfinden. Er weiß, dass auf einen sonnigen Tag zu 70 % ein Regentag folgt und dass auf einen Regentag zu 50 % ein Sonnentag folgt. Weiß er zusätzlich, dass die Schuhe der Wärter bei Regen zu 90 % dreckig, bei sonnigem Wetter aber nur zu 60 % dreckig sind, so kann er durch Beobachtung der Wärterschuhe Rückschlüsse über das Wetter ziehen (das heißt, er kann die Wahrscheinlichkeit für Regenwetter gegenüber sonnigem Wetter abschätzen). Hier bildet das tatsächlich vorhandene, aber nicht sichtbare Wetter den zu ermittelnden versteckten Zustand, die Prozentwerte 70 % und 50 % sind (über längere Zeiten hinweg ermittelte) Trainingsdaten des Modells, und die tatsächlich beobachtbaren Zustände liegen im jeweiligen Aussehen der Schuhe.

Aus den Übergangswahrscheinlichkeiten  a i j {\displaystyle a_{ij}} ergibt sich (langfristig, also ohne den Anfangszustand eingehen zu lassen) die Wahrscheinlichkeit für Sonne von  p S = 50 % / ( 50 % + 70 % ) ≈ 41 , 7 % {\displaystyle p_{\mathrm {S} }=50\%/(50\%+70\%)\approx 41{,}7\%} und für Regen von  p R = 1 − p S ≈ 58 , 3 % {\displaystyle p_{\mathrm {R} }=1-p_{\mathrm {S} }\approx 58{,}3\%} . Damit ergeben sich die Kombinationen von Zuständen mit den Wahrscheinlichkeiten:

| Sonne  | Regen

|
|

Saubere Schuhe  |  0 , 4 ⋅ p S ≈ 16 , 7 % {\displaystyle 0{,}4\cdot p_{\mathrm {S} }\approx 16{,}7\%} |  0 , 1 ⋅ p R ≈ 5 , 8 % {\displaystyle 0{,}1\cdot p_{\mathrm {R} }\approx 5{,}8\%}
Dreckige Schuhe  |  0 , 6 ⋅ p S ≈ 25 , 0 % {\displaystyle 0{,}6\cdot p_{\mathrm {S} }\approx 25{,}0\%} |  0 , 9 ⋅ p R ≈ 52 , 5 % {\displaystyle 0{,}9\cdot p_{\mathrm {R} }\approx 52{,}5\%}

Wenn ein Wärter saubere Schuhe hat, ist die Wahrscheinlichkeit von sonnigem Wetter damit  0 , 4 ⋅ p S / ( 0 , 4 ⋅ p S + 0 , 1 ⋅ p R ) ≈ 74 , 1 % {\displaystyle 0{,}4\cdot p_{\mathrm {S} }/(0{,}4\cdot p_{\mathrm {S} }+0{,}1\cdot p_{\mathrm {R} })\approx 74{,}1\%} und entsprechend ist bei dreckigen Schuhen die Regenwahrscheinlichkeit etwa 67,9 %. Außerdem müssten die Wärter im Mittel zu  0 , 4 ⋅ p S + 0 , 1 ⋅ p R = 22 , 5 % {\displaystyle 0{,}4\cdot p_{\mathrm {S} }+0{,}1\cdot p_{\mathrm {R} }=22{,}5\%} der Tage saubere Schuhe haben, andernfalls kann sich der Gefangene überlegen, welche Parameter angepasst werden sollten, damit sein Modell stimmt.

So weit kann der Gefangene aus der Beobachtung an einem einzelnen Tag schließen. Dabei berücksichtigt er nicht die konkreten Wahrscheinlichkeiten des Wechsels von sonnigen und verregneten Tagen. Bezieht er diese mit ein, so kommt er mit dem Viterbi-Algorithmus zu einem etwas genaueren Ergebnis.

### DNA-Sequenz: CpG-Inseln aufspüren

[Bearbeiten | Quelltext bearbeiten]

Zur Untersuchung von DNA-Sequenzen mit bioinformatischen Methoden kann das HMM verwendet werden. Beispielsweise lassen sich so CpG-Inseln in einer DNA-Sequenz aufspüren. Dies sind Bereiche eines DNS-Einzelstrangs mit einem erhöhten Anteil von aufeinanderfolgenden Cytosin\- und Guanin-Nukleinbasen. Dabei stellt die DNS-Sequenz die Beobachtung dar, deren Zeichen  V = { A , C , G , T } {\displaystyle V=\\{A,C,G,T\\}} bilden das Ausgabealphabet. Im einfachsten Fall besitzt das HMM zwei verborgene Zustände, nämlich CpG-Insel und nicht-CpG-Insel. Diese beiden Zustände unterscheiden sich in ihrer Ausgabeverteilung, so dass zum Zustand CpG-Insel mit größerer Wahrscheinlichkeit Zeichen  C {\displaystyle C} und  G {\displaystyle G} ausgegeben werden.

### Spracherkennung

[Bearbeiten | Quelltext bearbeiten]

In der automatischen Spracherkennung mit HMM werden die gesprochenen Laute als versteckte Zustände aufgefasst und die tatsächlich hörbaren Töne als Emission.

## Problemstellungen

[Bearbeiten | Quelltext bearbeiten]

Im Zusammenhang mit HMMs existieren mehrere grundlegende Problemstellungen.[2][3]

### Bestimmen der Modellgröße

[Bearbeiten | Quelltext bearbeiten]

Gegeben sind die beobachtbaren Emissionen  V {\displaystyle V} . Es ist zu klären, welche Modelleigenschaften – insbesondere welche orthogonale Dimensionalität – den Schluss auf die nicht direkt beobachtbaren Zustände erlauben und gleichzeitig eine sinnvolle Berechenbarkeit zulassen. Insbesondere ist zu entscheiden, welche Laufzeit für die Modellrechnungen erforderlich werden darf, um die Verwendbarkeit der Schätzungen zu erhalten.

### Implementierung

[Bearbeiten | Quelltext bearbeiten]

Die Berechnung der Schätzwerte der nicht beobachtbaren Zustände aus den beobachtbaren Ausgabesequenzen muss die erreichbaren numerischen Genauigkeiten beachten. Weiter müssen Kriterien zur Klassifizierung der statistischen Signifikanz implementiert werden. Bei Verwendung eines HMM für einen bestimmten Merkmalsvektor bestimmt die Signifikanz die Wahrscheinlichkeit einer zutreffenden oder falschen Modellhypothese sowie deren Informationsgehalt (Entropie, bedingte Entropie) bzw. deren Informationsqualität.

### Filtern

[Bearbeiten | Quelltext bearbeiten]

Gegeben sei ein HMM  λ {\displaystyle \lambda } sowie eine Beobachtungssequenz  o ∈ V ∗ {\displaystyle {\boldsymbol {o}}\in V^{*}} der Länge T {\displaystyle T} . Gesucht ist die Wahrscheinlichkeit  P ( X T = s i | o ; λ ) {\displaystyle P(X_{T}=s_{i}|{\boldsymbol {o}};\lambda )} , dass der momentane verborgene Zustand zum letzten Zeitpunkt  T {\displaystyle T} gerade  s i {\displaystyle s_{i}} ist. Ein effizientes Verfahren zur Lösung des Filterungsproblems ist der Forward-Algorithmus.

### Prädiktion/Vorhersage

[Bearbeiten | Quelltext bearbeiten]

Gegeben sei wieder ein HMM  λ {\displaystyle \lambda } und die Beobachtungssequenz  o {\displaystyle {\boldsymbol {o}}} sowie ein  δ ≥ 1 {\displaystyle \delta \geq 1} . Gesucht ist Wahrscheinlichkeit  P ( X T + δ = s i | o ; λ ) {\displaystyle P(X_{T+\delta }=s_{i}|{\boldsymbol {o}};\lambda )} , also die Wahrscheinlichkeit, dass sich das HMM zum Zeitpunkt  T + δ {\displaystyle T+\delta } im Zustand  s i {\displaystyle s_{i}} befindet, falls die betreffende Ausgabe beobachtet wurde. Prädiktion ist dabei gewissermaßen wiederholtes Filtern ohne neue Beobachtungen und lässt sich auch einfach mit dem Forward-Algorithmus berechnen.

### Glätten

[Bearbeiten | Quelltext bearbeiten]

Erneut seien  λ {\displaystyle \lambda } ,  o {\displaystyle {\boldsymbol {o}}} und ein  δ {\displaystyle \delta } gegeben. Gesucht ist die Wahrscheinlichkeit  P ( X T − δ = s i | o ; λ ) {\displaystyle P(X_{T-\delta }=s_{i}|{\boldsymbol {o}};\lambda )} , also die Wahrscheinlichkeit, dass sich das Modell zu einem früheren Zeitpunkt in einem bestimmten Zustand befand, unter der Bedingung, dass  o {\displaystyle {\boldsymbol {o}}} beobachtet wurde. Mithilfe des Forward-Backward-Algorithmus kann diese Wahrscheinlichkeit effizient berechnet werden.

### Dekodierung

[Bearbeiten | Quelltext bearbeiten]

Seien wieder  λ {\displaystyle \lambda } sowie  o {\displaystyle {\boldsymbol {o}}} gegeben. Es soll die wahrscheinlichste Zustandsfolge aus  S ∗ {\displaystyle S^{*}} bestimmt werden, die eine vorgegebene Ausgabesequenz erzeugt haben könnte. Dieses Problem lässt sich effizient mit dem Viterbi-Algorithmus lösen.

### Lernproblem

[Bearbeiten | Quelltext bearbeiten]

Gegeben sei nur die Ausgabesequenz  o {\displaystyle {\boldsymbol {o}}} . Es sollen die Parameter eines HMM bestimmt werden, die am wahrscheinlichsten die Ausgabesequenz erzeugen. Dies ist lösbar mit Hilfe des Baum-Welch-Algorithmus.

### Interpretationsproblem

[Bearbeiten | Quelltext bearbeiten]

Gegeben seien nur die möglichen Ausgaben  V {\displaystyle V} . Es sollen die Zustände im Modellsystem und die korrespondierenden Effekte im realen System identifiziert werden, die die Zustandsmenge  S {\displaystyle S} des Modells beschreibt.[4] Dazu muss vorweg die Bedeutsamkeit der einzelnen Emissionen bestimmt werden.

## Anwendungsgebiete

[Bearbeiten | Quelltext bearbeiten]

Anwendung finden HMMs häufig in der Mustererkennung bei der Verarbeitung von sequentiellen Daten, beispielsweise bei physikalischen Messreihen, aufgenommenen Sprachsignalen oder Proteinsequenzen. Dazu werden die Modelle so konstruiert, dass die verborgenen Zustände semantischen Einheiten entsprechen (z. B. Phoneme in der Spracherkennung), die es in den sequentiellen Daten (z. B. Kurzzeit-Spektren des Sprachsignals) zu erkennen gilt. Eine weitere Anwendung besteht darin, für ein gegebenes HMM durch eine Suche in einer Stichprobe von sequentiellen Daten solche Sequenzen zu finden, die sehr wahrscheinlich von diesem HMM erzeugt sein könnten. Beispielsweise kann ein HMM, das mit Vertretern einer Proteinfamilie trainiert wurde, eingesetzt werden, um weitere Vertreter dieser Familie in großen Proteindatenbanken zu finden.

## Geschichte

[Bearbeiten | Quelltext bearbeiten]

Hidden-Markov-Modelle wurden erstmals von Leonard E. Baum und anderen Autoren in der zweiten Hälfte der 1960er Jahre publiziert. Eine der ersten Applikationen war ab Mitte der 1970er die Spracherkennung. Seit Mitte der 1980er wurden HMMs für die Analyse von Nukleotid- und Proteinsequenzen eingesetzt und sind seitdem fester Bestandteil der Bioinformatik.

## Literatur

[Bearbeiten | Quelltext bearbeiten]

* R. Merkl, S. Waack: Bioinformatik interaktiv. Wiley-VCH, 2002, ISBN 3-527-30662-5.
* G. A. Fink: Mustererkennung mit Markov-Modellen: Theorie, Praxis, Anwendungsgebiete. Teubner, 2003, ISBN 3-519-00453-4.
* Kai-Fu Lee, Hsiao-Wuen Hon: Speaker-Independent Phone Recognition Using Hidden Markov Models. IEEE Transactions on accoustics, speech and signal processing, Nr. 37. IEEE, November 1989, S. 1641-1648 (englisch, IEEE Nr. 8930533, 0096-3518/89/1100-1641).

## Weblinks

[Bearbeiten | Quelltext bearbeiten]

* R.v. Handel, 28. Juli 2008: Hidden Markov Models (PDF; 900 kB; 123 Seiten) Lecture Notes Princeton University Juli 2008, abgerufen am 24. Februar 2019.
* E.G. Schukat-Talamazzini, 7. Dezember 2018: Spezielle Musteranalysesysteme (PDF; 1,3 MB; 17 Seiten) Vorlesung im WS 2018 an der Universität Jena. Kap. 5, abgerufen am 24. Februar 2019.
* HMM R-Package zum Modellieren und Analysieren von Hidden-Markov-Modellen, das unter GPL2 frei verfügbar ist
* HMM Java-Bibliothek, die unter der neuen BSD-Lizenz verfügbar ist Internal Server Error
* HMM C-Bibliothek, die unter der LGPL frei verfügbar ist

## Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]

1. ↑ S. Schmid, Dissertation, Technische Universität München, München, 2017. Single Protein Dynamics at Steady State Quantified from FRET Time Traces
2. ↑ L. R. Rabiner: A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. (PDF; 2,2 MB; 30 Seiten) Proceedings of the IEEE, Band 77, Nr. 2, 1989, S. 257–286.
3. ↑ P. Blunsom, 19. August 2004: Hidden Markov Models (PDF; 237 kB; 7 Seiten), archive.org, abgerufen am 21. Februar 2019.
4. ↑ S. P. Chatzis: A Variational Bayesian Methodology for Hidden Markov Models.