SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::datadriven::ModelFittingDensityEstimationCG Class Reference

Fitter object that encapsulates the usage of sparse grid density estimation with identity as regularization. More...

#include <ModelFittingDensityEstimationCG.hpp>

Inheritance diagram for sgpp::datadriven::ModelFittingDensityEstimationCG:
sgpp::datadriven::ModelFittingDensityEstimation sgpp::datadriven::ModelFittingBaseSingleGrid sgpp::datadriven::ModelFittingBase

Public Member Functions

bool adapt (size_t newNoPoints, std::vector< size_t > &deletedGridPoints) override
 Performs refinement and coarsening given the new grid size and the points to coarsened.
 
double computeResidual (DataMatrix &validationData) const override
 Should compute some kind of Residual to evaluate the fit of the model.
 
double evaluate (const DataVector &sample) override
 Evaluate the fitted density at a single data point - requires a trained grid.
 
void evaluate (DataMatrix &samples, DataVector &results) override
 Evaluate the fitted density on a set of data points - requires a trained grid.
 
void fit (DataMatrix &dataset) override
 Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach.
 
void fit (DataMatrix &datasetP, DataMatrix &datasetQ) override
 
void fit (Dataset &dataset) override
 Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach.
 
void fit (Dataset &datasetP, Dataset &datasetQ) override
 
 ModelFittingDensityEstimationCG (const FitterConfigurationDensityEstimation &config)
 Constructor.
 
void reset () override
 Resets the state of the entire model.
 
void resetTraining () override
 Resets any trained representations of the model, but does not reset the entire state.
 
void update (DataMatrix &samples) override
 Updates the model based on new data samples (streaming, batch learning).
 
void update (DataMatrix &samplesP, DataMatrix &samplesQ) override
 
void update (Dataset &dataset) override
 Train the grid of an existing model with new samples.
 
void update (Dataset &datasetP, Dataset &datasetQ) override
 
void updateRegularization (double lambda) override
 Updates the regularization parameter lambda of the underlying model.
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingDensityEstimation
bool adapt () override
 Improve accuracy of the fit on the given training data by adaptive refinement or coarsening of the grid and recalculate weights.
 
 ModelFittingDensityEstimation ()
 Default constructor.
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingBaseSingleGrid
GridgetGrid ()
 Get the underlying grid object for the current model.
 
DataVectorgetSurpluses ()
 Get the surpluses of the current grid.
 
 ModelFittingBaseSingleGrid ()
 Default constructor.
 
 ModelFittingBaseSingleGrid (const ModelFittingBaseSingleGrid &rhs)=delete
 Copy constructor - we cannot deep copy all member variables yet.
 
 ModelFittingBaseSingleGrid (ModelFittingBaseSingleGrid &&rhs)=default
 Move constructor.
 
ModelFittingBaseSingleGridoperator= (const ModelFittingBaseSingleGrid &rhs)=delete
 Copy assign operator - we cannot deep copy all member variables yet.
 
ModelFittingBaseSingleGridoperator= (ModelFittingBaseSingleGrid &&rhs)=default
 Move assign operator.
 
std::string storeFitter ()
 
virtual ~ModelFittingBaseSingleGrid ()=default
 virtual destructor.
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingBase
DatasetgetDataset ()
 
FitterConfigurationgetFitterConfiguration ()
 Get or set the configuration of the fitter object.
 
const FitterConfigurationgetFitterConfiguration () const
 Get the configuration of the fitter object.
 
virtual std::shared_ptr< BlacsProcessGridgetProcessGrid () const
 
 ModelFittingBase ()
 Default constructor.
 
 ModelFittingBase (const ModelFittingBase &rhs)=delete
 Copy constructor - we cannot deep copy all member variables yet.
 
 ModelFittingBase (ModelFittingBase &&rhs)=default
 Move constructor.
 
