13#include <MachineLearning/FgILayer.h>
18 namespace MachineLearning
65 template<
typename Scalar>
117 const Scalar scale, std::map<std::string, af::array>* outGradInput, af::array& outHyperGrad,
Scalar alpha = 1.0);
153 virtual void InitParameters();
173 friend class boost::serialization::access;
175 template<
class Archive>
176 void serialize(Archive& ar,
unsigned int version)
178 ar& boost::serialization::base_object<ILayer<Scalar>>(*this);
180 ar& BOOST_SERIALIZATION_NVP(afU);
181 ar& BOOST_SERIALIZATION_NVP(afR);
182 ar& BOOST_SERIALIZATION_NVP(iq);
Likelihood emission layer for State Space Models based on Gaussian distribution.
virtual void ProbabilisticOutput(const af::array &mf, const af::array &vf, af::array &myOut, af::array &vyOut, Scalar alpha=1.0f)
Probabilistic output.
virtual void SetParameters(const af::array ¶m)
Sets the parameters for each optimization iteration.
virtual Scalar ComputeLogZEmission(const af::array &mx, const af::array &vx, const af::array &y, const Scalar scale, std::map< std::string, af::array > *outGradInput, af::array &outHyperGrad, Scalar alpha=1.0)
Calculates tilted distribution and its gradients.
virtual void UpdateParameters()
Updates the parameters.
virtual int GetNumParameters()
Gets number of parameters to be optimized.
virtual ~GaussEmission()
Destructor.
virtual af::array GetParameters()
Gets the parameters for each optimization iteration.
af::array afY
Default constructor.
GaussEmission(const af::array &y, int outputDim, int inputDim)
Constructor.
Abstract class for different kind of layers.