13#include <MachineLearning/FgGPStateSpaceBaseModel.h>
14#include <MachineLearning/FgSparseGPBaseLayer.h>
15#include <MachineLearning/FgGaussEmissionLayer.h>
19 namespace MachineLearning
23 template<
typename Scalar>
28 template<
typename Scalar>
34 template<
typename Scalar>
99 template<
typename Scalar>
120 Scalar priorVariance = 1.0, af::array& xControl = af::array(), PropagationMode probMode = PropagationMode::MomentMatching, LogLikType lType = LogLikType::Gaussian,
121 bool GPemission =
false,
bool controlToEmiss =
true, XInit emethod = XInit::pca);
149 virtual void PredictF(
const af::array& testInputs, af::array& mf, af::array& vf)
override;
160 virtual void PredictY(
const af::array& testInputs, af::array& my, af::array& vy)
override;
174 af::array* mx =
nullptr, af::array* vx =
nullptr);
253 friend class boost::serialization::access;
255 template<
class Archive>
256 void serialize(Archive& ar,
unsigned int version)
258 ar& boost::serialization::base_object<GPSSBaseModel<Scalar>>(*this);
267 ar& BOOST_SERIALIZATION_NVP(ik);
268 ar& BOOST_SERIALIZATION_NVP(dynLayer);
269 ar& BOOST_SERIALIZATION_NVP(gpEmissLayer);
270 ar& BOOST_SERIALIZATION_NVP(gaussEmissLayer);
Base class with abstract and basic function definitions. All GP state space models will be derived fr...
Likelihood emission layer for State Space Models based on Gaussian distribution.
Abstract class for different GP likelihood layers.
Base class for all sparse GPSSM models.
virtual void PredictF(const af::array &testInputs, af::array &mf, af::array &vf) override
Predict noise free functions values .
virtual af::array GetParameters() override
Gets the parameters for each optimization iteration.
virtual int GetNumParameters() override
Gets number of parameters.
virtual void FixKernelParameters(bool isfixed)
Sets fixation for hyperparameters.
virtual void PosteriorData(af::array &my, af::array &vy)
Get posterior distribution of latent variables /f$\mathbf{X}/f$.
virtual bool Init() override
Initializes the model.
SparseGPBaseLayer< Scalar > * gpEmissLayer
sparse Gaussian Process emission layer
virtual void SetParameters(const af::array ¶m) override
Sets the parameters for each optimization iteration.
virtual void PredictY(const af::array &testInputs, af::array &my, af::array &vy) override
Prediction of test outputs .
int ik
number of inducing inputs
SparseGPBaseLayer< Scalar > * dynLayer
sparse Gaussian Process dynamic layer
virtual ~SparseGPSSMBaseModel()
Destructor.
virtual void UpdateParameters() override
Updates the parameters.
SparseGPSSMBaseModel(const af::array &Y, int latentDimension, int numInducing=200, Scalar priorMean=0.0, Scalar priorVariance=1.0, af::array &xControl=af::array(), PropagationMode probMode=PropagationMode::MomentMatching, LogLikType lType=LogLikType::Gaussian, bool GPemission=false, bool controlToEmiss=true, XInit emethod=XInit::pca)
Constructor.
GaussEmission< Scalar > * gaussEmissLayer
Gaussian distibution emission layer.
virtual void PredictForward(int numTimeSamples, af::array &my, af::array &vy, af::array *mx=nullptr, af::array *vx=nullptr)
Noise-free Forward prediction.
virtual void FixInducing(bool isfixed)
Set fixation for inducing inputs.