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