|
| | 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.