<?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=LMS-Algorithmus</id>
	<title>LMS-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=LMS-Algorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=LMS-Algorithmus&amp;action=history"/>
	<updated>2026-05-23T20:43:14Z</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=LMS-Algorithmus&amp;diff=427127&amp;oldid=prev</id>
		<title>imported&gt;Acky69: s.auch hinzu</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=LMS-Algorithmus&amp;diff=427127&amp;oldid=prev"/>
		<updated>2024-11-13T08:14:39Z</updated>

		<summary type="html">&lt;p&gt;s.auch hinzu&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;LMS-Algorithmus&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039;east-&amp;#039;&amp;#039;&amp;#039;M&amp;#039;&amp;#039;&amp;#039;ean-&amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;quares-&amp;#039;&amp;#039;&amp;#039;Algorithmus&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) ist ein [[Algorithmus]] zur [[Approximation]] der Lösung des &amp;#039;&amp;#039;Least-Mean-Squares&amp;#039;&amp;#039;-Problems, das z.&amp;amp;nbsp;B. in der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] vorkommt. In der [[Neuroinformatik]] ist der Algorithmus vor allem als &amp;#039;&amp;#039;&amp;#039;Delta-Regel&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;Widrow-Hoff-Regel&amp;#039;&amp;#039;&amp;#039; bekannt.&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus beruht auf der &amp;#039;&amp;#039;Methode des steilsten Abstiegs&amp;#039;&amp;#039; ([[Gradientenverfahren]]) und [[Schätzung #Schätzungen_in_der_Statistik|schätzt]] den [[Gradient]]en auf einfache Art. Der Algorithmus arbeitet zeit[[rekursiv]], d.&amp;amp;nbsp;h. mit jedem neuen [[Datensatz]] wird der Algorithmus einmal durchlaufen und die Lösung aktualisiert. Die Regel wurde erstmals 1960 von [[Bernard Widrow]] und [[Marcian Edward Hoff]] für das [[Maschinelles Lernen|Einlernen]] des [[Adaline-Modell]]s verwendet.&amp;lt;ref name=&amp;quot;widrow&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der LMS-Algorithmus wird auf Grund seiner geringen Komplexität häufig eingesetzt, u.&amp;amp;nbsp;a. bei [[Adaptiver Filter|adaptiven Filtern]], [[adaptive Regelung]]en und [[Online]]-[[Identitätsfeststellung|Identifikation]]s&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;verfahren.&lt;br /&gt;
