BayesOpt
bayesopt::GaussianProcessML Class Reference

Gaussian process with ML parameters. More...

#include <gaussian_process_ml.hpp>

+ Inheritance diagram for bayesopt::GaussianProcessML:
+ Collaboration diagram for bayesopt::GaussianProcessML:

Public Member Functions

 GaussianProcessML (size_t dim, Parameters params, const Dataset &data, MeanModel &mean, randEngine &eng)
 
ProbabilityDistributionprediction (const vectord &query)
 Function that returns the prediction of the GP for a query point in the hypercube [0,1]. More...
 
- Public Member Functions inherited from bayesopt::HierarchicalGaussianProcess
 HierarchicalGaussianProcess (size_t dim, Parameters params, const Dataset &data, MeanModel &mean, randEngine &eng)
 
- Public Member Functions inherited from bayesopt::ConditionalBayesProcess
 ConditionalBayesProcess (size_t dim, Parameters parameters, const Dataset &data, MeanModel &mean, randEngine &eng)
 
double evaluate (const vectord &x)
 Computes the score (eg:likelihood) of the kernel parameters. More...
 
double evaluateKernelParams ()
 Computes the score (eg:likelihood) of the current kernel parameters. More...
 
- Public Member Functions inherited from bayesopt::KernelRegressor
 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)
 
double getValueAtMinimum ()
 
const DatasetgetData ()
 
double getSignalVariance ()
 

Private Member Functions

double negativeLogLikelihood ()
 Computes the negative log likelihood and its gradient of the data. More...
 
void precomputePrediction ()
 Precompute some values of the prediction that do not depends on the query.
 

Private Attributes

vectord mWML
 GP ML parameters.
 
vectord mAlphaF
 Precomputed GP prediction operations.
 
matrixd mKF
 
matrixd mL2
 
GaussianDistributiond_
 Predictive distributions.
 

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...
 
- Protected Member Functions inherited from bayesopt::HierarchicalGaussianProcess
double negativeTotalLogLikelihood ()
 Computes the negative log likelihood of the data for all the parameters. More...
 
- Protected Member Functions inherited from bayesopt::KernelRegressor
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 inherited from bayesopt::KernelRegressor
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
 

Detailed Description

Gaussian process with ML parameters.

Definition at line 42 of file gaussian_process_ml.hpp.

Member Function Documentation

◆ negativeLogLikelihood()

double bayesopt::GaussianProcessML::negativeLogLikelihood ( )
privatevirtual

Computes the negative log likelihood and its gradient of the data.

In this case, it is equivalent to the negativeTotalLogLikelihood

Returns
value negative log likelihood

Implements bayesopt::ConditionalBayesProcess.

Definition at line 49 of file gaussian_process_ml.cpp.

References bayesopt::HierarchicalGaussianProcess::negativeTotalLogLikelihood().

◆ prediction()

ProbabilityDistribution * bayesopt::GaussianProcessML::prediction ( const vectord &  query)
virtual

Function that returns the prediction of the GP for a query point in the hypercube [0,1].

Parameters
queryin the hypercube [0,1] to evaluate the Gaussian process
Returns
pointer to the probability distribution.

Implements bayesopt::ConditionalBayesProcess.

Definition at line 56 of file gaussian_process_ml.cpp.

References bayesopt::KernelRegressor::mL, and bayesopt::NonParametricProcess::mSigma.


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