HMMs und der Viterbi-Algorithmus

Ähnliche Dokumente
Hidden-Markov-Modelle

Hidden Markov Modelle

Projektgruppe. Text Labeling mit Sequenzmodellen

Einführung in die Computerlinguistik

Zeitreihenanalyse mit Hidden Markov Modellen

Hidden Markov Models

Der Viterbi Algorithmus

Roman Firstein. Maximum Entropy Markov Models for Information Extraction and Segmentation

Probabilistische kontextfreie Grammatiken

Hidden Markov Models

Mathematische Grundlagen der Computerlinguistik III: Statistische Methoden Probeklausur

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Effiziente Methoden Für Die Berechnung Von Aminosäure Ersetzungsraten

Hidden Markov Modelle

DWT 2.3 Ankunftswahrscheinlichkeiten und Übergangszeiten 400/467 Ernst W. Mayr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Statistische Sprachmodelle

Signalverarbeitung 2. Volker Stahl - 1 -

Computer Vision: Kalman Filter

Maschinelle Sprachverarbeitung: N-Gramm-Modelle

Der Viterbi-Algorithmus im Part-of-Speech Tagging

Laufzeit einer DTM, Klasse DTIME

Datenstrukturen & Algorithmen

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Effiziente Algorithmen mit Python. D. Komm, T. Kohn

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Bayes sches Lernen. Niels Landwehr

Theoretische Grundlagen der Informatik

11. Übung Algorithmen I

Beispiel Gröbnerbasen-Berechnung

Dynamische Optimierung

Algebraische Statistik ein junges Forschungsgebiet. Dipl.-Math. Marcus Weber

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P.

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart

Kapitel 12. Differenzen- und Differenzialgleichungen

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Sprachtechnologie. Tobias Scheffer Thomas Vanck

Rucksackproblem und Verifizierbarkeit

LDA-based Document Model for Adhoc-Retrieval

Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L

Gibbs sampling. Sebastian Pado. October 30, Seien X die Trainingdaten, y ein Testdatenpunkt, π die Parameter des Modells

Mathematik II Sammlung von Klausuraufgaben

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Tagging mit Hidden Markov Models und Viterbi-Algorithmus

3. Übungsblatt Aufgaben mit Lösungen

Map Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Das Rucksackproblem: schwache NP-Härte und Approximation

Die Komplexitätsklassen P und NP

Überblick. Grundkonzepte des Bayes schen Lernens. Wahrscheinlichstes Modell gegeben Daten Münzwürfe Lineare Regression Logistische Regression

5 Eigenwerte und die Jordansche Normalform

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester Lösungsblatt 4 Maschinelles Lernen und Spracherkennung

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

10.5 Maximum-Likelihood Klassifikation (I)

Hidden Markov Models (HMM)

6 Polynominterpolation

SBWL Tourismusanalyse und Freizeitmarketing

Sequenzanalyse mit Markov-Ketten

Hidden-Markov-Modelle zur Bestimmung wahrscheinlichster Ereignisse

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Mathematik für Wirtschaftswissenschaftler

Zentralübung Diskrete Wahrscheinlichkeitstheorie (zur Vorlesung Prof. Esparza)

Friedrich-Alexander-Universität Professur für Computerlinguistik. Nguyen Ai Huong

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

Segmentierung von Gesten

4 Statistik der Extremwertverteilungen

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

Algorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung

Betriebswirtschaftliche Optimierung

Average-Case-Komplexität

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

2. Beispiel: n-armiger Bandit

Algorithmen und Datenstrukturen I Grundlagen

Transkript:

July 8, 2015

