## Class 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
return new double[] { 2*(x[0]-1) };
}

};

QNMinimizer minimizer = new QNMinimizer();
double[] x = minimizer.minimize(f);
double min = f.valueAt(x);

• ### Field Detail

• #### CONVERGE_TOLERANCE

public static final double CONVERGE_TOLERANCE
Constant Field Values

Constant Field Values
• #### INITIAL_STEP_SIZE

public static final double INITIAL_STEP_SIZE
Constant Field Values
• #### MIN_STEP_SIZE

public static final double MIN_STEP_SIZE
Constant Field Values
• #### L1COST_DEFAULT

public static final double L1COST_DEFAULT
Constant Field Values
• #### L2COST_DEFAULT

public static final double L2COST_DEFAULT
Constant Field Values
• #### NUM_ITERATIONS_DEFAULT

public static final int NUM_ITERATIONS_DEFAULT
Constant Field Values
• #### MAX_FCT_EVAL_DEFAULT

public static final int MAX_FCT_EVAL_DEFAULT
Constant Field Values
• ### Constructor Detail

• #### QNMinimizer

public QNMinimizer()
• #### QNMinimizer

public QNMinimizer​(double l1Cost,
double l2Cost)
• #### QNMinimizer

public QNMinimizer​(double l1Cost,
double l2Cost,
int iterations)
• #### QNMinimizer

public QNMinimizer​(double l1Cost,
double l2Cost,
int iterations,
int m,
int maxFctEval)
• #### QNMinimizer

public QNMinimizer​(double l1Cost,
double l2Cost,
int iterations,
int m,
int maxFctEval,
boolean verbose)
Constructor
Parameters:
l1Cost - L1-regularization cost
l2Cost - L2-regularization cost
iterations - maximum number of iterations
m - number of Hessian updates to store
maxFctEval - maximum number of function evaluations
verbose - verbose output
• ### Method Detail

• #### minimize

public double[] minimize​(Function function)
Find the parameters that minimize the objective function
Parameters:
function - objective function
Returns:
minimizing parameters