13#include <MachineLearning/FgSparseGPBaseLayer.h>
17 namespace MachineLearning
36 template<
typename Scalar>
50 SGPLayer(
int numPoints,
int numPseudos,
int outputDim,
int inputDim);
89 void BackpropGradientsReg(af::array& m, af::array& v, af::array& dlogZ_dm, af::array& dlogZ_dv, af::array& x, std::map<std::string,
90 af::array>& grad_hyper, std::map<std::string, af::array>& grad_cav,
Scalar alpha = 1.0);
119 void ForwardPredictionDeterministicPost(af::array& mx, af::array* mout, af::array* vout);
181 void ComputeCavity(af::array& idx, af::array& muhat, af::array& Suhat, af::array& T1uHat, af::array& T2uHat,
Scalar alpha = 1.0f);
194 af::array afInvSuHat;
195 af::array afInvSuMuHat;
198 friend class boost::serialization::access;
200 template<
class Archive>
201 void serialize(Archive& ar,
unsigned int version)
203 ar& boost::serialization::base_object<SparseGPBaseLayer<Scalar>>(*this);
205 ar& BOOST_SERIALIZATION_NVP(gamma);
206 ar& BOOST_SERIALIZATION_NVP(beta);
void ForwardPredictionCavity(af::array &mout, af::array &vout, af::array &n, af::array &mx, af::array *vx=nullptr, Scalar alpha=1.0)
Forward prediction through cavity.
virtual void UpdateParameters() override
Updates the parameters.
SGPLayer()
Default constructor.
void ComputeCavity(af::array &idx, af::array &muhat, af::array &Suhat, af::array &T1uHat, af::array &T2uHat, Scalar alpha=1.0f)
Calculates the cavity.
void BackpropGradientsReg(af::array &m, af::array &v, af::array &dlogZ_dm, af::array &dlogZ_dv, af::array &x, std::map< std::string, af::array > &grad_hyper, std::map< std::string, af::array > &grad_cav, Scalar alpha=1.0)
Prediction of posterior function values.
void UpdateFactor(af::array &n, std::map< std::string, af::array > grad_cav, Scalar alpha, Scalar decay=0)
Update step of PowerEP.
virtual ~SGPLayer()
Destructor.
void ForwardPredictionRandomCavity(af::array &mout, af::array &vout, af::array &idx, af::array &mx, af::array &vx, Scalar alpha=1.0)
Forward prediction through random cavity.
SGPLayer(int numPoints, int numPseudos, int outputDim, int inputDim)
Constructor.
virtual void InitParameters(af::array *X=nullptr) override
Initializes the parameters.
void ForwardPredictionDeterministicCavity(af::array &mout, af::array &vout, af::array &idx, af::array &mx, Scalar alpha=1.0)
Forward prediction through deterministic cavity.
Abstract class for different GP likelihood layers.