Das Problem Wir haben gesehen: wir können P( w q)p( q) ohne große Probleme ausrechnen ( w = b 1...b i, q = q 1...q i. P( w q)p( q) = π(q 1 )τ(b 1, q 1 )δ(q 1, q 2 )τ(b 2, q 2 )...δ(q i 1, q i )τ(b i, q i ) i i 1 = π(q 1 ) τ(b j, q j ) δ(q j, q j+1 ) j=1 j=1 (1) (δ-terme sind für P( q), τ für P( w q))

Das Problem Was wir aber suchen ist argmax q = w P( q w), also die Zustandsfolge, die gegeben unsere Beobachtung maximal wahrscheinlich ist. Natürlich haben wir: argmax q = w P( q w) = argmax q = w P( w q) P( q) P( w) = argmax q = w P( w q)p( q) (2) ( w bleibt ja unverändert über Terme).

Der naive Ansatz Das Problem mit dem naiven Ansatz ist folgendes: die Anzahl der möglichen Zustandsfolgen für eine Beobachtungsfolge w der Länge w beträgt Q w also falls Q 10 Zustände enthält, w aus 10 Beobachtungen besteht, haben wir bereits 10 10 Kandidaten! Die Anzahl wächst also exponentiell in w, und ist damit praktisch nicht mehr handhabbar.

Die Lösung Wir werden einen Algorithmus betrachten, der dieses Problem mittels dynamischer Programmierung löst, d.h. Teilergebnisse bisheriger Berechnungen werden immer weiter verwendet. Die Parameter des Algorithmus sind: 1. Ein HMM (B, Q, π, τ, δ) 2. eine Eingabe w über B Die Ausgabe ist argmax q = w P( w q)

Der Viterbi-Algorithmus Wir nehmen wiederum w = b 1, b 2,...b j+1, q = q 1, q 2,..., q j+1. Wir definieren nun α q (i) = max q1,...,q i 1 Q(P(q 1,..., q i 1, b 1,..., b i 1, q i = q)) (3) α q (i) gibt uns die maximale Wahrscheinlichkeit dafür, dass q i = q, wobei das Maximum bedeutet: maximal für alle Vorgängersequenzen von Zuständen.

Der Viterbi Algorithmus 1. Initialisierung: α q (1) = π(q); 2. Induktionsschritt: α q (i + 1) = max q Q α q (i)δ(q, q )τ(q, b i+1 ). Parallel werden die entsprechenden Zustände gespeichert: 3. Terminierung: ψ q (i + 1) = argmax q Q α q (i)δ(q, q )τ(q, b i+1 ). ˆq j+1 = argmax q Q α q (j + 1) ˆq i = ψˆqi+1 (i + 1). (Wir berechnen jetzt also von hinten nach vorne die optimale Kette)

P( w q) berechnen ˆq i bezeichnet den optimalen i-ten Zustand. Wir können nun sehr leicht P( w q) berechnen: P( w ˆq 1,..., ˆq i+1 ) = max q Q α q (i + 1) (4) Was wir nicht haben ist die Wahrscheinlichkeit P( ˆq 1,..., ˆq i+1 w)! Wir haben also nur die plausibelste Lösung gefunden (ähnlich der Maximum Likelihood Methode), ohne dass wir deren bedingte Wahrscheinlichkeit gegeben die Beobachtung kennen würden.

Viterbi-Algorithmus: Komplexität Der Viterbi Algorithmus muss die ganze Folge einmal vorwärts und einmal rückwarts durchlaufen. Damit ist Anzahl der Rechenschritte damit linear in der Länge der Kette, quadratisch in der Menge der Zustände. Das ist ein extrem gutes Ergebnis, denn die Zustandsmenge ist a priori begrenzt, es bleibt also effektiv ein lineares Problem

Der Vorwärts-Algorithmus Wir werden nun ein etwas anderes Problem betrachten, das wir bereits für Markov Ketten behandelt haben: Gegeben ein HMM M, eine Kette b 1, b 2,..., b i, was ist die Wahrscheinlichkeit von b 1, b 2,..., b i gegeben M? Linguistisch gesehen wäre das die Frage: gegeben einen Satz S und ein HMM unserer Sprache, wie wahrscheinlich ist S?

Der Vorwärts-Algorithmus Wir haben gesehen, wie wir P( w q) ausrechnen. Wie kommen wir zu P( w)? Durch die übliche Methode des Marginalisierens: P( w) = P( w q)p( q) q = w (5) Hier haben wir aber dasselbe Problem wie vorher: die Menge der q wächst exponentiell in w also ist der naive Ansatz nicht praktikabel.

Der Vorwärts-Algorithmus Der Vorwärts-Algorithmus nimmt dieselben Parameter wie der Viterbi-Algorithmus. Wir definieren die Vorwärts-Variable wie folgt: α q (i) := P( b 1, b 2,..., b i, q i = q) (6) α q (i) gibt uns also die Wahrscheinlichkeit, dass wir nach der i-ten Beobachtung in w in Zustand q sind.

Der Vorwärts-Algorithmus 1. Initialisierung: α q (1) = π(q). 2. Induktionsschritt: α q (i + 1) = q Q α q(i)δ(q, q )τ(q, b i+1 ): i < j + 1 3. Ende: P( w) = q Q α q(j + 1).

Der Vorwärts-Algorithmus: Komplexität Auch dieser Algorithmus ist sehr günstig was die nötigen Berechnungen angeht: um die Wahrscheinlichkeit von w mit Länge n zu berechnen, 2 Q 2 n Berechnungsschritte. Da aber Q, die Anzahl der Zustände, a priori begrenzt ist, können wir sagen dass der Algorithmus linear ist.