Hidden-Markov

Werbung
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modelle
Simon Ritter
Seminar: Künstliche Intelligenz
Dozent: Claes Neuefeind
04.07.2012
1 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Überblick
1
Grundlagen
2
Probleme und Lösungen der Hidden-Markov-Modelle
3
Beispiel in Java
2 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische vs. nicht-deterministsche Muster
3 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Muster
• Sequenzen von
• Wörtern
• Kommandos in Programmiersprachen
• Phonemen in gesprochener Sprache
• ...
• Abstrakter: Folgen von Zuständen
4 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Muster
• Sequenzen von
• Wörtern
• Kommandos in Programmiersprachen
• Phonemen in gesprochener Sprache
• ...
• Abstrakter: Folgen von Zuständen
4 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische Muster
• Folge von Zuständen ist eindeutig definiert
• Unter gleichen Bedingungen folgt auf einen Zustand immer
der gleiche nächste Zustand
• Zustand ist nur abhängig von seinem Vorgänger-Zustand
• Z.B.: Ampel als eine Art endlicher Automat
5 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische Muster
• Folge von Zuständen ist eindeutig definiert
• Unter gleichen Bedingungen folgt auf einen Zustand immer
der gleiche nächste Zustand
• Zustand ist nur abhängig von seinem Vorgänger-Zustand
• Z.B.: Ampel als eine Art endlicher Automat
5 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische Muster
• Folge von Zuständen ist eindeutig definiert
• Unter gleichen Bedingungen folgt auf einen Zustand immer
der gleiche nächste Zustand
• Zustand ist nur abhängig von seinem Vorgänger-Zustand
• Z.B.: Ampel als eine Art endlicher Automat
5 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische Muster
• Folge von Zuständen ist eindeutig definiert
• Unter gleichen Bedingungen folgt auf einen Zustand immer
der gleiche nächste Zustand
• Zustand ist nur abhängig von seinem Vorgänger-Zustand
• Z.B.: Ampel als eine Art endlicher Automat
Rot-Gelb
Rot
Gruen
Gelb
5 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Deterministische Muster
• Weiteres Beispiel: Öffnen und Schließen einer Tür abgebildet
auf einen endlichen Automaten
Offen
schließen
öffnen
Geschlossen
6 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Folge der Zustände nicht immer gleich
• Nicht deterministisch, sondern probabilistisch
• Modellierung von nicht-deterministischen Mustern in
Markov-Kette
• Simplifizierende Annahme dabei: Ein Zustand ist nur
abhängig von den vorhergegangenen Zuständen
7 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Folge der Zustände nicht immer gleich
• Nicht deterministisch, sondern probabilistisch
• Modellierung von nicht-deterministischen Mustern in
Markov-Kette
• Simplifizierende Annahme dabei: Ein Zustand ist nur
abhängig von den vorhergegangenen Zuständen
7 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Folge der Zustände nicht immer gleich
• Nicht deterministisch, sondern probabilistisch
• Modellierung von nicht-deterministischen Mustern in
Markov-Kette
• Simplifizierende Annahme dabei: Ein Zustand ist nur
abhängig von den vorhergegangenen Zuständen
7 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Folge der Zustände nicht immer gleich
• Nicht deterministisch, sondern probabilistisch
• Modellierung von nicht-deterministischen Mustern in
Markov-Kette
• Simplifizierende Annahme dabei: Ein Zustand ist nur
abhängig von den vorhergegangenen Zuständen
7 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
Beispiel Wetter:
• Drei Zustände: Sonnig, regnerisch, wolkig
• Einem Zustand kann jeder andere Zustand folgen
• Bei M Zuständen: M2 Übergänge
• Für jeden Übergang gibt es eine Übergangswahrscheinlichkeit
regnerisch
sonnig
wolkig
8 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
Beispiel Wetter:
• Drei Zustände: Sonnig, regnerisch, wolkig
• Einem Zustand kann jeder andere Zustand folgen
• Bei M Zuständen: M2 Übergänge
• Für jeden Übergang gibt es eine Übergangswahrscheinlichkeit
regnerisch
sonnig
wolkig
8 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
Beispiel Wetter:
• Drei Zustände: Sonnig, regnerisch, wolkig
• Einem Zustand kann jeder andere Zustand folgen
• Bei M Zuständen: M2 Übergänge
• Für jeden Übergang gibt es eine Übergangswahrscheinlichkeit
regnerisch
sonnig
wolkig
8 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
Beispiel Wetter:
• Drei Zustände: Sonnig, regnerisch, wolkig
• Einem Zustand kann jeder andere Zustand folgen
• Bei M Zuständen: M2 Übergänge
• Für jeden Übergang gibt es eine Übergangswahrscheinlichkeit
regnerisch
sonnig
wolkig
8 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Die Wahrscheinlichkeiten in Matrix-Darstellung:
Gestern
sonnig
wolkig
regnerisch
sonnig
0.50
0.25
0.25
Heute
wolkig regnerisch
0.375
0.125
0.125
0.675
0.375
0.375
• Annahme: Die Wahrscheinlichkeiten verändern sich nicht mit
der Zeit
9 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Die Wahrscheinlichkeiten in Matrix-Darstellung:
Gestern
sonnig
wolkig
regnerisch
sonnig
0.50
0.25
0.25
Heute
wolkig regnerisch
0.375
0.125
0.125
0.675
0.375
0.375
• Annahme: Die Wahrscheinlichkeiten verändern sich nicht mit
der Zeit
9 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Was fehlt? Anfangswahrscheinlichkeit!
• Die Wahrscheinlichkeit, welches Wetter am Tag 1 war
• Zum Beispiel...
sonnig
1.0
wolkig
0.0
regnerisch
0.0
• π Vektor
10 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Was fehlt? Anfangswahrscheinlichkeit!
• Die Wahrscheinlichkeit, welches Wetter am Tag 1 war
• Zum Beispiel...
sonnig
1.0
wolkig
0.0
regnerisch
0.0
• π Vektor
10 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Was fehlt? Anfangswahrscheinlichkeit!
• Die Wahrscheinlichkeit, welches Wetter am Tag 1 war
• Zum Beispiel...
sonnig
1.0
wolkig
0.0
regnerisch
0.0
• π Vektor
10 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Nicht-deterministische Muster
• Was fehlt? Anfangswahrscheinlichkeit!
• Die Wahrscheinlichkeit, welches Wetter am Tag 1 war
• Zum Beispiel...
sonnig
1.0
wolkig
0.0
regnerisch
0.0
• π Vektor
10 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Was haben wir bisher?
• Deterministische Muster bereiten keine Probleme
• Nicht deterministische Muster können in Markov-Kette
abgebildet werden
•
•
•
•
Zustände
Übergangswahrscheinlichkeiten (in Matrix)
Wahrscheinlichkeiten für die Zustände für t0 (π Vektor)
Wahrscheinlichkeiten verändern sich nicht über die Zeit
11 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Von der Markov-Kette zum Hidden-Markov-Modell
12 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zurück zum Wetter
• Beschaffenheit von Meeresalgen kann Aufschluss über das
zukünftige Wetter geben
• Durchweichte Algen → Regen
• Trockene Algen → Sonne
13 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zurück zum Wetter
• Beschaffenheit von Meeresalgen kann Aufschluss über das
zukünftige Wetter geben
• Durchweichte Algen → Regen
• Trockene Algen → Sonne
13 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zurück zum Wetter
• Beschaffenheit von Meeresalgen kann Aufschluss über das
zukünftige Wetter geben
• Durchweichte Algen → Regen
• Trockene Algen → Sonne
13 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zwei Arten von Zuständen
• Nehmen wir an, das Wetter lässt sich nicht direkt beobachten
• Zwei Gruppen von Zuständen:
• Beobachtbare Zustände: Algen durchweicht oder trocken
• Versteckt Zustände: Wetter sonnig oder regnerisch
14 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zwei Arten von Zuständen
• Nehmen wir an, das Wetter lässt sich nicht direkt beobachten
• Zwei Gruppen von Zuständen:
• Beobachtbare Zustände: Algen durchweicht oder trocken
• Versteckt Zustände: Wetter sonnig oder regnerisch
14 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zwei Arten von Zuständen
• Nehmen wir an, das Wetter lässt sich nicht direkt beobachten
• Zwei Gruppen von Zuständen:
• Beobachtbare Zustände: Algen durchweicht oder trocken
• Versteckt Zustände: Wetter sonnig oder regnerisch
14 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Zwei Arten von Zuständen: Wetter
sonnig
regnerisch
wolkig
versteckte
Zustände
beobachtbare
Zustände
durchweicht
feucht
trocken
15 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Wahrscheinlichkeiten
1
Übergangswahrscheinlichkeit von einem versteckten Zustand
in einen anderen
2
Wahrscheinlichkeit, dass in einem bestimmten Zustand eine
bestimmte Beobachtung gemacht wird
Wetter
sonnig
wolkig
regnerisch
durchweicht
0.05
0.25
0.50
Algen
feucht
0.15
0.25
0.35
trocken
0.60
0.25
0.05
16 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Wahrscheinlichkeiten
1
Übergangswahrscheinlichkeit von einem versteckten Zustand
in einen anderen
2
Wahrscheinlichkeit, dass in einem bestimmten Zustand eine
bestimmte Beobachtung gemacht wird
Wetter
sonnig
wolkig
regnerisch
durchweicht
0.05
0.25
0.50
Algen
feucht
0.15
0.25
0.35
trocken
0.60
0.25
0.05
16 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modell
Ein Hidden-Markov-Modell ist ein Quintupel (X, A, Y, B, π)
• X ist die Menge aller Zustände
• A ist die Matrix der Übergangswahrscheinlichkeiten
• Y ist Menge der möglichen Beobachtungen
• B ist die Matrix der Beobachtungswahrscheinlichkeiten
• π ist die Anfangswahrscheinlichkeitsverteilung
17 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modell
Ein Hidden-Markov-Modell ist ein Quintupel (X, A, Y, B, π)
• X ist die Menge aller Zustände
• A ist die Matrix der Übergangswahrscheinlichkeiten
• Y ist Menge der möglichen Beobachtungen
• B ist die Matrix der Beobachtungswahrscheinlichkeiten
• π ist die Anfangswahrscheinlichkeitsverteilung
17 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modell
Ein Hidden-Markov-Modell ist ein Quintupel (X, A, Y, B, π)
• X ist die Menge aller Zustände
• A ist die Matrix der Übergangswahrscheinlichkeiten
• Y ist Menge der möglichen Beobachtungen
• B ist die Matrix der Beobachtungswahrscheinlichkeiten
• π ist die Anfangswahrscheinlichkeitsverteilung
17 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modell
Ein Hidden-Markov-Modell ist ein Quintupel (X, A, Y, B, π)
• X ist die Menge aller Zustände
• A ist die Matrix der Übergangswahrscheinlichkeiten
• Y ist Menge der möglichen Beobachtungen
• B ist die Matrix der Beobachtungswahrscheinlichkeiten
• π ist die Anfangswahrscheinlichkeitsverteilung
17 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Hidden-Markov-Modell
Ein Hidden-Markov-Modell ist ein Quintupel (X, A, Y, B, π)
• X ist die Menge aller Zustände
• A ist die Matrix der Übergangswahrscheinlichkeiten
• Y ist Menge der möglichen Beobachtungen
• B ist die Matrix der Beobachtungswahrscheinlichkeiten
• π ist die Anfangswahrscheinlichkeitsverteilung
17 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Probleme und Lösungen der Hidden-Markov-Modelle
18 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Drei Arten von Problemen
• Das wahrscheinlichste Hidden-Markov-Modell zu einer
beobachteten Sequenz ermitteln: Evaluation
• Die wahrscheinlichste Abfolge von Zuständen für eine
beobachtete Sequenz finden: Decoding
• Ein Hidden-Markov-Modell zu einer beobachteten Sequenz
generieren: Learning
19 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Drei Arten von Problemen
• Das wahrscheinlichste Hidden-Markov-Modell zu einer
beobachteten Sequenz ermitteln: Evaluation
• Die wahrscheinlichste Abfolge von Zuständen für eine
beobachtete Sequenz finden: Decoding
• Ein Hidden-Markov-Modell zu einer beobachteten Sequenz
generieren: Learning
19 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Drei Arten von Problemen
• Das wahrscheinlichste Hidden-Markov-Modell zu einer
beobachteten Sequenz ermitteln: Evaluation
• Die wahrscheinlichste Abfolge von Zuständen für eine
beobachtete Sequenz finden: Decoding
• Ein Hidden-Markov-Modell zu einer beobachteten Sequenz
generieren: Learning
19 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Evaluation
• Gegeben seien mehrere Hidden-Markov-Modelle und eine
Sequenz von Beobachtungen
• Welches der Modelle generiert am ehesten die Sequenz?
• Z.B. in der Spracherkennung:
• Für jedes Wort existiert ein Hidden-Markov-Modell
• Für die Abfolge von Lauten / Phonemen wird das passendste
Modell gesucht
20 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Evaluation
• Gegeben seien mehrere Hidden-Markov-Modelle und eine
Sequenz von Beobachtungen
• Welches der Modelle generiert am ehesten die Sequenz?
• Z.B. in der Spracherkennung:
• Für jedes Wort existiert ein Hidden-Markov-Modell
• Für die Abfolge von Lauten / Phonemen wird das passendste
Modell gesucht
20 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Evaluation
• Gegeben seien mehrere Hidden-Markov-Modelle und eine
Sequenz von Beobachtungen
• Welches der Modelle generiert am ehesten die Sequenz?
• Z.B. in der Spracherkennung:
• Für jedes Wort existiert ein Hidden-Markov-Modell
• Für die Abfolge von Lauten / Phonemen wird das passendste
Modell gesucht
20 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Algorithmus
• Die Wahrscheinlichkeit einer Sequenz von Beobachtungen
finden
• Zunächst werden Teilwahrscheinlichkeiten für
Intermediärschritte berechnet
Beobachtungen
t0
t1
t2
sonnig
sonnig
sonnig
wolkig
wolkig
wolkig
regnerisch
regnerisch
regnerisch
trocken
feucht
durchweicht
21 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Algorithmus
• Die Wahrscheinlichkeit einer Sequenz von Beobachtungen
finden
• Zunächst werden Teilwahrscheinlichkeiten für
Intermediärschritte berechnet
Beobachtungen
t0
t1
t2
sonnig
sonnig
sonnig
wolkig
wolkig
wolkig
regnerisch
regnerisch
regnerisch
trocken
feucht
durchweicht
21 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Algorithmus
• Die Teilwahrscheinlichkeiten für t1 können aus t0 ermittelt
werden, die für t2 aus t1 usw.
• Die Summe der Teilwahrscheinlichkeiten (beim letzten
Schritt) ergibt die Wahrscheinlichkeit dafür, dass dieses
Modell dieses Muster generiert
22 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Algorithmus
• Die Teilwahrscheinlichkeiten für t1 können aus t0 ermittelt
werden, die für t2 aus t1 usw.
• Die Summe der Teilwahrscheinlichkeiten (beim letzten
Schritt) ergibt die Wahrscheinlichkeit dafür, dass dieses
Modell dieses Muster generiert
22 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Decoding
• Gegeben sei ein Hidden-Markov-Modelle und eine Sequenz
von Beobachtungen
• Welche Abfolge von versteckten Zuständen ist am
wahrscheinlichsten?
• Z.B. in der Sprachverarbeitung:
• Zuordnung der Wortart
• Wörter im Satz sind beobachtbar
• Über die wahrscheinlichste Folge von Wörtern in einem Satz
kann auf die Wortart des Worts geschlossen werden
23 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Decoding
• Gegeben sei ein Hidden-Markov-Modelle und eine Sequenz
von Beobachtungen
• Welche Abfolge von versteckten Zuständen ist am
wahrscheinlichsten?
• Z.B. in der Sprachverarbeitung:
• Zuordnung der Wortart
• Wörter im Satz sind beobachtbar
• Über die wahrscheinlichste Folge von Wörtern in einem Satz
kann auf die Wortart des Worts geschlossen werden
23 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Decoding
• Gegeben sei ein Hidden-Markov-Modelle und eine Sequenz
von Beobachtungen
• Welche Abfolge von versteckten Zuständen ist am
wahrscheinlichsten?
• Z.B. in der Sprachverarbeitung:
• Zuordnung der Wortart
• Wörter im Satz sind beobachtbar
• Über die wahrscheinlichste Folge von Wörtern in einem Satz
kann auf die Wortart des Worts geschlossen werden
23 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Viterbi-Algorithmus
• Wieder werden Teilwahrscheinlichkeiten berechnet
• Allerdings hier die höchste Wahrscheinlichkeit
• Es wird also der „beste Weg durch die Zustände“ gesucht
• Für jeden Zustand zum Zeitpunk t wird der wahrscheinlichste
Pfad berechnet
• Mit backpointer wird der wahrscheinlichste Pfad durch die
Zustände des Modells festgehalten
24 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Viterbi-Algorithmus
• Wieder werden Teilwahrscheinlichkeiten berechnet
• Allerdings hier die höchste Wahrscheinlichkeit
• Es wird also der „beste Weg durch die Zustände“ gesucht
• Für jeden Zustand zum Zeitpunk t wird der wahrscheinlichste
Pfad berechnet
• Mit backpointer wird der wahrscheinlichste Pfad durch die
Zustände des Modells festgehalten
24 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Viterbi-Algorithmus
• Wieder werden Teilwahrscheinlichkeiten berechnet
• Allerdings hier die höchste Wahrscheinlichkeit
• Es wird also der „beste Weg durch die Zustände“ gesucht
• Für jeden Zustand zum Zeitpunk t wird der wahrscheinlichste
Pfad berechnet
• Mit backpointer wird der wahrscheinlichste Pfad durch die
Zustände des Modells festgehalten
24 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Viterbi-Algorithmus
• Wieder werden Teilwahrscheinlichkeiten berechnet
• Allerdings hier die höchste Wahrscheinlichkeit
• Es wird also der „beste Weg durch die Zustände“ gesucht
• Für jeden Zustand zum Zeitpunk t wird der wahrscheinlichste
Pfad berechnet
• Mit backpointer wird der wahrscheinlichste Pfad durch die
Zustände des Modells festgehalten
24 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Viterbi-Algorithmus
• Wieder werden Teilwahrscheinlichkeiten berechnet
• Allerdings hier die höchste Wahrscheinlichkeit
• Es wird also der „beste Weg durch die Zustände“ gesucht
• Für jeden Zustand zum Zeitpunk t wird der wahrscheinlichste
Pfad berechnet
• Mit backpointer wird der wahrscheinlichste Pfad durch die
Zustände des Modells festgehalten
24 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Learning
• Gegeben sei eine Folge von Beobachtungen
• Das wahrscheinlichste Hidden-Markov-Modell ist gesucht
25 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Learning
• Gegeben sei eine Folge von Beobachtungen
• Das wahrscheinlichste Hidden-Markov-Modell ist gesucht
25 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Backward-Algorithmus
• Beginnt mit einer Vermutung über die Zustände und
Wahrscheinlichkeiten
• Unter Minimierung der Fehlerhäufigkeit (beim Vergleich mit
empirischen Daten) wird das Modell dann überarbeitet und
angenähert
26 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Forward-Backward-Algorithmus
• Beginnt mit einer Vermutung über die Zustände und
Wahrscheinlichkeiten
• Unter Minimierung der Fehlerhäufigkeit (beim Vergleich mit
empirischen Daten) wird das Modell dann überarbeitet und
angenähert
26 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Beispiel-Implementierung: Forward-Algorithmus
Das Modell:
• (Versteckte) Zustände: Sonnig, wolkig, regnerisch
• Beobachtungen: Durchweicht, feucht, trocken
• Anfangswahrscheinlichkeiten:
sonnig
0.63
wolkig
1.7
regnerisch
0.0
27 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Beispiel-Implementierung: Forward-Algorithmus
• Beobachtungswahrscheinlichkeiten:
Wetter
sonnig
wolkig
regnerisch
Algen
durchweicht feucht
0.05
0.15
0.25
0.25
0.50
0.35
trocken
0.60
0.25
0.05
• Übergangswahrscheinlichkeiten:
Gestern
sonnig
wolkig
regnerisch
sonnig
0.50
0.25
0.25
Heute
wolkig regnerisch
0.375
0.125
0.125
0.675
0.375
0.375
28 / 29
Grundlagen
Probleme und Lösungen der HMM
Beispiel in Java
Beispiel-Implementierung: Forward-Algorithmus
Beobachtungen
t0
t1
t2
sonnig
sonnig
sonnig
wolkig
wolkig
wolkig
regnerisch
regnerisch
regnerisch
trocken
feucht
durchweicht
29 / 29
Herunterladen