BayesOpt
bayesopt::GaussianProcess Class Reference

Standard zero mean gaussian process with noisy observations. More...

#include <gaussian_process.hpp>

+ Inheritance diagram for bayesopt::GaussianProcess:
+ Collaboration diagram for bayesopt::GaussianProcess:

Public Member Functions

 GaussianProcess (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::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 negativeTotalLogLikelihood ()
 Computes the negative log likelihood of the data for all the parameters. More...
 
double negativeLogLikelihood ()
 Computes the negative log likelihood of the data. More...
 
void precomputePrediction ()
 Precompute some values of the prediction that do not depends on the query.
 

Private Attributes

vectord mAlphaV
 Precomputed L.
 
GaussianDistributiond_
 Pointer to distribution function.
 

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::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

Standard zero mean gaussian process with noisy observations.

Definition at line 41 of file gaussian_process.hpp.

Member Function Documentation

◆ negativeLogLikelihood()

double bayesopt::GaussianProcess::negativeLogLikelihood ( )
privatevirtual

Computes the negative log likelihood of the data.

\[ \log p(y|x,\theta,f) \propto y^T (K+\sigma I)^{-1} y + \log|K+\sigma I| \]

Returns
value negative log likelihood

Implements bayesopt::ConditionalBayesProcess.

Definition at line 54 of file gaussian_process.cpp.

References bayesopt::utils::cholesky_decompose().

◆ negativeTotalLogLikelihood()

double bayesopt::GaussianProcess::negativeTotalLogLikelihood ( )
privatevirtual

Computes the negative log likelihood of the data for all the parameters.

Returns
value negative log likelihood

Implements bayesopt::ConditionalBayesProcess.

Definition at line 47 of file gaussian_process.cpp.

◆ prediction()

ProbabilityDistribution * bayesopt::GaussianProcess::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 68 of file gaussian_process.cpp.


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