SG++-Doxygen-Documentation
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

double evaluate (const DataVector &sample) override
 Evaluate the fitted density at a single data point - requires a trained grid. More...
 
void evaluate (DataMatrix &samples, DataVector &results) override
 Evaluate the fitted density on a set of data points - requires a trained grid. More...
 
void fit (Dataset &dataset) override
 Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach. More...
 
void fit (DataMatrix &dataset)
 Fit the grid to the given dataset by determining the weights of the initial grid by the SGDE approach. More...
 
 ModelFittingDensityEstimationCG (const FitterConfigurationDensityEstimation &config)
 Constructor. More...
 
bool refine (size_t newNoPoints, std::list< size_t > *deletedGridPoints)
 Performs a refinement given the new grid size and the points to coarsened. More...
 
void reset () override
 Resets the state of the entire model. More...
 
void update (Dataset &dataset) override
 Train the grid of an existing model with new samples. More...
 
void update (DataMatrix &samples)
 Updates the model based on new data samples (streaming, batch learning). More...
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingDensityEstimation
sgpp::base::RefinementFunctorgetRefinementFunctor ()
 Returns the refinement functor suitable for the model settings. More...
 
 ModelFittingDensityEstimation ()
 Default constructor. More...
 
bool refine () override
 Improve accuracy of the fit on the given training data by adaptive refinement of the grid and recalculate weights. More...
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingBaseSingleGrid
GridgetGrid ()
 Get the underlying grid object for the current model. More...
 
DataVectorgetSurpluses ()
 Get the surpluses of the current grid. More...
 
 ModelFittingBaseSingleGrid ()
 Default constructor. More...
 
 ModelFittingBaseSingleGrid (const ModelFittingBaseSingleGrid &rhs)=delete
 Copy constructor - we cannot deep copy all member variables yet. More...
 
 ModelFittingBaseSingleGrid (ModelFittingBaseSingleGrid &&rhs)=default
 Move constructor. More...
 
ModelFittingBaseSingleGridoperator= (const ModelFittingBaseSingleGrid &rhs)=delete
 Copy assign operator - we cannot deep copy all member variables yet. More...
 
ModelFittingBaseSingleGridoperator= (ModelFittingBaseSingleGrid &&rhs)=default
 Move assign operator. More...
 
virtual ~ModelFittingBaseSingleGrid ()=default
 virtual destructor. More...
 
- Public Member Functions inherited from sgpp::datadriven::ModelFittingBase
const FitterConfigurationgetFitterConfiguration () const
 Get the configuration of the fitter object. More...
 
 ModelFittingBase ()
 Default constructor. More...
 
 ModelFittingBase (const ModelFittingBase &rhs)=delete
 Copy constructor - we cannot deep copy all member variables yet. More...
 
 ModelFittingBase (ModelFittingBase &&rhs)=default
 Move constructor. More...
 
ModelFittingBaseoperator= (const ModelFittingBase &rhs)=delete
 Copy assign operator - we cannot deep copy all member variables yet. More...
 
ModelFittingBaseoperator= (ModelFittingBase &&rhs)=default
 Move assign operator. More...
 
virtual ~ModelFittingBase ()=default
 virtual destructor. More...
 

Additional Inherited Members

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

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

◆ 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::ModelFittingBase.

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

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

◆ fit() [1/2]

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

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

Referenced by update().

◆ fit() [2/2]

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

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(), sgpp::base::DataVector::setAll(), and update().

◆ refine()

bool sgpp::datadriven::ModelFittingDensityEstimationCG::refine ( size_t  newNoPoints,
std::list< size_t > *  deletedGridPoints 
)
virtual

Performs a refinement 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().

◆ reset()

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

Resets the state of the entire model.

Implements sgpp::datadriven::ModelFittingBase.

References sgpp::datadriven::ModelFittingDensityEstimation::refinementsPerformed.

Referenced by fit().

◆ update() [1/2]

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

◆ update() [2/2]

void sgpp::datadriven::ModelFittingDensityEstimationCG::update ( DataMatrix samples)
virtual

Updates the model based on new data samples (streaming, batch learning).

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

Parameters
samplesthe new data samples

Implements sgpp::datadriven::ModelFittingDensityEstimation.

References sgpp::base::DataVector::add(), sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, python.utils.pca_normalize_dataset::C, sgpp::datadriven::ModelFittingBase::config, fit(), sgpp::base::DataMatrix::getNrows(), sgpp::base::Grid::getSize(), sgpp::base::DataVector::mult(), and sgpp::solver::ConjugateGradients::solve().


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