In the previous sections, the algorithms for solving nonlinear systems have been divided into gradient descent algorithms and Gauss-Newton algorithms. For a more in-depth reading, I recommend (MBT04).
In Gauss-Newton methods, when
is positive definite, the method can always indicate a direction where the cost decreases. When
becomes singular, the Gauss-Newton method becomes numerically unstable.
The technique proposed by Levenberg-Marquardt aims to leverage the strengths of both Gauss-Newton and gradient descent methods in order to benefit from both.
The Levenberg-Marquardt (LM) algorithm is an iterative regression technique that is now considered standard for solving multivariable nonlinear problems. An excellent description of the algorithm can be found in (Lou05). The algorithm can be viewed as consisting of a slow yet convergent gradient descent phase, followed by a faster Gauss-Newton type solver.
The Levenberg-Marquardt algorithm solves a slightly different version of the equation (3.43), a special case of the equation (3.34), known as the augmented normal equations:
In the Levenberg-Marquardt method, the approximation of the Hessian
is also typically utilized, as seen in the Gauss-Newton method, but is limited to the case where the loss function is quadratic.
How to set and modify between iterations is, however, a problem left to the solver, and various techniques are proposed in the literature.
One of the most widely used implementations (Nie99) selects as a value of the type
| (3.48) |
| (3.49) |
Paolo medici