SG++-Doxygen-Documentation
sgpp::datadriven::ModelFittingLeastSquares Class Reference

Fitter object that encapsulates the usage of sparse grid based regression with identity as regularization. More...

#include <ModelFittingLeastSquares.hpp>

Inheritance diagram for sgpp::datadriven::ModelFittingLeastSquares:
sgpp::datadriven::ModelFittingBaseSingleGrid sgpp::datadriven::ModelFittingBase

Public Member Functions

double evaluate (const DataVector &sample) override
 Evaluate the fitted regression model at a single data point - requires a trained grid. More...
 
void evaluate (DataMatrix &samples, DataVector &results) override
 Evaluate the fitted model 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 a least squares approach. More...
 
 ModelFittingLeastSquares (const FitterConfigurationLeastSquares &config)
 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...
 
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...
 
- 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::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 based regression with identity as regularization.

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

Constructor & Destructor Documentation

◆ ModelFittingLeastSquares()

sgpp::datadriven::ModelFittingLeastSquares::ModelFittingLeastSquares ( const FitterConfigurationLeastSquares config)
explicit

Constructor.

Parameters
configconfiguration object that specifies grid, refinement, and regularization

References sgpp::datadriven::ModelFittingBase::buildSolver(), sgpp::datadriven::ModelFittingBase::config, and sgpp::datadriven::ModelFittingBase::solver.

Member Function Documentation

◆ evaluate() [1/2]

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

Evaluate the fitted regression model 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(), sgpp::base::OperationEval::eval(), and sgpp::datadriven::ModelFittingBaseSingleGrid::grid.

◆ evaluate() [2/2]

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

Evaluate the fitted model 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::datadriven::ModelFittingBase::config, sgpp::op_factory::createOperationMultipleEval(), sgpp::base::OperationMultipleEval::eval(), and sgpp::datadriven::ModelFittingBaseSingleGrid::grid.

◆ fit()

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

Fit the grid to the given dataset by determining the weights of the initial grid by a least squares approach.

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

Implements sgpp::datadriven::ModelFittingBase.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::datadriven::ModelFittingBase::buildGrid(), sgpp::datadriven::ModelFittingBase::config, sgpp::datadriven::ModelFittingBase::dataset, sgpp::datadriven::Dataset::getDimension(), sgpp::datadriven::ModelFittingBaseSingleGrid::grid, and reset().

Referenced by update().

◆ refine()

bool sgpp::datadriven::ModelFittingLeastSquares::refine ( )
overridevirtual

Improve accuracy of the fit on the given training data by adaptive refinement of the grid and recalculate weights.

Returns
true if refinement could be performed based on the refinement configuration, else false.

Implements sgpp::datadriven::ModelFittingBase.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::datadriven::ModelFittingBase::config, sgpp::datadriven::ModelFittingBaseSingleGrid::grid, and sgpp::base::DataVector::resizeZero().

◆ reset()

◆ update()

void sgpp::datadriven::ModelFittingLeastSquares::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::ModelFittingBase.

References sgpp::datadriven::ModelFittingBaseSingleGrid::alpha, sgpp::datadriven::ModelFittingBase::config, sgpp::datadriven::ModelFittingBase::dataset, fit(), sgpp::datadriven::ModelFittingBaseSingleGrid::grid, lambda, and reset().


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