BayesOpt
gaussian_process_normal.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_NORMAL_HPP__
27 #define __GAUSSIAN_PROCESS_NORMAL_HPP__
28 
29 #include "gauss_distribution.hpp"
31 
32 
33 namespace bayesopt
34 {
35 
43  {
44  public:
45  GaussianProcessNormal(size_t dim, Parameters params, const Dataset& data,
46  MeanModel& mean, randEngine& eng);
47  virtual ~GaussianProcessNormal();
48 
56  ProbabilityDistribution* prediction(const vectord &query);
57 
58  private:
59 
65  double negativeLogLikelihood();
66 
70  void precomputePrediction();
71 
72  private:
73  vectord mWMap;
74  vectord mW0;
75  vectord mInvVarW;
77  vectord mVf;
78  matrixd mKF, mD;
79 
81  };
82 
85 } //namespace bayesopt
86 
87 #endif
ProbabilityDistribution * prediction(const vectord &query)
Function that returns the prediction of the GP for a query point in the hypercube [0...
GaussianDistribution * d_
Predictive distributions.
void precomputePrediction()
Precompute some values of the prediction that do not depends on the query.
Hierarchical model for Gaussian process.
Namespace of the library interface.
Definition: using.dox:1
vectord mVf
Precomputed GP prediction operations.
Virtual class for hierarchical Gaussian processes.
Gaussian process with normal prior on the parameters.
Gaussian probability distribution.
double negativeLogLikelihood()
Computes the negative log likelihood and its gradient of the data.
Dataset model to deal with the vector (real) based datasets.
Definition: dataset.hpp:40
vectord mWMap
GP posterior parameters.