BayesOpt
bayesopt::KernelRegressor Class Referenceabstract

Abstract class to implement non-parametric processes. More...

#include <kernelregressor.hpp>

+ Inheritance diagram for bayesopt::KernelRegressor:
+ Collaboration diagram for bayesopt::KernelRegressor:

Public Member Functions

 KernelRegressor (size_t dim, Parameters parameters, const Dataset &data, MeanModel &mean, randEngine &eng)
 
void fitSurrogateModel ()
 Computes the initial surrogate model and updates the kernel parameters estimation. More...
 
void updateSurrogateModel ()
 Sequential update of the surrogate model by adding a new row to the Kernel matrix, more precisely, to its Cholesky decomposition. More...
 
double getSignalVariance ()
 
size_t nHyperParameters ()
 
vectord getHyperParameters ()
 
void setHyperParameters (const vectord &theta)
 
- Public Member Functions inherited from bayesopt::NonParametricProcess
 NonParametricProcess (size_t dim, Parameters parameters, const Dataset &data, MeanModel &mean, randEngine &eng)
 
virtual ProbabilityDistributionprediction (const vectord &query)=0
 Function that returns the prediction of the GP for a query point in the hypercube [0,1]. More...
 
double getValueAtMinimum ()
 
const DatasetgetData ()
 
double getSignalVariance ()
 
- Public Member Functions inherited from bayesopt::RBOptimizable
virtual double evaluate (const vectord &query)=0
 

Protected Member Functions

virtual void precomputePrediction ()=0
 Sets the kind of learning methodology for kernel hyperparameters. More...
 
void computeCorrMatrix (matrixd &corrMatrix)
 Computes the Correlation (Kernel or Gram) matrix.
 
matrixd computeCorrMatrix ()
 Computes the Correlation (Kernel or Gram) matrix.
 
matrixd computeDerivativeCorrMatrix (int dth_index)
 Computes the derivative of the correlation matrix with respect to the dth hyperparameter.
 
vectord computeCrossCorrelation (const vectord &query)
 
double computeSelfCorrelation (const vectord &query)
 
void computeCholeskyCorrelation ()
 Computes the Cholesky decomposition of the Correlation matrix.
 

Protected Attributes

matrixd mL
 Cholesky decomposition of the Correlation matrix.
 
score_type mScoreType
 
learning_type mLearnType
 
bool mLearnAll
 
KernelModel mKernel
 
- Protected Attributes inherited from bayesopt::NonParametricProcess
const DatasetmData
 
double mSigma
 Signal variance.
 
size_t dim_
 
MeanModelmMean
 

Private Member Functions

void addNewPointToCholesky (const vectord &correlation, double selfcorrelation)
 Adds a new point to the Cholesky decomposition of the Correlation matrix. More...
 

Private Attributes

const double mRegularizer
 Std of the obs. model (also used as nugget)
 

Additional Inherited Members

- Static Public Member Functions inherited from bayesopt::NonParametricProcess
static NonParametricProcesscreate (size_t dim, Parameters parameters, const Dataset &data, MeanModel &mean, randEngine &eng)
 Factory model generator for surrogate models. More...
 

Detailed Description

Abstract class to implement non-parametric processes.

Definition at line 46 of file kernelregressor.hpp.

Member Function Documentation

◆ precomputePrediction()

virtual void bayesopt::KernelRegressor::precomputePrediction ( )
protectedpure virtual

Sets the kind of learning methodology for kernel hyperparameters.

Precompute some values of the prediction that do not depends on the query.

Implemented in bayesopt::GaussianProcess, bayesopt::GaussianProcessML, bayesopt::StudentTProcessJeffreys, bayesopt::StudentTProcessNIG, and bayesopt::GaussianProcessNormal.

Referenced by fitSurrogateModel().

◆ updateSurrogateModel()

void bayesopt::KernelRegressor::updateSurrogateModel ( )
virtual

Sequential update of the surrogate model by adding a new row to the Kernel matrix, more precisely, to its Cholesky decomposition.

It assumes that the kernel hyperparemeters do not change.

Implements bayesopt::NonParametricProcess.

Definition at line 52 of file kernelregressor.cpp.

References bayesopt::utils::cholesky_add_row().


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