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 may become numerically unstable.
The technique proposed by Levenberg-Marquardt attempts to combine the strengths of Gauss-Newton and gradient descent, taking advantage of both.
The Levenberg-Marquardt (LM) algorithm is an iterative technique now considered standard for solving multivariate nonlinear problems. A detailed description of the algorithm is available in (Lou05).
LM can be viewed as consisting of an initial gradient-descent phase, which is slower but stable, followed by a Gauss-Newton-type solver, which is faster but less robust.
The algorithm solves a modified version of equation (4.49), a special case of equation (4.35), 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.54) |
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) initializes as:
| (4.55) |
The update of is guided by the gain ratio
:
| (4.56) |
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
, there is good agreement between the model and the data.
The update of can be managed according to the following rule:
Paolo medici