Der RLS-Algorithmus (Recursive-Least-Squares-Algorithmus) basiert auf der Methode der kleinsten Quadrate. Er wird zur Lösung überbestimmter linearer Gleichungssysteme und insbesondere zur Schätzung von Modellparametern bei der Identifikation linearer Systeme oder in der Neuroinformatik genutzt. Die Rekursivität erlaubt die Online-Nutzung mit aktuell anfallenden Daten bei gleichbleibender Komplexität in jedem Rekursionsschritt.

Herleitung Bearbeiten

Die Basis für den rekursiven Algorithmus ist zunächst das formale quadratische Minimierungsproblem. Im Beispiel der Systemidentifikation liegen Paare aus Ein- und Ausgangsdaten in der Matrix   vor, deren Zusammenhang durch ein lineares Modell mit den zu schätzenden Parametern   abgebildet werden soll. Mit den zusätzlich im Vektor   vorliegenden gemessenen Ausgangswerten lässt sich das System beschreiben durch:

 

Das entsprechende Optimierungsproblem formuliert sich zu:

 

Es soll das Quadrat der Differenz aus Mess- und Modelldaten minimiert werden. Dieses Vorgehen hat den Vorteil, dass eine quadratische Funktion genau ein globales Extremum in ihrem Scheitelpunkt besitzt. An dieser Stelle wird die erste Ableitung zu Null, was zur Lösung des Minimierungsproblems führt:

 

Umstellen liefert den gesuchten Parametervektor:

 

Zur Lösung muss die Anzahl der Datenpaare mindestens der Anzahl der gesuchten Parameter entsprechen. Je mehr Datenpaare vorliegen, desto mehr Einträge hat die Matrix   und desto schwieriger gestaltet sich die Berechnung.

Rekursion Bearbeiten

Beim Übergang zur rekursiven Berechnung bleibt auch bei Hinzukommen neuer Daten in jedem Schritt der Rechenaufwand gleich, da das vorherige Ergebnis als Ausgangspunkt genutzt wird und so nur je ein neues Datenpaar in die Kalkulation involviert ist.

Im Rekursionsschritt  , wobei   mindestens der Anzahl der Parameter entspricht, ist das zu lösende Gleichungssystem

 

mit der zugehörigen Lösung für den Parametervektor  :

 

Für   erweitert sich das Gleichungssystem zu:

 

und für die Lösung gilt entsprechend:

 

Die Daten im Schritt   lassen sich in bereits vorliegende und neu hinzugekommene Daten folgendermaßen aufteilen:

 

Einsetzen in die Gleichung für den Parametervektor liefert:

 

Der Ausdruck lässt sich noch weiter ordnen zu:

 

Mit der Abkürzung   und der Nutzung des Lemmas zur Matrixinversion ergibt sich die Rekursionsgleichung zu:

 

Vereinfacht:

 

Die Aktualisierung der Matrix   kann ebenfalls rekursiv erfolgen:

 

Im Vergleich zum nichtrekursiven Algorithmus ist ersichtlich, dass keine Inversion der Matrix   mehr notwendig ist, sondern lediglich eine Division durch ein Skalar.

Vergessensfaktor Bearbeiten

Durch die Einführung eines Vergessensfaktors   verlieren die historischen Messdaten für die Optimierung an Bedeutung und die aktuellen werden stärker gewichtet. Dies ist sinnvoll, um Arbeitspunktwechsel, Störungen oder Invarianzen des zu modellierenden Systems auszugleichen. Üblicherweise wird Lambda im Bereich   gewählt.

 
 

Anwendung Bearbeiten

Der RLS-Algorithmus benötigt für ein gutes Ergebnis maximal so viele Rekursionsschritte wie Parameter identifiziert werden sollen. Diese Schnelligkeit und seine einfache Berechenbarkeit ermöglichen vielfältige Online-Anwendungsmöglichkeiten zur Systemidentifikation oder als adaptives Filter auch auf weniger potenten Mikroprozessorsystemen. Zu Beginn der Rekursion müssen sowohl   als auch   initialisiert werden. Liegen a priori Informationen zu den Parametern vor, so können diese hier verwendet werden, ansonsten werden die Parameter zu Null gesetzt. Für die Matrix   eignet sich in der Regel eine Initialisierung als Diagonalmatrix mit Werten größer 100. Hohe Werte bedeuten geringes Vertrauen in die Parameter, was zu stärkeren Parameterkorrekturen führt, die anfänglich durchaus erwünscht sind.

Damit das Verfahren stabil bleibt, muss die Matrix   positiv definit bleiben. Durch numerische Ungenauigkeiten während der Berechnung können jedoch negative Eigenwerte entstehen. Deshalb wurden Implementierungen des RLS-Algorithmus entwickelt, die sich als numerisch stabiler erweisen, was z. B. durch die Einbindung einer QR-Zerlegung erreicht werden kann. Allerdings steigt hierbei der Rechenaufwand.

Beispiel Bearbeiten

Für ein zu identifizierendes System wurde ein PT2-System als Modellfunktion gewählt, dessen zeitdiskrete Realisierung in Form der folgenden Rekursionsgleichung vorliegt:

 

Mit der Zusammenfassung von Modellein- und -ausgang zu   und dem Parametervektor   folgt die matrizielle Schreibweise:

 

Für den gewählten Modellansatz ergibt sich nun folgende Realisierung des RLS-Algorithmus:

 
 

Literatur Bearbeiten

  • Dierk Schröder: Intelligente Verfahren. Springer-Verlag, Berlin, Heidelberg 2010, ISBN 978-3-642-11397-0.
  • Martin Werner: Digitale Signalverarbeitung mit MATLAB®-Praktikum. Vieweg & Sohn Verlag, Wiesbaden 2008, ISBN 978-3-8348-0393-1.