SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FITCInferenceMethod.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2015 Wu Lin
8  * Written (W) 2013 Roman Votyakov
9  * Copyright (C) 2012 Jacob Walker
10  * Copyright (C) 2013 Roman Votyakov
11  * Copyright (C) 2015 Wu Lin
12  *
13  * Code adapted from Gaussian Process Machine Learning Toolbox
14  * http://www.gaussianprocess.org/gpml/code/matlab/doc/
15  */
16 
17 #ifndef CFITCINFERENCEMETHOD_H
18 #define CFITCINFERENCEMETHOD_H
19 
20 #include <shogun/lib/config.h>
21 
22 #ifdef HAVE_EIGEN3
23 
25 
26 namespace shogun
27 {
28 
46 {
47 public:
50 
60  CFITCInferenceMethod(CKernel* kernel, CFeatures* features,
61  CMeanFunction* mean, CLabels* labels, CLikelihoodModel* model,
62  CFeatures* inducing_features);
63 
64  virtual ~CFITCInferenceMethod();
65 
70  virtual const char* get_name() const { return "FITCInferenceMethod"; }
71 
77 
84 
97 
98 
111 
116  virtual bool supports_regression() const
117  {
118  check_members();
119  return m_model->supports_regression();
120  }
121 
122 
139 
156 
158  virtual void update();
159 protected:
161  virtual void check_members() const;
162 
164  virtual void update_alpha();
165 
167  virtual void update_chol();
168 
172  virtual void update_deriv();
173 
182  const TParameter* param);
183 
184 protected:
187 
190 
193 
196 
197 private:
198  void init();
199 };
200 }
201 #endif /* HAVE_EIGEN3 */
202 #endif /* CFITCINFERENCEMETHOD_H */

SHOGUN Machine Learning Toolbox - Documentation