BayesOpt
|
Bayesian optimization for functions in continuous input spaces. More...
#include <bayesopt.hpp>
Public Member Functions | |
ContinuousModel (size_t dim, Parameters params) | |
Constructor. More... | |
virtual | ~ContinuousModel () |
Default destructor. | |
void | setBoundingBox (const vectord &lowerBound, const vectord &upperBound) |
Sets the bounding box. More... | |
Public Member Functions inherited from bayesopt::BayesOptBase | |
BayesOptBase (size_t dim, Parameters params) | |
Constructor. More... | |
virtual | ~BayesOptBase () |
Default destructor. | |
virtual double | evaluateSample (const vectord &query)=0 |
Function that defines the actual function to be optimized. More... | |
virtual bool | checkReachability (const vectord &query) |
This function checks if the query is valid or not. More... | |
void | optimize (vectord &bestPoint) |
Execute the optimization process of the function defined in evaluateSample. More... | |
void | stepOptimization () |
Execute ONE step the optimization process of the function defined in evaluateSample. | |
void | initializeOptimization () |
Initialize the optimization process. More... | |
vectord | getFinalResult () |
Once the optimization has been perfomed, return the optimal point. More... | |
void | saveOptimization (BOptState &state) |
Saves the current state of the optimization process into a state class. More... | |
void | restoreOptimization (BOptState state) |
Restores the optimization process of a previous execution. | |
ProbabilityDistribution * | getPrediction (const vectord &query) |
const Dataset * | getData () |
Parameters * | getParameters () |
double | getValueAtMinimum () |
size_t | getCurrentIter () |
double | evaluateCriteria (const vectord &query) |
Protected Member Functions | |
vectord | samplePoint () |
Sample a single point in the input space. More... | |
void | findOptimal (vectord &xOpt) |
Call the inner optimization method to find the optimal point acording to the criteria. More... | |
vectord | remapPoint (const vectord &x) |
Remap the point x to the original space (e.g. More... | |
void | generateInitialPoints (matrixd &xPoints) |
Selects the initial set of points to build the surrogate model. More... | |
Protected Member Functions inherited from bayesopt::BayesOptBase | |
vectord | getPointAtMinimum () |
Get optimal point in the inner space (e.g. More... | |
double | evaluateSampleInternal (const vectord &query) |
Wrapper for the target function adding any preprocessing or constraint. More... | |
void | plotStepData (size_t iteration, const vectord &xNext, double yNext) |
Print data for every step according to the verbose level. More... | |
void | saveInitialSamples (matrixd xPoints) |
Eases the process of saving a state during initial samples. | |
void | saveResponse (double yPoint, bool clear) |
Private Member Functions | |
ContinuousModel () | |
Default constructor forbidden. | |
Private Attributes | |
boost::scoped_ptr< utils::BoundingBox< vectord > > | mBB |
Bounding Box (input space limits) | |
boost::scoped_ptr< NLOPT_Optimization > | cOptimizer |
boost::scoped_ptr< CritCallback > | mCallback |
Additional Inherited Members | |
Protected Attributes inherited from bayesopt::BayesOptBase | |
Parameters | mParameters |
Configuration parameters. | |
size_t | mDims |
Number of dimensions. | |
size_t | mCurrentIter |
Current iteration number. | |
boost::mt19937 | mEngine |
Random number generator. | |
Bayesian optimization for functions in continuous input spaces.
It requires box constrains for the input space. More exactly: .
Usage:
Optimization can be run in batch mode calling
or step by step.
This model can also be used for discrete/integer data, provided that the callback function provides the corresponding casting or nearest neighbour.
Definition at line 78 of file bayesopt.hpp.
bayesopt::ContinuousModel::ContinuousModel | ( | size_t | dim, |
Parameters | params | ||
) |
Constructor.
dim | number of input dimensions |
params | set of parameters (see parameters.h) |
Definition at line 50 of file bayesoptcont.cpp.
References bayesopt::COMBINED, and bayesopt::Parameters::n_inner_iterations.
|
protectedvirtual |
Call the inner optimization method to find the optimal point acording to the criteria.
xOpt | optimal point |
Implements bayesopt::BayesOptBase.
Definition at line 99 of file bayesoptcont.cpp.
References bayesopt::BayesOptBase::mEngine.
|
protectedvirtual |
Selects the initial set of points to build the surrogate model.
Implements bayesopt::BayesOptBase.
Definition at line 134 of file bayesoptcont.cpp.
References bayesopt::Parameters::init_method, bayesopt::BayesOptBase::mEngine, bayesopt::BayesOptBase::mParameters, and bayesopt::utils::samplePoints().
|
protectedvirtual |
Remap the point x to the original space (e.g.
: unnormalization)
Implements bayesopt::BayesOptBase.
Definition at line 129 of file bayesoptcont.cpp.
References mBB.
|
protectedvirtual |
Sample a single point in the input space.
Used for epsilon greedy exploration.
Implements bayesopt::BayesOptBase.
Definition at line 88 of file bayesoptcont.cpp.
References bayesopt::BayesOptBase::mEngine.
void bayesopt::ContinuousModel::setBoundingBox | ( | const vectord & | lowerBound, |
const vectord & | upperBound | ||
) |
Sets the bounding box.
lowerBound | vector with the lower bounds of the hypercube |
upperBound | vector with the upper bounds of the hypercube |
Definition at line 68 of file bayesoptcont.cpp.
References mBB.