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