13#include <MachineLearning/FgSparseGPSSMBaseModel.h>
17 namespace MachineLearning
55 template<
typename Scalar>
75 SGPSSM(
const af::array& Y,
int latentDimension,
int numInducing = 200,
Scalar alpha = 1.0,
Scalar priorMean = 0.0,
76 Scalar priorVariance = 1.0, af::array xControl = af::array(),
77 PropagationMode probMode = PropagationMode::MonteCarlo, LogLikType lType = LogLikType::Gaussian,
78 bool GPemission =
false,
bool controlToEmiss =
false, XInit emethod = XInit::pca);
92 virtual Scalar Function(
const af::array& x, af::array& outGradient)
override;
108 virtual void CavityLatents(af::array& mcav, af::array& vcav, af::array& cav1, af::array& cav2);
128 Scalar scaleLogZDyn, af::array& dlogZ_dmProb, af::array& dlogZ_dvProb, af::array& dlogZ_dmt, af::array& dlogZ_dvt,
Scalar& dlogZ_sn);
167 virtual af::array
LogZGradientLatents(
const af::array& cav1,
const af::array& cav2,
const af::array& dmcav_up,
const af::array& dvcav_up,
168 const af::array& dmcav_prev,
const af::array& dvcav_prev,
const af::array& dmcav_next,
const af::array& dvcav_next);
200 friend class boost::serialization::access;
202 template<
class Archive>
203 void serialize(Archive& ar,
unsigned int version)
205 ar& boost::serialization::base_object<SparseGPSSMBaseModel<Scalar>>(*this);
207 ar& BOOST_SERIALIZATION_NVP(dAlpha);
Sparse GPSSM via Approximated Expectation Propagation (AEP).
virtual Scalar ComputePhiPriorLatents()
Calculates the phi prior.
virtual Scalar ComputePhiPosteriorLatents()
Calculates the phi posterior.
Scalar ComputeTiltedTransition(const af::array &mprob, const af::array &vprob, const af::array &mcav_t1, const af::array &vcav_t1, Scalar scaleLogZDyn, af::array &dlogZ_dmProb, af::array &dlogZ_dvProb, af::array &dlogZ_dmt, af::array &dlogZ_dvt, Scalar &dlogZ_sn)
Calculates the tilted transition.
virtual af::array LogZGradientLatents(const af::array &cav1, const af::array &cav2, const af::array &dmcav_up, const af::array &dvcav_up, const af::array &dmcav_prev, const af::array &dvcav_prev, const af::array &dmcav_next, const af::array &dvcav_next)
LogZ gradient w.r.t .
virtual af::array PosteriorGradientLatents()
Posterior gradient w.r.t .
virtual Scalar Function(const af::array &x, af::array &outGradient) override
Cost function the given parameter inputs.
virtual af::array CavityGradientLatents(const af::array &cav1, const af::array &cav2)
Cavity gradient w.r.t .
Scalar dAlpha
fraction parameter
virtual Scalar ComputePhiCavityLatents()
Calculates the phi cavity.
SGPSSM(const af::array &Y, int latentDimension, int numInducing=200, Scalar alpha=1.0, Scalar priorMean=0.0, Scalar priorVariance=1.0, af::array xControl=af::array(), PropagationMode probMode=PropagationMode::MonteCarlo, LogLikType lType=LogLikType::Gaussian, bool GPemission=false, bool controlToEmiss=false, XInit emethod=XInit::pca)
Constructor.
virtual void CavityLatents(af::array &mcav, af::array &vcav, af::array &cav1, af::array &cav2)
Computes the cavity distribution.
Base class for all sparse GPSSM models.