public class StochasticHessianFree extends Object implements OptimizerMatrix
Constructor and Description |
---|
StochasticHessianFree(OptimizableByGradientValueMatrix function,
BaseMultiLayerNetwork network) |
StochasticHessianFree(OptimizableByGradientValueMatrix function,
double initialStepSize,
BaseMultiLayerNetwork network) |
StochasticHessianFree(OptimizableByGradientValueMatrix function,
double initialStepSize,
IterationListener listener,
BaseMultiLayerNetwork network) |
StochasticHessianFree(OptimizableByGradientValueMatrix function,
IterationListener listener,
BaseMultiLayerNetwork network) |
Modifier and Type | Method and Description |
---|---|
Pair<org.nd4j.linalg.api.ndarray.INDArray,Double> |
cgBackTrack(List<org.nd4j.linalg.api.ndarray.INDArray> chs,
org.nd4j.linalg.api.ndarray.INDArray p)
Iterate through the current applyTransformToDestination of gradients
and backtrack upon an optimal step
that improves the current score
|
Pair<List<Integer>,List<org.nd4j.linalg.api.ndarray.INDArray>> |
conjGradient(org.nd4j.linalg.api.ndarray.INDArray b,
org.nd4j.linalg.api.ndarray.INDArray x0,
org.nd4j.linalg.api.ndarray.INDArray preCon,
int numIterations) |
int |
getMaxIterations() |
boolean |
isConverged()
Whether the algorithm is converged
|
double |
lineSearch(double newScore,
org.nd4j.linalg.api.ndarray.INDArray params,
org.nd4j.linalg.api.ndarray.INDArray p)
Search with the proposed objective
|
boolean |
optimize()
Run optimize
|
boolean |
optimize(int numIterations)
Run optimize up to the specified number of epochs
|
void |
reset() |
void |
setMaxIterations(int maxIterations)
The default max number of iterations to run
|
void |
setTolerance(double tolerance)
The tolerance for change when running
|
void |
setTrainingEvaluator(TrainingEvaluator eval)
Sets the training evaluator
|
public StochasticHessianFree(OptimizableByGradientValueMatrix function, double initialStepSize, BaseMultiLayerNetwork network)
public StochasticHessianFree(OptimizableByGradientValueMatrix function, IterationListener listener, BaseMultiLayerNetwork network)
public StochasticHessianFree(OptimizableByGradientValueMatrix function, double initialStepSize, IterationListener listener, BaseMultiLayerNetwork network)
public StochasticHessianFree(OptimizableByGradientValueMatrix function, BaseMultiLayerNetwork network)
public boolean isConverged()
OptimizerMatrix
isConverged
in interface OptimizerMatrix
public boolean optimize()
OptimizerMatrix
optimize
in interface OptimizerMatrix
public Pair<List<Integer>,List<org.nd4j.linalg.api.ndarray.INDArray>> conjGradient(org.nd4j.linalg.api.ndarray.INDArray b, org.nd4j.linalg.api.ndarray.INDArray x0, org.nd4j.linalg.api.ndarray.INDArray preCon, int numIterations)
public double lineSearch(double newScore, org.nd4j.linalg.api.ndarray.INDArray params, org.nd4j.linalg.api.ndarray.INDArray p)
newScore
- the new score to start withparams
- the params of the proposed steppublic Pair<org.nd4j.linalg.api.ndarray.INDArray,Double> cgBackTrack(List<org.nd4j.linalg.api.ndarray.INDArray> chs, org.nd4j.linalg.api.ndarray.INDArray p)
chs
- the proposed changespublic boolean optimize(int numIterations)
OptimizerMatrix
optimize
in interface OptimizerMatrix
numIterations
- the max number of epochs to runpublic void setTrainingEvaluator(TrainingEvaluator eval)
setTrainingEvaluator
in interface OptimizerMatrix
eval
- the evaluator to usepublic void reset()
public int getMaxIterations()
public void setMaxIterations(int maxIterations)
OptimizerMatrix
setMaxIterations
in interface OptimizerMatrix
public void setTolerance(double tolerance)
setTolerance
in interface OptimizerMatrix
tolerance
- Copyright © 2014. All rights reserved.