Base class for all sparse GP models. More...
#include <FgSparseGPBaseModel.h>
Public Member Functions | |
SparseGPBaseModel (const af::array &Y, const af::array &X, int numInducing=200, LogLikType lType=LogLikType::Gaussian) | |
Constructor. More... | |
SparseGPBaseModel () | |
Default constructor. More... | |
virtual | ~SparseGPBaseModel () |
Destructor. 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 | SampleY (const af::array inputs, int numSamples, af::array &outFunctions) override |
Generate function samples from posterior. More... | |
af::array | GetTrainingInputs () |
Gets training inputs X. More... | |
void | SetTrainingInputs (af::array &inputs) |
Gets training inputs X. More... | |
af::array | GetPseudoInputs () |
Gets pseudo inputs. More... | |
virtual bool | Init () override |
Initializes the model. 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... | |
SparseGPBaseLayer< Scalar > * | GetGPLayer () |
Gets the gp layer. More... | |
![]() | |
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... | |
Protected Attributes | |
int | ik |
number of inducing inputs More... | |
int | iq |
latent dimension More... | |
af::array | afX |
training inputs More... | |
SparseGPBaseLayer< Scalar > * | gpLayer |
gp layer More... | |
![]() | |
bool | bInit |
check if model is initialized More... | |
af::array | afY |
training dataset, mean substracted More... | |
af::array | afBias |
the bias More... | |
af::array | afSegments |
Index of starting positions for all trials. More... | |
LikelihoodBaseLayer< Scalar > * | likLayer |
liklihood layer More... | |
![]() | |
ModelType | mType |
int | iN |
dataset length More... | |
int | iD |
dataset dimension More... | |
int | iBatchSize |
size of the batch More... | |
af::array | afIndexes |
indexes of /f$\mathbf{X}/f$ for batch learning More... | |
af::dtype | m_dType |
floating point precision flag for af::array More... | |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, unsigned int version) |
Friends | |
class | AEP::SGPLayer< Scalar > |
class | PowerEP::SGPLayer< Scalar > |
class | boost::serialization::access |
Additional Inherited Members | |
![]() | |
IModel (int numData, int numDimension, ModelType type) | |
Constructor. More... | |
Base class for all sparse GP models.
Sparse approximations are used for larger data sets to reduce memory size and computational complexity. This is done by introducing a subset of inducing points or pseudo inputs to approximate the full set. The inversion of the kernel matrix depends only on those points and reduces the computationsl complexity from O(N^3) to O(k^2N), where k is the number of inducing points and N the length of the data set.
For more information see: , 21.03.2018.
Definition at line 58 of file FgSparseGPBaseModel.h.
NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::SparseGPBaseModel | ( | const af::array & | Y, |
const af::array & | X, | ||
int | numInducing = 200 , |
||
LogLikType | lType = LogLikType::Gaussian |
||
) |
Constructor.
, 21.03.2018.
X | [in,out] The training inputs. |
Y | [in,out] The training data. |
numInducing | Number of inducings points. |
lType | The likelihood or objective type. |
NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::SparseGPBaseModel | ( | ) |
Default constructor.
, 26.03.2018.
|
virtual |
Destructor.
, 15.05.2018.
|
overridevirtual |
Predict noise free functions values \(\mathbf{F}_*\).
Hmetal T, 05/05/2020.
testInputs | The test inputs. |
mf | [in,out] mean of function values. |
vf | [in,out] The variance of function values. |
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
overridevirtual |
Generate function samples from posterior.
Hmetal T, 18/06/2019.
outFunctions | [in,out] The out functions. |
inputs | The inputs. |
numSamples | Number of samples. |
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
af::array NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::GetTrainingInputs | ( | ) |
Gets training inputs X.
, 27.03.2018.
void NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::SetTrainingInputs | ( | af::array & | inputs | ) |
Gets training inputs X.
, 27.03.2018.
inputs | [in,out] The inputs. |
af::array NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::GetPseudoInputs | ( | ) |
Gets pseudo inputs.
Hmetal T, 17/06/2019.
|
overridevirtual |
Initializes the model.
Hmetal T, 29.11.2017.
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
overridevirtual |
Gets number of parameters.
, 26.06.2018.
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
overridevirtual |
Sets the parameters for each optimization iteration.
, 26.06.2018.
param | The parameter. |
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
overridevirtual |
Gets the parameters for each optimization iteration.
, 26.06.2018.
param | The parameter. |
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
overridevirtual |
Updates the parameters.
Hmetal T, 23/03/2020.
Reimplemented from NeuralEngine::MachineLearning::GPModels::GPBaseModel< Scalar >.
|
virtual |
Sets fixation for hyperparameters.
Hmetal T, 16/12/2019.
isfixed | True if isfixed. |
|
virtual |
Set fixation for inducing inputs.
Hmetal T, 16/12/2019.
isfixed | True if isfixed. |
SparseGPBaseLayer< Scalar > * NeuralEngine::MachineLearning::GPModels::SparseGPBaseModel< Scalar >::GetGPLayer | ( | ) |
Gets the gp layer.
Hmetal T, 18/12/2019.
|
inlineprivate |
Definition at line 222 of file FgSparseGPBaseModel.h.
|
friend |
Definition at line 212 of file FgSparseGPBaseModel.h.
|
friend |
Definition at line 212 of file FgSparseGPBaseModel.h.
|
friend |
Definition at line 219 of file FgSparseGPBaseModel.h.
|
protected |
number of inducing inputs
Definition at line 208 of file FgSparseGPBaseModel.h.
|
protected |
latent dimension
Definition at line 209 of file FgSparseGPBaseModel.h.
|
protected |
training inputs
Definition at line 210 of file FgSparseGPBaseModel.h.
|
protected |
gp layer
Definition at line 212 of file FgSparseGPBaseModel.h.