<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Forward-Algorithmus</id>
	<title>Forward-Algorithmus - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Forward-Algorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Forward-Algorithmus&amp;action=history"/>
	<updated>2026-05-21T16:36:34Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Forward-Algorithmus&amp;diff=601530&amp;oldid=prev</id>
		<title>imported&gt;Aka: https, Kleinkram</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Forward-Algorithmus&amp;diff=601530&amp;oldid=prev"/>
		<updated>2021-01-13T14:37:01Z</updated>

		<summary type="html">&lt;p&gt;https, Kleinkram&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Forward-Algorithmus&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;Vorwärts-Algorithmus&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Vorwärts-Prozedur&amp;#039;&amp;#039;) berechnet mit Hilfe sogenannter &amp;#039;&amp;#039;&amp;#039;Forward-Variablen&amp;#039;&amp;#039;&amp;#039; für ein gegebenes [[Hidden-Markov-Modell]] die [[Wahrscheinlichkeit]] einer bestimmten Beobachtung.&lt;br /&gt;
Er verwendet die Programmiermethode der [[Dynamische Programmierung|dynamischen Programmierung]].&lt;br /&gt;
&lt;br /&gt;
== Markov-Modell ==&lt;br /&gt;
Das Markov-Modell ist definiert als &amp;lt;math&amp;gt;\lambda=(S;V;A;B;\pi)&amp;lt;/math&amp;gt;, wobei&lt;br /&gt;
* &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; die Menge der verborgenen Zustände,&lt;br /&gt;
* &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; das [[Alphabet (Informatik)|Alphabet]] der beobachtbaren Symbole,&lt;br /&gt;
* &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; die Matrix der [[Übergangswahrscheinlichkeit]]en,&lt;br /&gt;
* &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; die Matrix der Emissionswahrscheinlichkeiten,&lt;br /&gt;
* &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; die Anfangsverteilung für die möglichen Anfangszustände,&lt;br /&gt;
bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung und Forward-Variablen ==&lt;br /&gt;
Gegeben sei ein [[Wort (Theoretische Informatik)|Wort]] &amp;lt;math&amp;gt;\boldsymbol o = o_1 o_2 \dots o_T \in V^*&amp;lt;/math&amp;gt;. Der Forward-Algorithmus berechnet nun &amp;lt;math&amp;gt;P(\boldsymbol o|\lambda)&amp;lt;/math&amp;gt;, also die Wahrscheinlichkeit im vorhandenen Modell &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; tatsächlich die Beobachtung &amp;lt;math&amp;gt;\boldsymbol o&amp;lt;/math&amp;gt; zu machen.&lt;br /&gt;
&lt;br /&gt;
Dafür werden die &amp;#039;&amp;#039;Forward-Variablen&amp;#039;&amp;#039; &amp;lt;math&amp;gt;\alpha_t(i)&amp;lt;/math&amp;gt; verwendet. Darin ist die Wahrscheinlichkeit zum Zeitpunkt &amp;lt;math&amp;gt;1 \le t \le T&amp;lt;/math&amp;gt; das [[Wort (Theoretische Informatik)#Präfix|Präfix]] &amp;lt;math&amp;gt;o_1 o_2 \ldots o_t&amp;lt;/math&amp;gt; beobachtet zu haben und im Zustand &amp;lt;math&amp;gt;s_i \in S&amp;lt;/math&amp;gt; zu sein gespeichert:&lt;br /&gt;
:&amp;lt;math&amp;gt;\alpha_t(i)=P(o_1 o_2 \ldots o_t;q_t=s_i|\lambda)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Die Forward-Variablen, und damit auch die Gesamtwahrscheinlichkeit, lassen sich rekursiv berechnen:&lt;br /&gt;
&lt;br /&gt;
;Initialisierung&lt;br /&gt;
:&amp;lt;math&amp;gt;\alpha_1(i) = \pi_i \cdot b_{i}(o_1), \qquad 1 \le i \le \left| S \right|&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rekursion&lt;br /&gt;
:&amp;lt;math&amp;gt;\alpha_t(i) = \left( \sum_{j=1}^{|S|} \alpha_{t-1}(j) a_{ji} \right) \cdot b_i(o_t); \qquad 1&amp;lt;t\le T,\ 1 \le i \le \left| S \right|&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Terminierung&lt;br /&gt;
:&amp;lt;math&amp;gt;P(\boldsymbol o|\lambda) = \sum_{j=1}^{|S|} \alpha_T(j)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Komplexität ==&lt;br /&gt;
Der Algorithmus benötigt &amp;lt;math&amp;gt;O(|S|^2 \cdot T)&amp;lt;/math&amp;gt; Operationen und bietet ein effizientes Verfahren zur Berechnung der gesuchten Wahrscheinlichkeit.&lt;br /&gt;
Der Speicherbedarf liegt in &amp;lt;math&amp;gt;O(|S| \cdot T)&amp;lt;/math&amp;gt;, da zur Erreichung der polynomiellen Laufzeit alle &amp;lt;math&amp;gt;\alpha_t(i)&amp;lt;/math&amp;gt; in einer &amp;lt;math&amp;gt;|S|\times T&amp;lt;/math&amp;gt; Matrix abgelegt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn die Zwischenergebnisse von &amp;lt;math&amp;gt;\alpha_{t}(i)&amp;lt;/math&amp;gt; für &amp;lt;math&amp;gt;t&amp;lt;T&amp;lt;/math&amp;gt; nach der Beendigung der Rekursion nicht benötigt werden, dann reduziert sich der Speicherbedarf auf &amp;lt;math&amp;gt;O(|S|)&amp;lt;/math&amp;gt;, da zwei Spaltenvektoren der Länge &amp;lt;math&amp;gt;|S|&amp;lt;/math&amp;gt; ausreichen um &amp;lt;math&amp;gt;\alpha_{t-1}(i)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\alpha_t(i)&amp;lt;/math&amp;gt; in jedem Rekursionsschritt zu speichern.&lt;br /&gt;
&lt;br /&gt;
== Weitere Anwendungen ==&lt;br /&gt;
Die Forward-Variablen &amp;lt;math&amp;gt;\alpha_t(i)&amp;lt;/math&amp;gt; werden zusammen mit den &amp;#039;&amp;#039;[[Backward-Algorithmus#Aufgabenstellung und Backward-Variablen|Backward-Variablen]]&amp;#039;&amp;#039; &amp;lt;math&amp;gt;\beta_t(i) = P(o_{t+1} \dots o_T| q_t = s_i; \lambda)&amp;lt;/math&amp;gt; für den [[Baum-Welch-Algorithmus]] zur Lösung des mit Hidden-Markov-Modellen gegebenen Lernproblems benötigt.&lt;br /&gt;
&lt;br /&gt;
Außerdem ermöglicht deren Kenntnis die Bestimmung der Wahrscheinlichkeit, bei der Beobachtung von &amp;lt;math&amp;gt;\boldsymbol o&amp;lt;/math&amp;gt; zu einem &amp;#039;&amp;#039;festen&amp;#039;&amp;#039; Zeitpunkt &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; im Zustand &amp;lt;math&amp;gt;s_i&amp;lt;/math&amp;gt; gewesen zu sein, denn nach dem [[Satz von Bayes]] gilt:&lt;br /&gt;
:&amp;lt;math&amp;gt;P(q_t = s_i|\boldsymbol o; \lambda) = \frac{\alpha_t(i) \cdot \beta_t(i)}{P(\boldsymbol o|\lambda)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Backward-Algorithmus]]&lt;br /&gt;
* [[Viterbi-Algorithmus]]&lt;br /&gt;
* [[Baum-Welch-Algorithmus]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
|Autor=R. Durbin et al.&lt;br /&gt;
|Titel=Biological sequence analysis. Probabilistic models of proteins and nucleic acids. &amp;#039;&amp;#039;11th printing, corrected 10. reprinting&amp;#039;&amp;#039;&lt;br /&gt;
|Verlag=Cambridge University Press&lt;br /&gt;
|Ort=Cambridge u. a.&lt;br /&gt;
|Jahr=2006&lt;br /&gt;
|ISBN=0-521-62971-3&lt;br /&gt;
|Seiten=59&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Weblinks ==&lt;br /&gt;
* E. G. Schukat-Talamazzini: [https://www.minet.uni-jena.de//fakultaet/schukat/MAS/Scriptum/lect05-HMM.pdf &amp;#039;&amp;#039;Spezielle Musteranalysesysteme&amp;#039;&amp;#039;] (PDF, 1,3 MB) Vorlesung im WS 2012/13 an der Universität Jena. Kapitel 5 Folie 32ff.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus]]&lt;br /&gt;
[[Kategorie:Bioinformatik]]&lt;br /&gt;
[[Kategorie:Dynamische Programmierung]]&lt;br /&gt;
[[Kategorie:Maschinelles Lernen]]&lt;br /&gt;
[[Kategorie:Stochastik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>