In the preceding sections, algorithms for solving nonlinear systems were divided into gradient-descent methods and Gauss-Newton methods. For a more detailed treatment, see (MBT04).
In Gauss-Newton methods, when
is positive definite, the method always provides a descent direction for the cost function. However, when
becomes singular, the method can become numerically unstable.
The technique proposed by Levenberg-Marquardt seeks to combine the strengths of Gauss-Newton and gradient descent, benefiting from both.
The Levenberg-Marquardt (LM) algorithm is an iterative technique now considered standard for solving multivariable nonlinear problems. A detailed description of the algorithm is available in (Lou05).
LM can be viewed as consisting of an initial gradient-descent phase, slower but more stable, followed by a Gauss-Newton-type solver, faster but less robust.
The algorithm solves a modified version of equation (4.52), a special case of equation (4.38), known as the augmented normal equations:
Unlike line search, LM implements the concept of a trust region, dynamically adapting the region within which the model linearization is assumed to be valid.
As in the Gauss-Newton method, LM exploits the Hessian approximation:
| (4.57) |
The initial choice and the update of parameter between iterations are left to the solver, and several strategies have been proposed in the literature.
One of the most widely used implementations (Nie99) proposes initializing as:
| (4.58) |
The update of is guided by the gain ratio
:
| (4.59) |
A high value of indicates that the model linearization is effective, and
can be reduced.
Conversely, if
is low or negative,
must be increased to approach gradient-descent behavior.
When
, the model and data are in good agreement.
The update of can be managed according to the following rule:
Paolo medici