|
| 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. More...
|
|
virtual Scalar | Function (const af::array &x, af::array &outGradient) override |
| Cost function the given parameter inputs. More...
|
|
| 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. More...
|
|
virtual | ~SparseGPSSMBaseModel () |
| Destructor. More...
|
|
virtual bool | Init () override |
| Initializes the model. More...
|
|
virtual void | PredictF (const af::array &testInputs, af::array &mf, af::array &vf) override |
| Predict noise free functions values \(\mathbf{F}_*\). More...
|
|
virtual void | PredictY (const af::array &testInputs, af::array &my, af::array &vy) override |
| Prediction of test outputs \(\mathbf{Y}_*\). More...
|
|
virtual void | PredictForward (int numTimeSamples, af::array &my, af::array &vy, af::array *mx=nullptr, af::array *vx=nullptr) |
| Noise-free Forward prediction. More...
|
|
virtual void | PosteriorData (af::array &my, af::array &vy) |
| Get posterior distribution of latent variables /f$\mathbf{X}/f$. More...
|
|
virtual int | GetNumParameters () override |
| Gets number of parameters. More...
|
|
virtual void | SetParameters (const af::array ¶m) override |
| Sets the parameters for each optimization iteration. More...
|
|
virtual af::array | GetParameters () override |
| Gets the parameters for each optimization iteration. More...
|
|
virtual void | UpdateParameters () override |
| Updates the parameters. More...
|
|
virtual void | FixKernelParameters (bool isfixed) |
| Sets fixation for hyperparameters. More...
|
|
virtual void | FixInducing (bool isfixed) |
| Set fixation for inducing inputs. More...
|
|
| GPSSBaseModel (const af::array &Y, int latentDimension, Scalar priorMean=0.0, Scalar priorVariance=1.0, af::array &xControl=af::array(), PropagationMode probMode=PropagationMode::MomentMatching, LogLikType lType=LogLikType::Gaussian, bool GPemission=true, bool controlToEmiss=true, XInit emethod=XInit::pca) |
| Constructor. More...
|
|
| GPSSBaseModel () |
| Default constructor. More...
|
|
virtual | ~GPSSBaseModel () |
| Destructor. More...
|
|
virtual void | Optimise (OptimizerType method=L_BFGS, Scalar tol=0.0, bool reinit_hypers=true, int maxiter=1000, int mb_size=0, LineSearchType lsType=MoreThuente, bool disp=true, int *cycle=nullptr) override |
| Optimizes the model parameters for best fit. More...
|
|
virtual bool | Init (af::array &mx) |
| Initializes the model. More...
|
|
virtual void | PosteriorLatents (af::array &mx, af::array &vx) |
| Get posterior distribution of latent variables /f$\mathbf{X}/f$. More...
|
|
virtual int | GetNumParameters () override |
| Gets number of parameters. More...
|
|
virtual void | SetParameters (const af::array ¶m) override |
| Sets the parameters for each optimization iteration. More...
|
|
virtual af::array | GetParameters () override |
| Gets the parameters for each optimization iteration. More...
|
|
void | UpdateDynamicIndexes () |
| Updates the dynamic indexes. More...
|
|
void | GetLatents (af::array &mx, af::array &vx) |
|
virtual void | AddWindowData (af::array data) |
|
| GPBaseModel (const af::array &Y, LogLikType lType=LogLikType::Gaussian, ModelType mtype=ModelType::GPR) |
| Constructor. More...
|
|
| GPBaseModel () |
| Default Constructor. More...
|
|
virtual | ~GPBaseModel () |
| Destructor. More...
|
|
virtual void | Optimise (OptimizerType method=L_BFGS, Scalar tol=0.0, bool reinit_hypers=true, int maxiter=1000, int mb_size=0, LineSearchType lsType=MoreThuente, bool disp=true, int *cycle=nullptr) |
| Optimizes the model parameters for best fit. More...
|
|
virtual bool | Init () |
| Initializes the model. More...
|
|
virtual void | PredictF (const af::array &testInputs, af::array &mf, af::array &vf) |
| Predict noise free functions values \(\mathbf{F}_*\). More...
|
|
virtual void | PredictY (const af::array &testInputs, af::array &my, af::array &vy) |
| Prediction of test outputs \(\mathbf{Y}_*\). More...
|
|
virtual void | SampleY (const af::array inputs, int numSamples, af::array &outFunctions) |
| Generate function samples from posterior. More...
|
|
virtual void | AddData (const af::array Ytrain) |
| Adds training data to the model. More...
|
|
af::array | GetTrainingData () |
| Gets the training data set Y. More...
|
|
void | SetTrainingData (af::array &data) |
| Sets training data Y. More...
|
|
virtual int | GetNumParameters () |
| Gets number of parameters. More...
|
|
virtual void | SetParameters (const af::array ¶m) |
| Sets the parameters for each optimization iteration. More...
|
|
virtual af::array | GetParameters () |
| Gets the parameters for each optimization iteration. More...
|
|
virtual void | UpdateParameters () |
| Updates the parameters. More...
|
|
virtual void | FixLikelihoodParameters (bool isfixed) |
| Sets the likelihood parameters to be fixed or not for optimization. More...
|
|
void | SetSegments (af::array segments) |
| Sets fixation for hyperparameters. More...
|
|
af::array | GetSegments () |
| Gets the start index array for the sequences. More...
|
|
virtual Scalar | Function (const af::array &x, af::array &outGradient) |
| Cost function the given x inputs. More...
|
|
virtual int | GetNumParameters ()=0 |
| Gets number of parameters to be optimized. More...
|
|
virtual void | SetParameters (const af::array ¶m)=0 |
| Sets the parameters for each optimization iteration. More...
|
|
virtual af::array | GetParameters ()=0 |
| Gets the parameters for each optimization iteration. More...
|
|
virtual void | UpdateParameters ()=0 |
| Updates the parameters. More...
|
|
int | GetDataLenght () |
| Gets data lenght. More...
|
|
int | GetDataDimensionality () |
| Gets data dimensionality. More...
|
|
ModelType | GetModelType () |
| Gets model type. More...
|
|
virtual void | SetBatchSize (int size) |
| Sets batch size. More...
|
|
int | GetBatchSize () |
| Gets batch size. More...
|
|
void | SetIndexes (af::array &indexes) |
| Sets the batch indexes. More...
|
|
| GPNode () |
| Default constructor. More...
|
|
virtual | ~GPNode () |
| Destructor. More...
|
|
int | GetNumChildren () const |
| Gets the number of children of this item. More...
|
|
int | AttachChild (std::shared_ptr< GPNode< Scalar > > const &child) |
| Attaches a child. More...
|
|
int | DetachChild (std::shared_ptr< GPNode< Scalar > > const &child) |
| Detaches a child. More...
|
|
std::shared_ptr< GPNode< Scalar > > | DetachChildAt (int i) |
| Detaches a child at index. More...
|
|
void | DetachAllChildren () |
| Detach all children from this node. More...
|
|
std::shared_ptr< GPNode< Scalar > > | SetChild (int i, std::shared_ptr< GPNode< Scalar > > const &child) |
| Sets a child. More...
|
|
std::shared_ptr< GPNode< Scalar > > | GetChild (int i) |
| Gets a child at index. More...
|
|
GPNode< Scalar > * | GetParent () |
| Access to the parent object, which is null for the root of the hierarchy. More...
|
|
void | SetParent (GPNode< Scalar > *parent) |
|
Access to the parent object. Node calls this during attach/detach of children. More...
|
|
|
virtual void | CavityLatents (af::array &mcav, af::array &vcav, af::array &cav1, af::array &cav2) |
| Computes the cavity distribution. More...
|
|
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. More...
|
|
virtual af::array | PosteriorGradientLatents () |
| Posterior gradient w.r.t \(\mathbf{X}\). More...
|
|
virtual af::array | CavityGradientLatents (const af::array &cav1, const af::array &cav2) |
| Cavity gradient w.r.t \(\mathbf{X}\). More...
|
|
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 \(\mathbf{X}\). More...
|
|
virtual Scalar | ComputePhiPriorLatents () |
| Calculates the phi prior. More...
|
|
virtual Scalar | ComputePhiCavityLatents () |
| Calculates the phi cavity. More...
|
|
virtual Scalar | ComputePhiPosteriorLatents () |
| Calculates the phi posterior. More...
|
|
virtual af::array | PosteriorGradientLatents (const af::array &dmx, const af::array &dvx) |
| Posterior gradient of latent inputs /f$\mathbf{X}/f$. More...
|
|
virtual void | UpdateParametersInternal () |
| Updates the parameters. More...
|
|
| IModel (int numData, int numDimension, ModelType type) |
| Constructor. More...
|
|
template<typename
Scalar>
class NeuralEngine::MachineLearning::GPModels::AEP::SGPSSM< Scalar >
Sparse GPSSM via Approximated Expectation Propagation (AEP).
Instead of taking one Gaussian portion out to form the cavity, we take out a fraction defined by the parameter \(\alpha\), which can also be seen as a ratio parameter between VFE and PowerEp with FITC approximation.
The lack of an additional approximation for the latent function \(f\) in this EP scheme results in a prohibitive computational complexity of \(O(T^3)\). The approach proposed in this class, in contrast, employs Power EP to provide approximate Bayesian estimates for both \(f\) and \(\mathbf{x}\) simultaneously in a computationally and analytically tractable manner. Importantly, Power EP offers a flexible approximate inference framework which has EP and structured variational inference (VI) as special cases.
References:
, 24.11.2019.
Definition at line 56 of file FgAEPSparseGPSSM.h.