public class LBFGS extends Object implements Optimizer, Logging
http://en.wikipedia.org/wiki/Limited-memory_BFGS
param: gradient Gradient function to be used.
param: updater Updater to be used to update weights after every iteration.Constructor and Description |
---|
LBFGS(Gradient gradient,
Updater updater) |
Modifier and Type | Method and Description |
---|---|
Vector |
optimize(RDD<scala.Tuple2<Object,Vector>> data,
Vector initialWeights)
Solve the provided convex optimization problem.
|
static scala.Tuple2<Vector,double[]> |
runLBFGS(RDD<scala.Tuple2<Object,Vector>> data,
Gradient gradient,
Updater updater,
int numCorrections,
double convergenceTol,
int maxNumIterations,
double regParam,
Vector initialWeights)
Run Limited-memory BFGS (L-BFGS) in parallel.
|
LBFGS |
setConvergenceTol(double tolerance)
Set the convergence tolerance of iterations for L-BFGS.
|
LBFGS |
setGradient(Gradient gradient)
Set the gradient function (of the loss function of one single data example)
to be used for L-BFGS.
|
LBFGS |
setMaxNumIterations(int iters)
Deprecated.
use
setNumIterations(int) instead |
LBFGS |
setNumCorrections(int corrections)
Set the number of corrections used in the LBFGS update.
|
LBFGS |
setNumIterations(int iters)
Set the maximal number of iterations for L-BFGS.
|
LBFGS |
setRegParam(double regParam)
Set the regularization parameter.
|
LBFGS |
setUpdater(Updater updater)
Set the updater function to actually perform a gradient step in a given direction.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
initializeIfNecessary, initializeLogging, isTraceEnabled, log_, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning
public static scala.Tuple2<Vector,double[]> runLBFGS(RDD<scala.Tuple2<Object,Vector>> data, Gradient gradient, Updater updater, int numCorrections, double convergenceTol, int maxNumIterations, double regParam, Vector initialWeights)
data
- - Input data for L-BFGS. RDD of the set of data examples, each of
the form (label, [feature values]).gradient
- - Gradient object (used to compute the gradient of the loss function of
one single data example)updater
- - Updater function to actually perform a gradient step in a given direction.numCorrections
- - The number of corrections used in the L-BFGS update.convergenceTol
- - The convergence tolerance of iterations for L-BFGS which is must be
nonnegative. Lower values are less tolerant and therefore generally
cause more iterations to be run.maxNumIterations
- - Maximal number of iterations that L-BFGS can be run.regParam
- - Regularization parameter
initialWeights
- (undocumented)public LBFGS setNumCorrections(int corrections)
corrections
- (undocumented)public LBFGS setConvergenceTol(double tolerance)
tolerance
- (undocumented)public LBFGS setMaxNumIterations(int iters)
setNumIterations(int)
insteaditers
- (undocumented)public LBFGS setNumIterations(int iters)
iters
- (undocumented)public LBFGS setRegParam(double regParam)
regParam
- (undocumented)public LBFGS setGradient(Gradient gradient)
gradient
- (undocumented)public LBFGS setUpdater(Updater updater)
updater
- (undocumented)