Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Forward-Algorithmus – Wikipedia
Forward-Algorithmus – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie

Der Forward-Algorithmus (auch Vorwärts-Algorithmus, Vorwärts-Prozedur) berechnet mit Hilfe sogenannter Forward-Variablen für ein gegebenes Hidden-Markov-Modell die Wahrscheinlichkeit einer bestimmten Beobachtung. Er verwendet die Programmiermethode der dynamischen Programmierung.

Markov-Modell

[Bearbeiten | Quelltext bearbeiten]

Das Markov-Modell ist definiert als λ = ( S ; V ; A ; B ; π ) {\displaystyle \lambda =(S;V;A;B;\pi )} {\displaystyle \lambda =(S;V;A;B;\pi )}, wobei

  • S {\displaystyle S} {\displaystyle S} die Menge der verborgenen Zustände,
  • V {\displaystyle V} {\displaystyle V} das Alphabet der beobachtbaren Symbole,
  • A {\displaystyle A} {\displaystyle A} die Matrix der Übergangswahrscheinlichkeiten,
  • B {\displaystyle B} {\displaystyle B} die Matrix der Emissionswahrscheinlichkeiten,
  • π {\displaystyle \pi } {\displaystyle \pi } die Anfangsverteilung für die möglichen Anfangszustände,

bezeichnet.

Aufgabenstellung und Forward-Variablen

[Bearbeiten | Quelltext bearbeiten]

Gegeben sei ein Wort o = o 1 o 2 … o T ∈ V ∗ {\displaystyle {\boldsymbol {o}}=o_{1}o_{2}\dots o_{T}\in V^{*}} {\displaystyle {\boldsymbol {o}}=o_{1}o_{2}\dots o_{T}\in V^{*}}. Der Forward-Algorithmus berechnet nun P ( o | λ ) {\displaystyle P({\boldsymbol {o}}|\lambda )} {\displaystyle P({\boldsymbol {o}}|\lambda )}, also die Wahrscheinlichkeit im vorhandenen Modell λ {\displaystyle \lambda } {\displaystyle \lambda } tatsächlich die Beobachtung o {\displaystyle {\boldsymbol {o}}} {\displaystyle {\boldsymbol {o}}} zu machen.

Dafür werden die Forward-Variablen α t ( i ) {\displaystyle \alpha _{t}(i)} {\displaystyle \alpha _{t}(i)} verwendet. Darin ist die Wahrscheinlichkeit zum Zeitpunkt 1 ≤ t ≤ T {\displaystyle 1\leq t\leq T} {\displaystyle 1\leq t\leq T} das Präfix o 1 o 2 … o t {\displaystyle o_{1}o_{2}\ldots o_{t}} {\displaystyle o_{1}o_{2}\ldots o_{t}} beobachtet zu haben und im Zustand s i ∈ S {\displaystyle s_{i}\in S} {\displaystyle s_{i}\in S} zu sein gespeichert:

α t ( i ) = P ( o 1 o 2 … o t ; q t = s i | λ ) {\displaystyle \alpha _{t}(i)=P(o_{1}o_{2}\ldots o_{t};q_{t}=s_{i}|\lambda )} {\displaystyle \alpha _{t}(i)=P(o_{1}o_{2}\ldots o_{t};q_{t}=s_{i}|\lambda )}

Funktionsweise

[Bearbeiten | Quelltext bearbeiten]

Die Forward-Variablen, und damit auch die Gesamtwahrscheinlichkeit, lassen sich rekursiv berechnen:

Initialisierung
α 1 ( i ) = π i ⋅ b i ( o 1 ) , 1 ≤ i ≤ | S | {\displaystyle \alpha _{1}(i)=\pi _{i}\cdot b_{i}(o_{1}),\qquad 1\leq i\leq \left|S\right|} {\displaystyle \alpha _{1}(i)=\pi _{i}\cdot b_{i}(o_{1}),\qquad 1\leq i\leq \left|S\right|}
Rekursion
α t ( i ) = ( ∑ j = 1 | S | α t − 1 ( j ) a j i ) ⋅ b i ( o t ) ; 1 < t ≤ T ,   1 ≤ i ≤ | S | {\displaystyle \alpha _{t}(i)=\left(\sum _{j=1}^{|S|}\alpha _{t-1}(j)a_{ji}\right)\cdot b_{i}(o_{t});\qquad 1<t\leq T,\ 1\leq i\leq \left|S\right|} {\displaystyle \alpha _{t}(i)=\left(\sum _{j=1}^{|S|}\alpha _{t-1}(j)a_{ji}\right)\cdot b_{i}(o_{t});\qquad 1<t\leq T,\ 1\leq i\leq \left|S\right|}
Terminierung
P ( o | λ ) = ∑ j = 1 | S | α T ( j ) {\displaystyle P({\boldsymbol {o}}|\lambda )=\sum _{j=1}^{|S|}\alpha _{T}(j)} {\displaystyle P({\boldsymbol {o}}|\lambda )=\sum _{j=1}^{|S|}\alpha _{T}(j)}

