Namespace NOpenNLP.Tools.Ml.Maxent.Quasinewton

Classes

LineSearch

Class that performs line search to find minimum

LineSearch.LineSearchResult

Class to store lineSearch result

NegLogLikelihood

Evaluate negative log-likelihood and its gradient from DataIndexer.

ParallelNegLogLikelihood

Evaluate negative log-likelihood and its gradient in parallel

QNMinimizer

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
IFunction f = new QuadraticFunction();

QNMinimizer minimizer = new QNMinimizer();
double[] x = minimizer.Minimize(f);
double min = f.ValueAt(x);
QNMinimizer.L2RegFunction

L2-regularized objective function

QNModel
QNTrainer

Maxent model trainer using L-BFGS algorithm.

Interfaces

IFunction

Interface for a function

QNMinimizer.IEvaluator

Evaluate quality of training parameters. For example, it can be used to report model's training accuracy when we train a Maximum Entropy classifier.