Class LevenbergMarquardtDampened
- java.lang.Object
-
- org.ddogleg.optimization.impl.LevenbergBase
-
- org.ddogleg.optimization.impl.LevenbergDenseBase
-
- org.ddogleg.optimization.impl.LevenbergMarquardtDampened
-
public class LevenbergMarquardtDampened extends LevenbergDenseBase
Modification of
LevenbergDampenedwhich incorporates the insight of Marquardt. The insight was to use the function's curvature information to increase dampening along directions with a larger gradient. In practice this method seems to do better on nearly singular systems.The step 'x' is computed using the following formula: [J(k)'*J(k) + μ*diag(J(k)'*J(k))]x = -g = -J'*f
where J is the Jacobian, μ is the damping coefficient, g is the gradient, f is the functions output.The linear solver it uses is specified in the constructor. Cholesky based solver will be the fastest but can fail if the J(x)'J(x) matrix is nearly singular. In those situations a pseudo inverse type solver should be used, which is immune to that type of problem but much more expensive.
-
-
Constructor Summary
Constructors Constructor and Description LevenbergMarquardtDampened(org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DenseMatrix64F> solver, double initialDampParam)Specifies termination condition and linear solver.
-
Method Summary
-
Methods inherited from class org.ddogleg.optimization.impl.LevenbergDenseBase
setFunction
-
Methods inherited from class org.ddogleg.optimization.impl.LevenbergBase
addToMessage, getFnorm, getIterationCount, getMessage, getParameters, initialize, isConverged, isUpdatedParameters, iterate, setConvergence, setInitialDampParam
-
-
-
-
Constructor Detail
-
LevenbergMarquardtDampened
public LevenbergMarquardtDampened(org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DenseMatrix64F> solver, double initialDampParam)Specifies termination condition and linear solver. Selection of the linear solver an effect speed and robustness.- Parameters:
solver- Linear solver. Cholesky or pseudo-inverse are recommended.initialDampParam- Initial value of the dampening parameter. Tune.. try 1e-3;
-
-
DataMelt 3.0 © DataMelt by jWork.ORG