Class QNMinimizer
- java.lang.Object
- 
- opennlp.tools.ml.maxent.quasinewton.QNMinimizer
 
- 
 public class QNMinimizer extends Object Implementation of L-BFGS which supports L1-, L2-regularization and Elastic Net for solving convex optimization problems.Usage example: // Quadratic function f(x) = (x-1)^2 + 10 // f obtains its minimum value 10 at x = 1 Function f = new Function() { @Override public int getDimension() { return 1; } @Override public double valueAt(double[] x) { return StrictMath.pow(x[0]-1, 2) + 10; } @Override public double[] gradientAt(double[] x) { return new double[] { 2*(x[0]-1) }; } }; QNMinimizer minimizer = new QNMinimizer(); double[] x = minimizer.minimize(f); double min = f.valueAt(x);
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfaceQNMinimizer.EvaluatorEvaluate quality of training parameters.static classQNMinimizer.L2RegFunctionL2-regularized objectiveFunction.
 - 
Field SummaryFields Modifier and Type Field Description static doubleCONVERGE_TOLERANCEstatic doubleINITIAL_STEP_SIZEstatic doubleL1COST_DEFAULTstatic doubleL2COST_DEFAULTstatic intM_DEFAULTstatic intMAX_FCT_EVAL_DEFAULTstatic doubleMIN_STEP_SIZEstatic intNUM_ITERATIONS_DEFAULTstatic doubleREL_GRAD_NORM_TOL
 - 
Constructor SummaryConstructors Constructor Description QNMinimizer()Initializes aQNMinimizerwith default parameters.QNMinimizer(double l1Cost, double l2Cost)Initializes aQNMinimizer.QNMinimizer(double l1Cost, double l2Cost, int iterations)Initializes aQNMinimizer.QNMinimizer(double l1Cost, double l2Cost, int iterations, int m, int maxFctEval)Initializes aQNMinimizer.QNMinimizer(double l1Cost, double l2Cost, int iterations, int m, int maxFctEval, boolean verbose)Initializes aQNMinimizer.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description QNMinimizer.EvaluatorgetEvaluator()double[]minimize(Function function)Finds the parameters that minimize the objective function.voidsetEvaluator(QNMinimizer.Evaluator evaluator)
 
- 
- 
- 
Field Detail- 
CONVERGE_TOLERANCEpublic static final double CONVERGE_TOLERANCE - See Also:
- Constant Field Values
 
 - 
REL_GRAD_NORM_TOLpublic static final double REL_GRAD_NORM_TOL - See Also:
- Constant Field Values
 
 - 
INITIAL_STEP_SIZEpublic static final double INITIAL_STEP_SIZE - See Also:
- Constant Field Values
 
 - 
MIN_STEP_SIZEpublic static final double MIN_STEP_SIZE - See Also:
- Constant Field Values
 
 - 
L1COST_DEFAULTpublic static final double L1COST_DEFAULT - See Also:
- Constant Field Values
 
 - 
L2COST_DEFAULTpublic static final double L2COST_DEFAULT - See Also:
- Constant Field Values
 
 - 
NUM_ITERATIONS_DEFAULTpublic static final int NUM_ITERATIONS_DEFAULT - See Also:
- Constant Field Values
 
 - 
M_DEFAULTpublic static final int M_DEFAULT - See Also:
- Constant Field Values
 
 - 
MAX_FCT_EVAL_DEFAULTpublic static final int MAX_FCT_EVAL_DEFAULT - See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
QNMinimizerpublic QNMinimizer() Initializes aQNMinimizerwith default parameters.
 - 
QNMinimizerpublic QNMinimizer(double l1Cost, double l2Cost)Initializes aQNMinimizer.- Parameters:
- l1Cost- The L1-regularization cost.
- l2Cost- The L2-regularization cost.
 
 - 
QNMinimizerpublic QNMinimizer(double l1Cost, double l2Cost, int iterations)Initializes aQNMinimizer.- Parameters:
- l1Cost- The L1-regularization cost.
- l2Cost- The L2-regularization cost.
- iterations- The maximum number of iterations.
 
 - 
QNMinimizerpublic QNMinimizer(double l1Cost, double l2Cost, int iterations, int m, int maxFctEval)Initializes aQNMinimizer.- Parameters:
- l1Cost- The L1-regularization cost.
- l2Cost- The L2-regularization cost.
- iterations- The maximum number of iterations.
- m- The number of Hessian updates to store.
- maxFctEval- The maximum number of function evaluations.
 
 - 
QNMinimizerpublic QNMinimizer(double l1Cost, double l2Cost, int iterations, int m, int maxFctEval, boolean verbose)Initializes aQNMinimizer.- Parameters:
- l1Cost- The L1-regularization cost.
- l2Cost- The L2-regularization cost.
- iterations- The maximum number of iterations.
- m- The number of Hessian updates to store.
- maxFctEval- The maximum number of function evaluations.
- verbose- Whether verbose output is printed, or not.
 
 
- 
 - 
Method Detail- 
getEvaluatorpublic QNMinimizer.Evaluator getEvaluator() 
 - 
setEvaluatorpublic void setEvaluator(QNMinimizer.Evaluator evaluator) 
 
- 
 
-