![]() |
OpenANN
1.1.0
An open source library for artificial neural networks.
|
Limited storage Broyden-Fletcher-Goldfarb-Shanno. More...
#include <LBFGS.h>
Inheritance diagram for OpenANN::LBFGS: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.
1.8.4