Levenberg-Marquardt-Algorithmus
Der Levenberg-Marquardt-Algorithmus, benannt nach Kenneth Levenberg und Donald Marquardt ist ein numerischer Optimierungsalgorithmus, der eine, in der Regel nicht-lineare Funktion minimiert. Diese Lösungsstrategie kombiniert das Gauß-Newton-Verfahren und das Gradientenabstiegsverfahren. Der LMA ist deutlich robuster als der GNA, dh. er konvergiert mit einer hohen Wahrscheinlichkeit auch bei schlechten Startbedingungen. Jedoch ist er bei Anfangswerten, die nahe dem Minimum liegen oft etwas langsamer.
Ziel des Algorithmus ist es, eine zweifach differenzierbare Funktion zu minimieren. Dabei gilt :
Da für nicht-quadratische Funktionen die Hesse-Matrix nicht immer positiv definit ist, könnte der Algorithmus möglicherweise in eine falsche Richtung laufen. Darum wird ein Korrektur-Term eingeführt.
Da nun lassen sich nach folgendem Schema der Punkt berechnen :
Man wählt ein passendes und einen Startpunkt , an dem ) und errechnet werden. Außerdem werden noch drei Konstanten benötigt.
- Falls nicht positiv definit, dann und gehe zurück zu 1.
- Falls dann , und gehe zurück zu 1.
Literatur
- Levenberg, K. "A Method for the Solution of Certain Problems in Least Squares." Quart. Appl. Math. 2, 164-168, 1944.
- Marquardt, D. "An Algorithm for Least-Squares Estimation of Nonlinear Parameters." SIAM J. Appl. Math. 11, 431-441, 1963.