OpenANN
1.1.0
An open source library for artificial neural networks.
|
Limited storage Broyden-Fletcher-Goldfarb-Shanno. More...
#include <LBFGS.h>
Public Member Functions | |
LBFGS (int m=10) | |
Create L-BFGS optimizer. More... | |
virtual | ~LBFGS () |
virtual void | setStopCriteria (const StoppingCriteria &stop) |
Pass the stop criteria. More... | |
virtual void | setOptimizable (Optimizable &optimizable) |
Pass the objective function. More... | |
virtual void | optimize () |
Optimize until the optimization meets the stop criteria. More... | |
virtual bool | step () |
Execute one optimization step. More... | |
void | initialize () |
void | reset () |
virtual Eigen::VectorXd | result () |
Determine the best result. More... | |
virtual std::string | name () |
Get the name of the optimization algorithm. More... | |
Public Member Functions inherited from OpenANN::Optimizer | |
virtual | ~Optimizer () |
Limited storage Broyden-Fletcher-Goldfarb-Shanno.
L-BFGS is a quasi-Newton optimization algorithm that uses a low-rank approximation of the Hessian (second derivative).
OpenANN::LBFGS::LBFGS | ( | int | m = 10 ) |
Create L-BFGS optimizer.
m | Number of corrections of the Hessian approximation update in BFGS scheme. Small values cause worse convergence, bigger values will not cause a considerably better convergence, but will decrease the performance. |
|
inlinevirtual |
void OpenANN::LBFGS::initialize | ( | ) |
|
virtual |
Get the name of the optimization algorithm.
Implements OpenANN::Optimizer.
|
virtual |
Optimize until the optimization meets the stop criteria.
Implements OpenANN::Optimizer.
void OpenANN::LBFGS::reset | ( | ) |
|
virtual |
Determine the best result.
Implements OpenANN::Optimizer.
|
virtual |
Pass the objective function.
optimizable | objective function, e. g. error function of an ANN |
Implements OpenANN::Optimizer.
|
virtual |
Pass the stop criteria.
sc | the parameters used to stop the optimization |
Implements OpenANN::Optimizer.
|
virtual |
Execute one optimization step.
Implements OpenANN::Optimizer.