![]() |
SG++-Doxygen-Documentation
|
Abstract super class to encapsulate density estimation models working with multiple Grids. More...
#include <ModelFittingDensityEstimationCombi.hpp>
Public Member Functions | |
bool | adapt () override |
Refines the component with the biggest error. | |
bool | adapt (size_t newNoPoints, std::vector< size_t > &deletedGridPoints) override |
Currently not implemented for this class due to missing strategy for dimensional adaptive refinement. | |
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 &newDataset) override |
Fit the grids to the given dataset by determining the surpluses of the initial grid by the SGDE approach. | |
void | fit (DataMatrix &newDatasetP, DataMatrix &newDatasetQ) override |
void | fit (Dataset &newDataset) override |
Fit the grids to the given dataset by determining the weights of the initial grid by the SGDE approach. | |
void | fit (Dataset &newDatasetP, Dataset &newDatasetQ) override |
ModelFittingDensityEstimationCombi () | |
Default constructor. | |
ModelFittingDensityEstimationCombi (const FitterConfigurationDensityEstimation &config) | |
Constructor from a configuration object generated by the datamining pipeline. | |
ModelFittingDensityEstimationCombi (const FitterConfigurationDensityEstimation &config, std::shared_ptr< DBMatObjectStore > objectStore) | |
Construct from a configuration object generated from the datamining pipeline and a object store to obtain and store already decomposed offline objects. | |
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. | |
![]() | |
ModelFittingDensityEstimation () | |
Default constructor. | |
![]() | |
Grid & | getGrid () |
Get the underlying grid object for the current model. | |
DataVector & | getSurpluses () |
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. | |
ModelFittingBaseSingleGrid & | operator= (const ModelFittingBaseSingleGrid &rhs)=delete |
Copy assign operator - we cannot deep copy all member variables yet. | |
ModelFittingBaseSingleGrid & | operator= (ModelFittingBaseSingleGrid &&rhs)=default |
Move assign operator. | |
std::string | storeFitter () |
virtual | ~ModelFittingBaseSingleGrid ()=default |
virtual destructor. | |
![]() | |
Dataset * | getDataset () |
FitterConfiguration & | getFitterConfiguration () |
Get or set the configuration of the fitter object. | |
const FitterConfiguration & | getFitterConfiguration () const |
Get the configuration of the fitter object. | |
virtual std::shared_ptr< BlacsProcessGrid > | getProcessGrid () 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. | |
ModelFittingBase & | operator= (const ModelFittingBase &rhs)=delete |
Copy assign operator - we cannot deep copy all member variables yet. | |
ModelFittingBase & | operator= (ModelFittingBase &&rhs)=default |
Move assign operator. | |
virtual | ~ModelFittingBase ()=default |
virtual destructor. | |
Protected Member Functions | |
void | addNewModel (const std::pair< std::vector< size_t >, int > combiconfig) |
std::unique_ptr< ModelFittingDensityEstimation > | createNewModel (sgpp::datadriven::FitterConfigurationDensityEstimation &densityEstimationConfig) |
Creates a density estimation model that fits the model settings. | |
bool | isRefinable () override |
Function that indicates whether a model is refinable at all (certain on/off settings do not allow for refinement) | |
void | removeModel (size_t indexRev) |
![]() | |
std::unique_ptr< sgpp::base::CoarseningFunctor > | getCoarseningFunctor () |
Returns the refinement functor suitable for the model settings. | |
std::unique_ptr< sgpp::base::RefinementFunctor > | getRefinementFunctor () |
Returns the refinement functor suitable for the model settings. | |
![]() | |
Grid * | buildGrid (const sgpp::base::GeneralGridConfiguration &gridConfig) const |
Factory member function that generates a grid from configuration. | |
Grid * | buildGrid (const sgpp::base::GeneralGridConfiguration &gridConfig, const GeometryConfiguration &geometryConfig) const |
Factory member function that generates a grid from configuration. | |
SLESolver * | buildSolver (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 | |
std::vector< std::pair< std::vector< size_t >, int > > | componentConfigs |
Contains all level vector and weights of the current component grid set. | |
std::vector< std::unique_ptr< ModelFittingDensityEstimation > > | components |
Contains the component grids witch form the sparse grids. | |
std::vector< bool > | fitted |
Contains the status of the component grids. | |
bool | hasObjectStore |
True if the instance has an object store. | |
std::shared_ptr< DBMatObjectStore > | objectStore |
The object store passed to component objects. | |
CombiScheme | scheme |
Delivers the initial level vectors and weighs and manages refinements. | |
![]() | |
size_t | initialGridSize |
Initial number of grid points. | |
size_t | refinementsPerformed |
Count the amount of refinement operations performed on the current dataset. | |
![]() | |
DataVector | alpha |
hierarchical surpluses of the grid. | |
std::unique_ptr< Grid > | grid |
the sparse grid that approximates the data. | |
![]() | |
std::unique_ptr< FitterConfiguration > | config |
Configuration object for the fitter. | |
Dataset * | dataset |
Pointer to sgpp::datadriven::Dataset. | |
Dataset * | extraDataset |
std::unique_ptr< std::set< std::set< size_t > > > | interactions |
std::unique_ptr< SLESolver > | solver |
Solver for the learning problem. | |
Additional Inherited Members | |
![]() | |
bool | verboseSolver |
Whether the Solver produces output or not. | |
Abstract super class to encapsulate density estimation models working with multiple Grids.
sgpp::datadriven::ModelFittingDensityEstimationCombi::ModelFittingDensityEstimationCombi | ( | ) |
Default constructor.
|
explicit |
Constructor from a configuration object generated by the datamining pipeline.
config | configuration object generated by the datamining pipeline |
References components, sgpp::datadriven::ModelFittingBase::config, fitted, hasObjectStore, objectStore, and sgpp::datadriven::DBMatOfflinePermutable::PermutableDecompositions.
|
explicit |
Construct from a configuration object generated from the datamining pipeline and a object store to obtain and store already decomposed offline objects.
config | Configuration object generated by the datamining pipeline. |
objectStore | Offline object store. |
References hasObjectStore, and objectStore.
|
overridevirtual |
Refines the component with the biggest error.
Reimplemented from sgpp::datadriven::ModelFittingDensityEstimation.
References addNewModel(), componentConfigs, components, sgpp::datadriven::CombiScheme::getCombiScheme(), sgpp::datadriven::CombiScheme::isRefinable(), sgpp::datadriven::CombiScheme::refineComponent(), sgpp::datadriven::ModelFittingDensityEstimation::refinementsPerformed, removeModel(), and scheme.
|
overridevirtual |
Currently not implemented for this class due to missing strategy for dimensional adaptive refinement.
Throws an application_exception.
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
protected |
References componentConfigs, components, sgpp::datadriven::ModelFittingBase::config, createNewModel(), fitted, and sgpp::datadriven::FitterConfigurationDensityEstimation::setupDefaults().
Referenced by adapt().
|
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.
validationData | Matrix for validation data |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
protected |
Creates a density estimation model that fits the model settings.
densityEstimationConfig | configuration for the density estimation |
References sgpp::datadriven::CG, sgpp::datadriven::Decomposition, sgpp::datadriven::FitterConfiguration::getDensityEstimationConfig(), hasObjectStore, objectStore, and sgpp::datadriven::DensityEstimationConfiguration::type_.
Referenced by addNewModel(), and fit().
|
overridevirtual |
Evaluate the fitted density at a single data point - requires a trained grid.
sample | vector with the coordinates in all dimensions of that sample. |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References componentConfigs, components, and fitted.
|
overridevirtual |
Evaluate the fitted density on a set of data points - requires a trained grid.
samples | matrix where each row represents a sample and the columns contain the coordinates in all dimensions of that sample. |
results | vector where each row will contain the evaluation of the respective sample on the current model. |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References sgpp::base::DataVector::add(), componentConfigs, components, fitted, and sgpp::base::DataVector::setAll().
|
overridevirtual |
Fit the grids to the given dataset by determining the surpluses of the initial grid by the SGDE approach.
Requires only data samples and no targets (since those are irrelevant for the density estimation whatsoever)
newDataset | the training dataset that is used to fit the model. |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References componentConfigs, sgpp::base::ComponentGrid, components, sgpp::datadriven::ModelFittingBase::config, createNewModel(), sgpp::datadriven::DensityEstimationConfiguration::decomposition_, fitted, sgpp::datadriven::CombiScheme::getCombiScheme(), sgpp::datadriven::FitterConfiguration::getDensityEstimationConfig(), sgpp::datadriven::ModelFittingBase::getFitterConfiguration(), sgpp::base::DataMatrix::getNcols(), sgpp::datadriven::FitterConfiguration::getRegularizationConfig(), sgpp::datadriven::CombiScheme::initialize(), sgpp::datadriven::RegularizationConfiguration::lambda_, scheme, and sgpp::datadriven::FitterConfigurationDensityEstimation::setupDefaults().
|
inlineoverridevirtual |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
overridevirtual |
Fit the grids to the given dataset by determining the weights of the initial grid by the SGDE approach.
newDataset | the training dataset that is used to fit the model. |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References sgpp::datadriven::ModelFittingBase::dataset, fit(), and sgpp::datadriven::Dataset::getData().
|
inlineoverridevirtual |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
overrideprotectedvirtual |
Function that indicates whether a model is refinable at all (certain on/off settings do not allow for refinement)
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
protected |
indexRev | the reverse index (distance from the end of the vector) of the component that must be removed |
References componentConfigs, components, and fitted.
Referenced by adapt().
|
overridevirtual |
Resets the state of the entire model.
Implements sgpp::datadriven::ModelFittingBase.
References components, and sgpp::datadriven::ModelFittingDensityEstimation::refinementsPerformed.
|
inlineoverridevirtual |
Resets any trained representations of the model, but does not reset the entire state.
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
overridevirtual |
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)
samples | the new data samples |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References components, fit(), fitted, and sgpp::datadriven::ModelFittingDensityEstimation::refinementsPerformed.
Referenced by python.uq.refinement.RefinementStrategy.Ranking::rank(), and python.learner.LearnedKnowledge.LearnedKnowledge::setMemento().
|
inlineoverridevirtual |
|
overridevirtual |
Train the grid of an existing model with new samples.
dataset | the training dataset that is used to fit the model. |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
References components, sgpp::datadriven::ModelFittingBase::dataset, fit(), fitted, sgpp::datadriven::Dataset::getData(), and sgpp::datadriven::ModelFittingDensityEstimation::refinementsPerformed.
Referenced by python.uq.refinement.RefinementStrategy.Ranking::rank(), and python.learner.LearnedKnowledge.LearnedKnowledge::setMemento().
|
inlineoverridevirtual |
Updates the regularization parameter lambda of the underlying model.
lambda | the new lambda parameter |
Implements sgpp::datadriven::ModelFittingDensityEstimation.
|
protected |
Contains all level vector and weights of the current component grid set.
Referenced by adapt(), addNewModel(), evaluate(), evaluate(), fit(), and removeModel().
|
protected |
Contains the component grids witch form the sparse grids.
Referenced by adapt(), addNewModel(), evaluate(), evaluate(), fit(), ModelFittingDensityEstimationCombi(), removeModel(), reset(), update(), and update().
|
protected |
Contains the status of the component grids.
true: fitted false: unfitted
Referenced by addNewModel(), evaluate(), evaluate(), fit(), ModelFittingDensityEstimationCombi(), removeModel(), update(), and update().
|
protected |
True if the instance has an object store.
Referenced by createNewModel(), ModelFittingDensityEstimationCombi(), and ModelFittingDensityEstimationCombi().
|
protected |
The object store passed to component objects.
Referenced by createNewModel(), ModelFittingDensityEstimationCombi(), and ModelFittingDensityEstimationCombi().
|
protected |