SG++
sgpp::datadriven::LearnerLeastSquaresIdentity Class Reference

This class implements standard sparse grid regression with an Identity matrix as regularization operator. More...

#include <LearnerLeastSquaresIdentity.hpp>

Inheritance diagram for sgpp::datadriven::LearnerLeastSquaresIdentity:
sgpp::datadriven::LearnerBase

Public Member Functions

std::vector< std::pair< size_t, double > > getRefinementExecTimes ()
 
 LearnerLeastSquaresIdentity (const bool isRegression, const bool isVerbose=true)
 Constructor. More...
 
void multTranspose (sgpp::base::DataMatrix &dataset, sgpp::base::DataVector &multiplier, sgpp::base::DataVector &result) override
 
void predict (sgpp::base::DataMatrix &testDataset, sgpp::base::DataVector &classesComputed) override
 executes a Regression test for a given dataset and returns the result More...
 
void setImplementation (sgpp::datadriven::OperationMultipleEvalConfiguration operationConfiguration)
 
double testRegular (const sgpp::base::RegularGridConfiguration &GridConfig, sgpp::base::DataMatrix &testDataset)
 
virtual ~LearnerLeastSquaresIdentity ()
 Destructor. More...
 
- Public Member Functions inherited from sgpp::datadriven::LearnerBase
void dumpFunction (std::string tFilename, size_t resolution)
 simple dump of sparse grid function into file, e.g. More...
 
void dumpGrid (std::string tFilename)
 simple dump of grid points into file, e.g. More...
 
