lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
lucid::Tuner Class Referenceabstract

Optimise the kernel hyperparameters. More...

#include <Tuner.h>

Inheritance diagram for lucid::Tuner:
lucid::GridSearchTuner lucid::LbfgsTuner lucid::MedianHeuristicTuner

Public Member Functions

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.
 
virtual std::string to_string () const
 Obtain the string representation of this object.
 

Protected Member Functions

virtual void tune_impl (Estimator &estimator, ConstMatrixRef training_inputs, const OutputComputer &training_outputs) const =0
 Optimise the kernel hyperparameters.
 

Detailed Description

Optimise the kernel hyperparameters.

Given a kernel, the optimiser finds the best hyperparameters for the kernel. The optimiser subclass determines the optimisation algorithm.

Member Function Documentation

◆ to_string()

std::string lucid::Tuner::to_string ( ) const
nodiscardvirtual

Obtain the string representation of this object.

Returns
string representation of this object

Reimplemented in lucid::GridSearchTuner, lucid::LbfgsTuner, and lucid::MedianHeuristicTuner.

◆ tune()

void lucid::Tuner::tune ( Estimator & estimator,
ConstMatrixRef training_inputs,
ConstMatrixRef training_outputs ) const

Optimise the kernel hyperparameters.

Starting from the initial guess, the optimiser finds the best hyperparameters for the kernel.

Note
The method must call the consolidate method of the estimator to ensure that the kernel is ready to be used.
Precondition
The number of rows in the training inputs should be equal to the number of rows in the training outputs.
Parameters
estimatorestimator to optimise
training_inputstraining input data
training_outputstraining output data

◆ tune_impl()

virtual void lucid::Tuner::tune_impl ( Estimator & estimator,
ConstMatrixRef training_inputs,
const OutputComputer & training_outputs ) const
protectedpure virtual

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.

Note
The method must call the consolidate method of the estimator to ensure that the kernel is ready to be used.
Precondition
The number of rows in the training inputs should be equal to the number of rows in the training outputs.
Todo
If the OutputComputer becomes a bottleneck, consider having a separate method for when the outputs are available from the get-go.
Parameters
estimatorestimator to optimise
training_inputstraining input data
training_outputstraining output data. It uses an OutputComputer to compute the outputs when needed

Implemented in lucid::GridSearchTuner, lucid::LbfgsTuner, and lucid::MedianHeuristicTuner.

◆ tune_online()

void lucid::Tuner::tune_online ( Estimator & estimator,
ConstMatrixRef training_inputs,
const OutputComputer & training_outputs ) const

Optimise the kernel hyperparameters.

Starting from the initial guess, the optimiser finds the best hyperparameters for the kernel.

Note
The method must call the consolidate method of the estimator to ensure that the kernel is ready to be used.
Precondition
The number of rows in the training inputs should be equal to the number of rows in the training outputs.
Parameters
estimatorestimator to optimise
training_inputstraining input data
training_outputstraining output data. It uses an OutputComputer to compute the outputs when needed

The documentation for this class was generated from the following files: