NeuralEngine
A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes.
FgPEPSparseGPR.h
1
11#pragma once
12
13#include <MachineLearning/FgSparseGPBaseModel.h>
14#include <MachineLearning/FgPEPSparseGPLayer.h>
15
16namespace NeuralEngine
17{
18 namespace MachineLearning
19 {
20 namespace GPModels
21 {
22 namespace PowerEP
23 {
43 template<typename Scalar>
44 class NE_IMPEXP SGPR : public SparseGPBaseModel<Scalar>
45 {
46 public:
47
58 SGPR(const af::array& Y, const af::array& X, int numInducing = 20, LogLikType lType = LogLikType::Gaussian);
59
74 void Inference(Scalar alpha = 1.0, int numIter = 10, bool parallelUpdate = false, Scalar decay = 0.5);
75
76 protected:
77 SGPR();
78
79 private:
80 friend class boost::serialization::access;
81
82 template<class Archive>
83 void serialize(Archive& ar, unsigned int version)
84 {
85 ar& boost::serialization::base_object<SparseGPBaseModel<Scalar>>(*this);
86 //ar& boost::serialization::make_nvp("SparseGPBaseModel", boost::serialization::base_object<SparseGPBaseModel<Scalar>>(*this));
87 //ar & ik & aX;
88 }
89 };
90 }
91 }
92 }
93}
94
Sparse Gaussian Process Regression (SGPR) with optimization through Power Expectation Propagation (PE...
void Inference(Scalar alpha=1.0, int numIter=10, bool parallelUpdate=false, Scalar decay=0.5)
Inference.
SGPR(const af::array &Y, const af::array &X, int numInducing=20, LogLikType lType=LogLikType::Gaussian)
Constructor.