13#include <MachineLearning/FgGPStateSpaceBaseModel.h>
14#include <MachineLearning/FgSparseGPBaseLayer.h>
18 namespace MachineLearning
24 template<
typename Scalar>
30 template<
typename Scalar>
48 template<
typename Scalar>
64 Scalar priorMean = 0.0,
Scalar priorVariance = 1.0, af::array& xControl = af::array(), PropagationMode probMode = PropagationMode::MomentMatching,
65 LogLikType lType = LogLikType::Gaussian, XInit emethod = XInit::pca);
78 Scalar priorMean = 0.0,
Scalar priorVariance = 1.0, af::array& xControl = af::array(), PropagationMode probMode = PropagationMode::MomentMatching,
79 LogLikType lType = LogLikType::Gaussian, XInit emethod = XInit::pca);
114 virtual void PredictF(
const af::array& testInputs, af::array& mf, af::array& vf)
override;
127 virtual void PredictForward(
int numTimeSamples, af::array& my, af::array& vy,
int numSamples = 200,
128 af::array* mx =
nullptr, af::array* vx =
nullptr);
213 virtual void PredictForwardMM(
int numTimeSamples, af::array& my, af::array& vy,
214 af::array* mx =
nullptr, af::array* vx =
nullptr);
216 virtual void PredictForwardMC(
int numTimeSamples, af::array& my, af::array& vy,
int numSamples = 200,
217 af::array* mx =
nullptr);
221 std::vector<int> vNumPseudosPerLayer;
222 std::vector<int> vSize;
223 std::vector<HiddenLayerDescription> vDescription;
233 friend class boost::serialization::access;
235 template<
class Archive>
236 void serialize(Archive& ar,
unsigned int version)
238 ar& boost::serialization::base_object<GPSSBaseModel<Scalar>>(*this);
246 ar& BOOST_SERIALIZATION_NVP(iNumLayer);
247 ar& BOOST_SERIALIZATION_NVP(vNumPseudosPerLayer);
248 ar& BOOST_SERIALIZATION_NVP(vSize);
249 ar& BOOST_SERIALIZATION_NVP(vDescription);
250 ar& BOOST_SERIALIZATION_NVP(dynLayer);
251 ar& BOOST_SERIALIZATION_NVP(gpEmissLayer);
Base class with abstract and basic function definitions. All GP state space models will be derived fr...
Base class with abstract and basic function definitions. All deep GP models will be derived from this...
virtual int GetNumGPLayerParameters()
Gets number gp layer parameters.
SparseGPBaseLayer< Scalar > * dynLayer
sparse Gaussian Process dynamic layer
virtual void PredictF(const af::array &testInputs, af::array &mf, af::array &vf) override
Predict noise free functions values .
SparseDeepGPSSMBaseModel()
Default Constructor.
virtual ~SparseDeepGPSSMBaseModel()
Destructor.
virtual void SetParameters(const af::array ¶m) override
Sets the parameters for each optimization iteration.
SparseDeepGPSSMBaseModel(const af::array &Y, int latentDimension, std::vector< HiddenLayerDescription > descriptions, Scalar priorMean=0.0, Scalar priorVariance=1.0, af::array &xControl=af::array(), PropagationMode probMode=PropagationMode::MomentMatching, LogLikType lType=LogLikType::Gaussian, XInit emethod=XInit::pca)
Constructor.
virtual void FixKernelParameters(bool isfixed)
Sets fixation for hyperparameters.
virtual void PredictForward(int numTimeSamples, af::array &my, af::array &vy, int numSamples=200, af::array *mx=nullptr, af::array *vx=nullptr)
Noise-free Forward prediction.
SparseDeepGPSSMBaseModel(const af::array &Y, int latentDimension, HiddenLayerDescription description, Scalar priorMean=0.0, Scalar priorVariance=1.0, af::array &xControl=af::array(), PropagationMode probMode=PropagationMode::MomentMatching, LogLikType lType=LogLikType::Gaussian, XInit emethod=XInit::pca)
Constructor.
virtual af::array GetParameters() override
Gets the parameters for each optimization iteration.
virtual bool Init() override
Initializes the model.
virtual int GetNumParameters() override
Generate function samples from posterior.
virtual void UpdateParameters() override
Updates the parameters.
virtual int GetNumLayers()
Gets number of GP layers.
std::vector< SparseGPBaseLayer< Scalar > * > gpEmissLayer
sparse Gaussian Process emission layer
virtual std::vector< SparseGPBaseLayer< Scalar > * > GetGPLayers()
Gets vector of GP layers.
Abstract class for different GP likelihood layers.
Description of the layer.