BayesOpt
gaussian_process_ml.hpp
Go to the documentation of this file.
1 
3 /*
4 -------------------------------------------------------------------------
5  This file is part of BayesOpt, an efficient C++ library for
6  Bayesian optimization.
7 
8  Copyright (C) 2011-2015 Ruben Martinez-Cantin <rmcantin@unizar.es>
9 
10  BayesOpt is free software: you can redistribute it and/or modify it
11  under the terms of the GNU Affero General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  BayesOpt is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU Affero General Public License for more details.
19 
20  You should have received a copy of the GNU Affero General Public License
21  along with BayesOpt. If not, see <http://www.gnu.org/licenses/>.
22 ------------------------------------------------------------------------
23 */
24 
25 
26 #ifndef __GAUSSIAN_PROCESS_ML_HPP__
27 #define __GAUSSIAN_PROCESS_ML_HPP__
28 
29 #include "gauss_distribution.hpp"
31 
32 
33 namespace bayesopt
34 {
35 
43  {
44  public:
45  GaussianProcessML(size_t dim, Parameters params, const Dataset& data,
46  MeanModel& mean,
47  randEngine& eng);
48  virtual ~GaussianProcessML();
49 
57  ProbabilityDistribution* prediction(const vectord &query);
58 
59  private:
60 
67  double negativeLogLikelihood();
68 
72  void precomputePrediction();
73 
74  private:
75  vectord mWML;
76 
78  vectord mAlphaF;
79  matrixd mKF, mL2;
80 
82  };
83 
86 } //namespace bayesopt
87 
88 #endif
ProbabilityDistribution * prediction(const vectord &query)
Function that returns the prediction of the GP for a query point in the hypercube [0...
Hierarchical model for Gaussian process.
Namespace of the library interface.
Definition: using.dox:1
vectord mAlphaF
Precomputed GP prediction operations.
Virtual class for hierarchical Gaussian processes.
GaussianDistribution * d_
Predictive distributions.
Gaussian probability distribution.
vectord mWML
GP ML parameters.
Gaussian process with ML parameters.
Dataset model to deal with the vector (real) based datasets.
Definition: dataset.hpp:40
double negativeLogLikelihood()
Computes the negative log likelihood and its gradient of the data.
void precomputePrediction()
Precompute some values of the prediction that do not depends on the query.