Der Levenberg-Marquardt-Algorithmus, benannt nach Kenneth Levenberg und Donald Marquardt, ist ein numerischer Optimierungsalgorithmus zur Lösung nichtlinearer Ausgleichs-Probleme mit Hilfe der Methode der kleinsten Quadrate. Das Verfahren kombiniert das Gauß-Newton-Verfahren mit einer Regularisierungstechnik, die absteigende Funktionswerte erzwingt.

Der Levenberg-Marquardt-Algorithmus ist deutlich robuster als das Gauß-Newton-Verfahren, das heißt, er konvergiert mit einer hohen Wahrscheinlichkeit auch bei schlechten Startbedingungen, allerdings ist auch hier Konvergenz nicht garantiert. Ferner ist er bei Anfangswerten, die nahe dem Minimum liegen, oft etwas langsamer.

Beschreibung Bearbeiten

Für die nichtlineare Funktion   soll das Kleinste-Quadrate-Minimierungsproblem (mit einer kleineren Anzahl von unabhängigen Variablen gegenüber der Zahl der Funktionskomponenten)

 

ausgehend von einer Startnäherung   gelöst werden.

Wie beim Gauß-Newton-Verfahren wird F(x) in jedem Schritt durch eine Linearisierung ersetzt und das Ersatzproblem:

 

betrachtet. Dabei ist J die Jacobi-Matrix der Funktion F.

Der Standard Gauß-Newton-Schritt berechnet den neuen Punkt   als Lösung eines linearen Gleichungssystems mit der Koeffizientenmatrix  . Wenn diese Matrix schlecht konditioniert oder singulär ist, kann der Algorithmus nur einen suboptimalen (d. h. die Zielfunktion wird nicht verbessert) bzw. gar keinen Schritt machen. Besonders bei schlecht konditionierten und „fast singulären“ Matrizen ergeben sich zudem erhebliche numerische Schwierigkeiten. Der Levenberg-Marquardt-Algorithmus umgeht diese Probleme, indem er die Koeffizientenmatrix des linearen Gleichungssystems auf die Form   erweitert, wobei   eine Diagonalmatrix ist die sicherstellt, dass der gesamte Term positiv definit ist.

Der vollständige Levenberg-Marquardt-Iterationsschritt lautet

 

wobei   eine Schrittweite ist.

Eine weit verbreitete Form für die Diagonalmatrix ist  , mit   und   der Einheitsmatrix. Diese Form wurde auch in den originalen Artikeln von Levenberg und Marquardt vorgeschlagen. Für den Fall   reduziert sich der Levenberg-Marquardt Iterationsschritt zum Gauß-Newton Schritt. Im Fall   dominiert hingegen die Einheitsmatrix gegenüber dem Term  , und der Levenberg-Marquardt-Iterationsschritt reduziert sich zu einem Gradientenschritt. Mit der Wahl von   kann somit stufenlos zwischen Gradientenschritt und Gauß-Newton Schritt gewählt werden.

Eine alternative Sichtweise ergibt sich aus der Beobachtung, dass das linearisierte Ersatzproblem   nur in einer kleinen Umgebung des Linearisierungspunkts eine gute Annäherung an das Originalproblem darstellt. Eine unrestringierte Minimierung macht jedoch unter Umständen sehr große Schritte, die diese kleine Umgebung verlassen. Aus diesem Grund ersetzt man die unrestringierte Optimierung durch die restringierte Optimierung   mit  , d. h. man beschränkt die Optimierung auf eine kleine Nachbarschaft um den Linearisierungspunkt. Aus diesem Grund werden Methoden dieser Art häufig Trust-Region-Verfahren genannt. Man kann zeigen, dass die restringierte Optimierung genau auf die Form   für die Koeffizientenmatrix des linearen Gleichungssystems führt.

Konvergenz Bearbeiten

Das Levenberg-Marquardt-Verfahren geht lokal in das Gauß-Newton-Verfahren über. Damit ist die Konvergenz lokal linear und nahe dem Optimum sogar quadratisch.

Literatur Bearbeiten

  • K. Levenberg: A Method for the Solution of Certain Problems in Least Squares, Quart. Appl. Math. 2, 164-168, 1944.
  • D. Marquardt: An Algorithm for Least-Squares Estimation of Nonlinear Parameters, SIAM J. Appl. Math. 11, 431-441, 1963.
  • Jorge J. Moré: The Levenberg-Marquardt algorithm: Implementation and theory. In G. A. Watson (ed.): Numerical Analysis. Dundee 1977, Lecture Notes Math. 630, 1978, S. 105–116
  • P. Gill, W. Murray und M. Wright: Practical Optimization, Academic Press 1981
  • J. E. Dennis, Jr., und R. B. Schnabel: Numerical methods for unconstrained optimization and nonlinear equations. Prentice-Hall Series in Computational Mathematics, Englewood Cliffs 1983

Weblinks Bearbeiten

Frei verfügbare Implementierungen des Levenberg-Marquardt-Algorithmus: