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