LBFGSPrms

scalation.optimization.quasi_newton.LBFGSPrms
case class LBFGSPrms(m: Int, epsilon: Double, past: Int, delta: Double, maxIterations: Int, lineSearch: LBFGSLineSearchAlg, lineSearchPrms: LBFGSLineSearchPrms, orthantWise: Option[OrthantWisePrms])

The LBFGSPrms class is used to group together all parameters that control the L-BFGS optimization process.

Value parameters

delta

delta for convergence test. Determines the minimum rate of decrease of the objective function. The optimization stops iterations when the following condition is met: (f'-f)/f < delta. In the formula, f' is the objective value of past iterations ago, and f is the objective value of the current iteration. The default value is 1e-5.

epsilon

epsilon for convergence test. Determines the accuracy with which the solution is to be found. A minimization terminates when: ||g|| < epsilon * max(1, ||x||). In the formula, ||.|| denotes the Euclidean L2-norm. The default value is 1e-5.

lineSearch

LBFGSLineSearchAlg to specify what line search algorithm should be used. The default value is LBFGSLineSearchAlg.Default.

lineSearchPrms

BFGSLineSearchPrms to specify the parameters needed during the execution of the line search algorithm routine.

m

number of past iterations stored in memory to approximate the inverse Hessian matrix of the current iteration. Values less than 3 are not recommended. Large values will result in excessive computing time. The default value is 6.

maxIterations

the maximum number of iterations. The lbfgsMain and lbfgsMainCWrapper methods in Wrapper terminate an optimization process with the LBFGSReturnCode.MaximumIteration return code when the iteration count exceeds this parameter. Setting this parameter to zero continues the optimization process until a convergence or error. The default value is 0.

orthantWise

Option of type OrthantWisePrms that specifies whether the Orthant-Wise Limited-memory Quasi-Newton (OWL-QN) optimization method should be used when calculating the value to be optimized. If this parameter is set to Some, then the lineSearch parameter should always be set to LBFGSLineSearchAlg.BacktrackingOrthantWise or the optimization will terminate with the return code LBFGSReturnCode.InvalidLineSearch. The same will occur when the lineSearch parameter is set to LBFGSLineSearchAlg.BacktrackingOrthantWise and this parameter is set to None.

past

distance for delta-based convergence test. Determines how many iterations to compute the rate of decrease of the objective function. A value of zero implies the delta-based convergence test will not be performed. The default value is 0.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product