virtual double getAccuracy (sgpp::base::DataMatrix &testDataset, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the accuracy for given testDataset. More...
 
virtual double getAccuracy (const sgpp::base::DataVector &classesComputed, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the accuracy for given testDataset. More...
 
sgpp::base::DataVectorgetAlpha ()
 
virtual ClassificatorQuality getCassificatorQuality (sgpp::base::DataMatrix &testDataset, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the quality for given testDataset, classification ONLY! test is automatically called in order to determine the regression values of the current learner More...
 
virtual ClassificatorQuality getCassificatorQuality (const sgpp::base::DataVector &classesComputed, const sgpp::base::DataVector &classesReference, const double threshold=0.0)
 compute the quality for given testDataset, classification ONLY! More...
 
sgpp::base::GridgetGrid ()
 
bool getIsRegression () const
 determines the current mode More...
 
bool getIsVerbose () const
 determines the current verbose mode of learner More...
 
std::vector< std::pair< size_t, double > > getRefinementExecTimes ()
 
 LearnerBase (const bool isRegression, const bool isVerbose=true)
 Constructor. More...
 
 LearnerBase (const LearnerBase &copyMe)
 Copy-Constructor. More...
 
void setIsVerbose (const bool isVerbose)
 sets the current verbose mode of learner More...
 
void setReuseCoefficients (bool reuseCoefficients)
 
void setSolverVerbose (bool solverVerbose)
 
void store (std::string tGridFilename, std::string tAlphaFilename)
 store the grid and its current coefficients into files for further usage. More...
 
virtual LearnerTiming train (sgpp::base::DataMatrix &trainDataset, sgpp::base::DataVector &classes, const sgpp::base::RegularGridConfiguration &GridConfig, const sgpp::solver::SLESolverConfiguration &SolverConfigRefine, const sgpp::solver::SLESolverConfiguration &SolverConfigFinal, const sgpp::base::AdpativityConfiguration &AdaptConfig, bool testAccDuringAdapt, const double lambdaRegularization, sgpp::base::DataMatrix *testDataset=nullptr, sgpp::base::DataVector *testClasses=nullptr)
 Learning a dataset with spatially adaptive sparse grids. More...
 
LearnerTiming train (sgpp::base::DataMatrix &trainDataset, sgpp::base::DataVector &classes, const sgpp::base::RegularGridConfiguration &GridConfig, const sgpp::solver::SLESolverConfiguration &SolverConfig, const double lambdaRegularization)
 Learning a dataset with regular sparse grids. More...
 
virtual ~LearnerBase ()
 Destructor. More...
 

Protected Member Functions

std::unique_ptr< sgpp::datadriven::DMSystemMatrixBasecreateDMSystem (sgpp::base::DataMatrix &trainDataset, double lambda) override
 abstract method that constructs the corresponding system of linear equations Derived classes MUST overwrite this functions! More...
 
void postProcessing (const sgpp::base::DataMatrix &trainDataset, const sgpp::solver::SLESolverType &solver, const size_t numNeededIterations) override
 Hook-Method for post-processing after each refinement learning. More...
 
- Protected Member Functions inherited from sgpp::datadriven::LearnerBase
virtual void InitializeGrid (const sgpp::base::RegularGridConfiguration &GridConfig)
 Initialize the grid and its coefficients. More...
 
virtual void preProcessing ()
 Hook-Method for pre-processing before starting learning. More...
 

Additional Inherited Members

- Protected Attributes inherited from sgpp::datadriven::LearnerBase
std::unique_ptr< sgpp::base::DataVectoralpha
 the grid's coefficients More...
 
size_t currentRefinementStep
 the current refinment step during training More...
 
double execTime
 execution time More...
 
std::vector< std::pair< size_t, double > > ExecTimeOnStep
 
double GByte
 number of transferred Gbytes More...
 
double GFlop
 number of executed Floating Point operations More...
 
std::unique_ptr< sgpp::base::Gridgrid
 sparse grid object More...
 
bool isRegression
 is regression selected More...
 
bool isTrained
 is the grid trained More...
 
bool isVerbose
 is verbose output enabled More...
 
bool reuseCoefficients
 shall the coefficients be reused between refinement steps More...
 
bool solverVerbose
 sets the verbose option for the solver More...
 
double stepExecTime
 execution time for current refinement to calculate the GFlops at the current timestep only otherwise accumulated GFlops (all refinement steps) are calculated More...
 
double stepGByte
 number of transferred Gbytes in the current refinement step More...
 
double stepGFlop
 number of executed Floating Point operations in the current refinement step More...
 

Detailed Description

This class implements standard sparse grid regression with an Identity matrix as regularization operator.

Furthermore this Learner provides support for several vectorization approaches covering GPUs, CPUs and coprocessors.

Constructor & Destructor Documentation

sgpp::datadriven::LearnerLeastSquaresIdentity::LearnerLeastSquaresIdentity ( const bool  isRegression,
const bool  isVerbose = true 
)
explicit

Constructor.

Parameters
isRegressionset to true if a regression task should be executed
isVerboseset to true in order to allow console output
sgpp::datadriven::LearnerLeastSquaresIdentity::~LearnerLeastSquaresIdentity ( )
virtual

Destructor.

Member Function Documentation

std::unique_ptr< sgpp::datadriven::DMSystemMatrixBase > sgpp::datadriven::LearnerLeastSquaresIdentity::createDMSystem ( sgpp::base::DataMatrix trainDataset,
double  lambda 
)
overrideprotectedvirtual

abstract method that constructs the corresponding system of linear equations Derived classes MUST overwrite this functions!

Parameters
trainDatasettraining dataset
lambdalambda regularization parameter

Implements sgpp::datadriven::LearnerBase.

References sgpp::datadriven::LearnerBase::grid, and sgpp::datadriven::SystemMatrixLeastSquaresIdentity::setImplementation().

std::vector< std::pair< size_t, double > > sgpp::datadriven::LearnerLeastSquaresIdentity::getRefinementExecTimes ( )
void sgpp::datadriven::LearnerLeastSquaresIdentity::multTranspose ( sgpp::base::DataMatrix dataset,
sgpp::base::DataVector multiplier,
sgpp::base::DataVector result 
)
overridevirtual
void sgpp::datadriven::LearnerLeastSquaresIdentity::postProcessing ( const sgpp::base::DataMatrix trainDataset,
const sgpp::solver::SLESolverType solver,
const size_t  numNeededIterations 
)
overrideprotectedvirtual
void sgpp::datadriven::LearnerLeastSquaresIdentity::predict ( sgpp::base::DataMatrix testDataset,
sgpp::base::DataVector classesComputed 
)
overridevirtual

executes a Regression test for a given dataset and returns the result

Parameters
testDatasetdataset that is evaluated with the current learner
classesComputedresult of the evaluation of the data set
Returns
regression values of testDataset

Reimplemented from sgpp::datadriven::LearnerBase.

References sgpp::datadriven::LearnerBase::alpha, sgpp::op_factory::createOperationMultipleEval(), sgpp::base::DataMatrix::getNrows(), sgpp::datadriven::LearnerBase::grid, and sgpp::base::OperationMultipleEval::mult().

void sgpp::datadriven::LearnerLeastSquaresIdentity::setImplementation ( sgpp::datadriven::OperationMultipleEvalConfiguration  operationConfiguration)
inline

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