ModelFittingBaseoperator= (const ModelFittingBase &rhs)=delete
 Copy assign operator - we cannot deep copy all member variables yet.
 
ModelFittingBaseoperator= (ModelFittingBase &&rhs)=default
 Move assign operator.
 
virtual ~ModelFittingBase ()=default
 virtual destructor.
 

Additional Inherited Members

- Public Attributes inherited from sgpp::datadriven::ModelFittingBase
bool verboseSolver
 Whether the Solver produces output or not.
 
- Protected Member Functions inherited from sgpp::datadriven::ModelFittingDensityEstimation
std::unique_ptr< sgpp::base::CoarseningFunctorgetCoarseningFunctor ()
 Returns the refinement functor suitable for the model settings.
 
std::unique_ptr< sgpp::base::RefinementFunctorgetRefinementFunctor ()
 Returns the refinement functor suitable for the model settings.
 
- Protected Member Functions inherited from sgpp::datadriven::ModelFittingBase
GridbuildGrid (const sgpp::base::GeneralGridConfiguration &gridConfig) const
 Factory member function that generates a grid from configuration.
 
GridbuildGrid (const sgpp::base::GeneralGridConfiguration &gridConfig, const GeometryConfiguration &geometryConfig) const
 Factory member function that generates a grid from configuration.
 
SLESolverbuildSolver (const SLESolverConfiguration &config) const
 Factory member function to build the solver for the least squares regression problem according to the config.
 
std::set< std::set< size_t > > getInteractions (const GeometryConfiguration &geometryConfig)
 
void reconfigureSolver (SLESolver &solver, const SLESolverConfiguration &config) const
 Configure solver based on the desired configuration.
 
- Protected Attributes inherited from sgpp::datadriven::ModelFittingDensityEstimation
size_t initialGridSize
 Initial number of grid points.
 
size_t refinementsPerformed
 Count the amount of refinement operations performed on the current dataset.
 
- Protected Attributes inherited from sgpp::datadriven::ModelFittingBaseSingleGrid
DataVector alpha
 hierarchical surpluses of the grid.
 
std::unique_ptr< Gridgrid
 the sparse grid that approximates the data.
 
- Protected Attributes inherited from sgpp::datadriven::ModelFittingBase
std::unique_ptr< FitterConfigurationconfig
 Configuration object for the fitter.
 
Datasetdataset
 Pointer to sgpp::datadriven::Dataset.
 
DatasetextraDataset
 
std::unique_ptr< std::set< std::set< size_t > > > interactions
 
std::unique_ptr< SLESolversolver
 Solver for the learning problem.
 

Detailed Description

Fitter object that encapsulates the usage of sparse grid density estimation with identity as regularization.

Allows usage of different grids, different solvers and different regularization techniques based on the provided configuration objects.

Constructor & Destructor Documentation

◆ ModelFittingDensityEstimationCG()

sgpp::datadriven::ModelFittingDensityEstimationCG::ModelFittingDensityEstimationCG ( const FitterConfigurationDensityEstimation config)
explicit

Constructor.

Parameters
configconfiguration object that specifies grid, refinement, and regularization

References sgpp::datadriven::ModelFittingBase::config.

Member Function Documentation

◆ adapt()

bool sgpp::datadriven::ModelFittingDensityEstimationCG::adapt ( size_t  newNoPoints,
std::vector< size_t > &  deletedGridPoints 
)
overridevirtual

Performs refinement and coarsening given the new grid size and the points to coarsened.

Parameters
newNoPointsthe grid size after refinement and coarsening
deletedGridPointsa list of indexes for grid points that will be removed
Returns
if the grid was refined (true)

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::base::DataVector::remove(), and sgpp::base::DataVector::resizeZero().

◆ computeResidual()

double sgpp::datadriven::ModelFittingDensityEstimationCG::computeResidual ( DataMatrix validationData) const
inlineoverridevirtual

Should compute some kind of Residual to evaluate the fit of the model.