Komplexität

[Bearbeiten | Quelltext bearbeiten]

Der Algorithmus benötigt O ( | S | 2 ⋅ T ) {\displaystyle O(|S|^{2}\cdot T)} {\displaystyle O(|S|^{2}\cdot T)} Operationen und bietet ein effizientes Verfahren zur Berechnung der gesuchten Wahrscheinlichkeit. Der Speicherbedarf liegt in O ( | S | ⋅ T ) {\displaystyle O(|S|\cdot T)} {\displaystyle O(|S|\cdot T)}, da zur Erreichung der polynomiellen Laufzeit alle α t ( i ) {\displaystyle \alpha _{t}(i)} {\displaystyle \alpha _{t}(i)} in einer | S | × T {\displaystyle |S|\times T} {\displaystyle |S|\times T} Matrix abgelegt werden.

Wenn die Zwischenergebnisse von α t ( i ) {\displaystyle \alpha _{t}(i)} {\displaystyle \alpha _{t}(i)} für t < T {\displaystyle t<T} {\displaystyle t<T} nach der Beendigung der Rekursion nicht benötigt werden, dann reduziert sich der Speicherbedarf auf O ( | S | ) {\displaystyle O(|S|)} {\displaystyle O(|S|)}, da zwei Spaltenvektoren der Länge | S | {\displaystyle |S|} {\displaystyle |S|} ausreichen um α t − 1 ( i ) {\displaystyle \alpha _{t-1}(i)} {\displaystyle \alpha _{t-1}(i)} und α t ( i ) {\displaystyle \alpha _{t}(i)} {\displaystyle \alpha _{t}(i)} in jedem Rekursionsschritt zu speichern.

Weitere Anwendungen

[Bearbeiten | Quelltext bearbeiten]

Die Forward-Variablen α t ( i ) {\displaystyle \alpha _{t}(i)} {\displaystyle \alpha _{t}(i)} werden zusammen mit den Backward-Variablen β t ( i ) = P ( o t + 1 … o T | q t = s i ; λ ) {\displaystyle \beta _{t}(i)=P(o_{t+1}\dots o_{T}|q_{t}=s_{i};\lambda )} {\displaystyle \beta _{t}(i)=P(o_{t+1}\dots o_{T}|q_{t}=s_{i};\lambda )} für den Baum-Welch-Algorithmus zur Lösung des mit Hidden-Markov-Modellen gegebenen Lernproblems benötigt.

Außerdem ermöglicht deren Kenntnis die Bestimmung der Wahrscheinlichkeit, bei der Beobachtung von o {\displaystyle {\boldsymbol {o}}} {\displaystyle {\boldsymbol {o}}} zu einem festen Zeitpunkt t {\displaystyle t} {\displaystyle t} im Zustand s i {\displaystyle s_{i}} {\displaystyle s_{i}} gewesen zu sein, denn nach dem Satz von Bayes gilt:

P ( q t = s i | o ; λ ) = α t ( i ) ⋅ β t ( i ) P ( o | λ ) {\displaystyle P(q_{t}=s_{i}|{\boldsymbol {o}};\lambda )={\frac {\alpha _{t}(i)\cdot \beta _{t}(i)}{P({\boldsymbol {o}}|\lambda )}}} {\displaystyle P(q_{t}=s_{i}|{\boldsymbol {o}};\lambda )={\frac {\alpha _{t}(i)\cdot \beta _{t}(i)}{P({\boldsymbol {o}}|\lambda )}}}

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Backward-Algorithmus
  • Viterbi-Algorithmus
  • Baum-Welch-Algorithmus

Literatur

[Bearbeiten | Quelltext bearbeiten]
  • R. Durbin et al.: Biological sequence analysis. Probabilistic models of proteins and nucleic acids. 11th printing, corrected 10. reprinting. Cambridge University Press, Cambridge u. a. 2006, ISBN 0-521-62971-3, S. 59. 

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • E. G. Schukat-Talamazzini: Spezielle Musteranalysesysteme (PDF, 1,3 MB) Vorlesung im WS 2012/13 an der Universität Jena. Kapitel 5 Folie 32ff.
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Forward-Algorithmus&oldid=207603695“
Kategorien:
  • Algorithmus
  • Bioinformatik
  • Dynamische Programmierung
  • Maschinelles Lernen
  • Stochastik

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id