&lt;br /&gt;
Ein bedeutender Nachteil des&amp;amp;nbsp;LMS-Algorithmus ist die Abhängigkeit seiner [[Konvergenzgeschwindigkeit]] von den Eingangsdaten, d.&amp;amp;nbsp;h. er findet unter ungünstigen Umständen (schnelle zeitliche Änderungen der Eingangsdaten) möglicherweise keine Lösung.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
Beim Problem der kleinsten Quadrate muss ein [[Vektor]] &amp;lt;math&amp;gt;\vec{w}&amp;lt;/math&amp;gt; bestimmt werden, so dass die Differenzen &amp;lt;math&amp;gt;y_i - x_i^T \vec{w}&amp;lt;/math&amp;gt; insgesamt minimiert werden. Daraus ergibt sich die Formel&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\min_{\vec{w}} \sum_{i=1}^{n}(y_i - x_i^T \vec{w})^2 \Longleftrightarrow \min_{w} \|y - X \vec{w}\|_2^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der LMS-Algorithmus startet an einem bestimmten Punkt &amp;lt;math&amp;gt;w_1&amp;lt;/math&amp;gt; und wählt bei jedem Iterationsschritt &amp;lt;math&amp;gt;i \geq 1&amp;lt;/math&amp;gt; die Funktion &amp;lt;math&amp;gt;(y_i - x_i^T \vec{w})^2&amp;lt;/math&amp;gt; aus und führt einen [[Gradientenabstieg]] für diese Funktion durch:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
\frac{\partial(y_i - x_i^T \vec{w})^2}{\partial \vec{w}} &amp;amp;= -2x_i(y_i - x_i^T \vec{w}) \\&lt;br /&gt;
\vec{w_{i+1}} &amp;amp;= \vec{w_i} - h \frac{\partial(y_i - x_i^T \vec{w})^2}{\partial \vec{w}} \\&lt;br /&gt;
&amp;amp;= \vec{w_i} + 2hx_i(y_i - x_i^T \vec{w_i}) \\&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für das verallgemeinerte [[Optimierungsproblem]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\min_{\vec{w}} \frac{1}{n} \sum_{i=1}^{n} f_i(w)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird für den [[Vektor]] &amp;lt;math&amp;gt;\vec{w}&amp;lt;/math&amp;gt; der verallgemeinerte Iterationsschritt&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{w_{i+1}} = \vec{w_i} - h_i \nabla f_i(w)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mit dem [[Nabla-Operator]] durchgeführt.&amp;lt;ref&amp;gt;Jiantao Jiao, University of California, Berkeley: [https://people.eecs.berkeley.edu/~jiantao/225a2020spring/scribe/EECS225A_Lecture_16.pdf Gradient Descent and Least Mean Squares Algorithm]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim LMS-Algorithmus geht es darum, die Koeffizienten eines [[Filter mit endlicher Impulsantwort|FIR-Filters]] so zu bestimmen, dass der Fehler zwischen Ausgangsdaten des Filters &amp;lt;math&amp;gt;\vec x(n)^T \vec w(n)&amp;lt;/math&amp;gt; und vorgegebenen Referenzdaten &amp;lt;math&amp;gt;y(n)&amp;lt;/math&amp;gt; minimiert wird.&lt;br /&gt;
&lt;br /&gt;
Der LMS-Algorithmus hat dann folgende Form:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e(n) = y(n) - \vec x(n)^T \vec w(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec w(n+1) = \vec w(n) + \mu e(n) \vec x(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist &amp;lt;math&amp;gt;\vec x(n)&amp;lt;/math&amp;gt; ein [[Vektor]] mit Eingangsdaten der Zeitpunkte &amp;lt;math&amp;gt;n-(M+1)&amp;lt;/math&amp;gt; bis &amp;lt;math&amp;gt;n, y(n)&amp;lt;/math&amp;gt; ein Referenzdatum zum Zeitpunkt &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\vec w(n)&amp;lt;/math&amp;gt; der aktuelle Vektor der Filtergewichte des Transversalfilters der Ordnung &amp;lt;math&amp;gt;M, \mu&amp;lt;/math&amp;gt; ein Faktor zur Einstellung der Geschwindigkeit und Stabilität der Adaption und &amp;lt;math&amp;gt;\vec w(n+1)&amp;lt;/math&amp;gt; der neu zu bestimmende Filtervektor der Ordnung &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;. Es wird also zu jedem Zeitpunkt der aktuelle Fehler bestimmt und daraus werden die neuen Filtergewichte &amp;lt;math&amp;gt;\vec w(n+1)&amp;lt;/math&amp;gt; berechnet.&lt;br /&gt;
&lt;br /&gt;
== Ableitungsfunktion ==&lt;br /&gt;
Die Idee hinter LMS-Filtern besteht darin, den [[Gradientenverfahren|steilsten Abstieg]] zu verwenden, um Filtergewichte &amp;lt;math&amp;gt; \hat{\mathbf{h}}(n)&amp;lt;/math&amp;gt; zu finden, die eine Kostenfunktion minimieren. Wir beginnen mit der Definition der Kostenfunktion als&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C(n) = E\left\{|e(n)|^{2}\right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;e(n)&amp;lt;/math&amp;gt; die Abweichung bei der aktuellen Stichprobe &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; ist und &amp;lt;math&amp;gt;E\{\cdot\}&amp;lt;/math&amp;gt; den [[Erwartungswert]] bezeichnet. Diese Kostenfunktion ist die [[mittlere quadratische Abweichung]] und wird vom LMS-Algorithmus minimiert. Die Anwendung des steilsten Abstiegs bedeutet, die [[Partielle Ableitung|partiellen Ableitungen]] in Bezug auf die einzelnen Einträge des Filterkoeffizienten-Vektors&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\nabla_{\hat{\mathbf{h}}^H} C(n) = \nabla_{\hat{\mathbf{h}}^H} E\left\{e(n) \, e^{*}(n)\right\}=2E\left\{\nabla_{\hat{\mathbf{h}}^H} ( e(n)) \, e^{*}(n) \right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zu nehmen, wobei &amp;lt;math&amp;gt;\nabla&amp;lt;/math&amp;gt; der [[Nabla-Operator|Gradientenoperator]] ist:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\nabla_{\hat{\mathbf{h}}^H} (e(n))= \nabla_{\hat{\mathbf{h}}^H} \left(d(n) - \hat{\mathbf{h}}^H \cdot \mathbf{x}(n)\right)=-\mathbf{x}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\nabla C(n) = -2E\left\{\mathbf{x}(n) \, e^{*}(n)\right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun ist &amp;lt;math&amp;gt;\nabla C(n)&amp;lt;/math&amp;gt; ein Vektor, der auf den steilsten Anstieg der Kostenfunktion zeigt. Um das Minimum der Kostenfunktion zu finden, müssen wir einen Schritt in die entgegengesetzte Richtung von &amp;lt;math&amp;gt;\nabla C(n)&amp;lt;/math&amp;gt; machen. Um das mathematisch auszudrücken&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\hat{\mathbf{h}}(n+1)=\hat{\mathbf{h}}(n)-\frac{\mu}{2} \nabla C(n)=\hat{\mathbf{h}}(n)+\mu \, E\left\{\mathbf{x}(n) \, e^{*}(n)\right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;\frac{\mu}{2}&amp;lt;/math&amp;gt; die Schrittgröße (Anpassungskonstante) ist. Das heißt, wir haben einen sequentiellen Aktualisierungsalgorithmus gefunden, der die Kostenfunktion minimiert. Leider ist dieser Algorithmus erst realisierbar, wenn wir E kennen. Im Allgemeinen wird der obige Erwartungswert nicht berechnet. Um den LMS-Algorithmus stattdessen in einer Online-Umgebung (Aktualisierung nach Erhalt jedes neuen Beispiels) auszuführen, verwenden wir eine [[Schätzfunktion]] dieses Erwartungswerts.&lt;br /&gt;
&lt;br /&gt;
== Vereinfachungen ==&lt;br /&gt;
Für die meisten Systeme muss die Erwartungsfunktion &amp;lt;math&amp;gt;{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\} &amp;lt;/math&amp;gt; approximiert werden. Dies kann erfolgen mit der folgenden [[Erwartungstreue|erwartungstreuen]] [[Schätzfunktion]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\hat{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\}=\frac{1}{N}\sum_{i=0}^{N-1}\mathbf{x}(n-i) \, e^{*}(n-i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; die Anzahl der [[Stichprobe]]n angibt, die für diese Schätzfunktion verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Der einfachste Fall ist &amp;lt;math&amp;gt;N=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\hat{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\}=\mathbf{x}(n) \, e^{*}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für diesen Fall ist der Aktualisierungsalgorithmus wie folgt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\hat{\mathbf{h}}(n+1)=\hat{\mathbf{h}}(n)+\mu \mathbf{x}(n) \, e^{*}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies stellt tatsächlich den Aktualisierungsalgorithmus für den&amp;amp;nbsp;LMS-Filter dar.&lt;br /&gt;
&lt;br /&gt;
== Verwendung in der Neuroinformatik ==&lt;br /&gt;
Der LMS-Algorithmus gehört zur Gruppe der [[Überwachtes Lernen|überwachten Lernverfahren]]. Dazu muss ein externer Lehrer existieren, der zu jedem Zeitpunkt der Eingabe die gewünschte Ausgabe, den Zielwert, kennt.&lt;br /&gt;
&lt;br /&gt;
Er kann auf jedes einschichtige [[Künstliches neuronales Netz|künstliche neuronale Netz]] angewendet werden, dabei muss die [[Aktivierungsfunktion]] [[differenzierbar]] sein. Das [[Backpropagation]]-Verfahren verallgemeinert diesen Algorithmus und kann auch auf mehrschichtige Netze angewandt werden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Methode der kleinsten Quadrate]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://neuromant.de/2018/12/16/Tutorial_Das-Perzeptron-Teil-3/#Unsere-kleine-Formelsammlung Ausführliche Herleitung der Delta-Regel für Neuronale Netze]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;widrow&amp;quot;&amp;gt;{{Literatur |Autor = Bernard Widrow und Marcian Edward Hoff | Titel = Adaptive switching circuits | Verlag = IRE WESCON Convention Record, vol. 4 | Ort = Los Angeles | Seiten = 96-104 | Jahr = 1960 | Online = [https://isl.stanford.edu/~widrow/papers/c1960adaptiveswitching.pdf PDF]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus|Lms-Algorithmus]]&lt;br /&gt;
[[Kategorie:Neuroinformatik|Lms-Algorithmus]]&lt;br /&gt;
[[Kategorie:Digitale Signalverarbeitung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Acky69</name></author>
	</entry>
</feed>