In the case of density estimation, this is || R * alpha_lambda - b_val ||_2

This is useful for unsupervised learning models, where normal evaluation cannot be used as there are no targets.

Parameters
validationDataMatrix for validation data
Returns
the residual score

Implements sgpp::datadriven::ModelFittingDensityEstimation.

◆ evaluate() [1/2]

double sgpp::datadriven::ModelFittingDensityEstimationCG::evaluate ( const DataVector sample)
overridevirtual

Evaluate the fitted density at a single data point - requires a trained grid.

Parameters
samplevector with the coordinates in all dimensions of that sample.
Returns
evaluation of the trained grid.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::op_factory::createOperationEval(), and sgpp::datadriven::ModelFittingBaseSingleGrid::grid.

◆ evaluate() [2/2]

void sgpp::datadriven::ModelFittingDensityEstimationCG::evaluate ( DataMatrix samples,
DataVector results 
)
overridevirtual

Evaluate the fitted density on a set of data points - requires a trained grid.

Parameters
samplesmatrix where each row represents a sample and the columns contain the coordinates in all dimensions of that sample.
resultsvector where each row will contain the evaluation of the respective sample on the current model.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::op_factory::createOperationMultipleEval(), sgpp::base::OperationMultipleEval::eval(), and sgpp::datadriven::ModelFittingBaseSingleGrid::grid.

◆ fit() [1/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::fit ( DataMatrix dataset)
overridevirtual

Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach.

Requires only data samples and no targets (since those are irrelevant for the density estimation whatsoever)

Parameters
datasetthe training dataset that is used to fit the model.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::datadriven::ModelFittingBase::buildGrid(), sgpp::datadriven::ModelFittingBase::config, sgpp::base::DataMatrix::getNcols(), sgpp::datadriven::ModelFittingBaseSingleGrid::grid, reset(), and update().

◆ fit() [2/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::fit ( DataMatrix datasetP,
DataMatrix datasetQ 
)
inlineoverridevirtual

◆ fit() [3/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::fit ( Dataset dataset)
overridevirtual

Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach.

Parameters
datasetthe training dataset that is used to fit the model.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBase::dataset, fit(), and sgpp::datadriven::Dataset::getData().

Referenced by fit(), and update().

◆ fit() [4/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::fit ( Dataset datasetP,
Dataset datasetQ 
)
inlineoverridevirtual

◆ reset()

void sgpp::datadriven::ModelFittingDensityEstimationCG::reset ( )
overridevirtual

◆ resetTraining()

void sgpp::datadriven::ModelFittingDensityEstimationCG::resetTraining ( )
inlineoverridevirtual

Resets any trained representations of the model, but does not reset the entire state.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

◆ update() [1/4]

◆ update() [2/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::update ( DataMatrix samplesP,
DataMatrix samplesQ 
)
inlineoverridevirtual

◆ update() [3/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::update ( Dataset dataset)
overridevirtual

Train the grid of an existing model with new samples.

Parameters
datasetthe training dataset that is used to fit the model.

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::datadriven::ModelFittingBase::dataset, sgpp::datadriven::Dataset::getData(), and update().

Referenced by fit(), python.uq.refinement.RefinementStrategy.Ranking::rank(), python.learner.LearnedKnowledge.LearnedKnowledge::setMemento(), and update().

◆ update() [4/4]

void sgpp::datadriven::ModelFittingDensityEstimationCG::update ( Dataset datasetP,
Dataset datasetQ 
)
inlineoverridevirtual

◆ updateRegularization()

void sgpp::datadriven::ModelFittingDensityEstimationCG::updateRegularization ( double  lambda)
inlineoverridevirtual

Updates the regularization parameter lambda of the underlying model.

Parameters
lambdathe new lambda parameter

Implements sgpp::datadriven::ModelFittingDensityEstimation.


The documentation for this class was generated from the following files: