|
|
lucid
0.0.1
Lifting-based Uncertain Control Invariant Dynamics
|
Optimiser that uses the L-BFGS algorithm. More...
#include <LbfgsTuner.h>
Public Member Functions | |
| LbfgsTuner (const LbfgsParameters ¶meters={}) | |
Construct a new LbfgsTuner with the provided parameters. | |
| LbfgsTuner (const Eigen::VectorXd &lb, const Eigen::VectorXd &ub, const LbfgsParameters ¶meters={}) | |
Construct a new LbfgsTuner with the provided bounds and parameters. | |
| LbfgsTuner (const std::vector< std::pair< Scalar, Scalar > > &bounds, const LbfgsParameters ¶meters={}) | |
Construct a new LbfgsTuner with the provided bounds and parameters. | |
| bool | is_bounded () const |
| Check whether the optimisation is bounded. | |
| const LbfgsParameters & | parameters () const |
| Get read-only access to the parameters of the L-BGS optimisation. | |
| std::string | to_string () const override |
| Obtain the string representation of this object. | |
Public Member Functions inherited from lucid::Tuner | |
| void | tune (Estimator &estimator, ConstMatrixRef training_inputs, ConstMatrixRef training_outputs) const |
| Optimise the kernel hyperparameters. | |
| void | tune_online (Estimator &estimator, ConstMatrixRef training_inputs, const OutputComputer &training_outputs) const |
| Optimise the kernel hyperparameters. | |
Private Member Functions | |
| void | tune_impl (Estimator &estimator, ConstMatrixRef training_inputs, const OutputComputer &training_outputs) const override |
| Optimise the kernel hyperparameters. | |
Private Attributes | |
| Eigen::VectorXd | lb_ |
| Lower bounds for the parameters. If empty, no bounds are applied. | |
| Eigen::VectorXd | ub_ |
| Upper bounds for the parameters. If empty, no bounds are applied. | |
| LbfgsParameters | parameters_ |
| Optimization parameters for the L-BFGS algorithm. | |
Optimiser that uses the L-BFGS algorithm.
It optimizes the parameters of an estimator by minimizing the loss function. It can operate with or without bounds on the parameters. If bounds are provided, they must match the dimension of the solution space. Note that the solution space for isotropic estimators (i.e., those where the parameters are the same for all dimensions) will always have a dimension of 1.
|
explicit |
Construct a new LbfgsTuner with the provided parameters.
| parameters | optimization parameters for the L-BFGS algorithm |
|
explicit |
Construct a new LbfgsTuner with the provided bounds and parameters.
The solution will be constrained to the provided bounds. The size of the bounds must match the dimension of the solution space.
lb and ub must have the same size | lb | Lower bounds for the parameters |
| ub | Upper bounds for the parameters |
| parameters | optimization parameters for the L-BFGS algorithm |
|
explicit |
Construct a new LbfgsTuner with the provided bounds and parameters.
The solution will be constrained to the provided bounds. The size of the bounds must match the dimension of the solution space.
| bounds | vector of pairs of lower and upper bounds |
| parameters | optimization parameters for the L-BFGS algorithm |
|
nodiscard |
Check whether the optimisation is bounded.
|
inlinenodiscard |
Get read-only access to the parameters of the L-BGS optimisation.
|
nodiscardoverridevirtual |
Obtain the string representation of this object.
Reimplemented from lucid::Tuner.
|
overrideprivatevirtual |
Optimise the kernel hyperparameters.
Starting from the initial guess, the optimiser finds the best hyperparameters for the kernel. It is up to the subclass to determine the optimisation algorithm used.
| estimator | estimator to optimise |
| training_inputs | training input data |
| training_outputs | training output data. It uses an OutputComputer to compute the outputs when needed |
Implements lucid::Tuner.