![]() |
SG++-Doxygen-Documentation
|
Class that stores, generates and manipulates a density function during online phase in on/off learning. More...
#include <DBMatOnlineDE.hpp>
Public Member Functions | |
| void | computeDensityFunction (DataVector &alpha, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool do_cv=false) |
| Computes the density function again based on the saved b's (only applicable for streaming) More... | |
| void | computeDensityFunction (DataVector &alpha, DataMatrix &m, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool save_b=false, bool do_cv=false, std::list< size_t > *deletedPoints=nullptr, size_t newPoints=0) |
| Computes the density function for a certain data matrix. More... | |
| DBMatOnlineDE (DBMatOffline &offline, Grid &grid, double lambda, double beta=0.) | |
| Constructor. More... | |
| double | eval (DataVector &alpha, const DataVector &p, Grid &grid, bool force=false) |
| Evaluates the density function at a certain point. More... | |
| void | eval (DataVector &alpha, DataMatrix &values, DataVector &results, Grid &grid, bool force=false) |
| Evaluates the density function on multiple points. More... | |
| double | getBeta () |
| Returns the current weighting factor. More... | |
| bool | isComputed () |
| Returns if the surplus has already been computed. More... | |
| double | normalize (DataVector &alpha, Grid &grid, size_t samples=1000) |
| Normalize the Density. More... | |
| double | normalizeQuadrature (DataVector &alpha, Grid &grid) |
| Normalize the Density using Quadrature. More... | |
| void | setBeta (double beta) |
| Sets the weighting factor. More... | |
| void | updateRhs (size_t gridSize, std::list< size_t > *deletedPoints) |
| Restructures the rhs (b vector) of the system matrix. More... | |
Public Member Functions inherited from sgpp::datadriven::DBMatOnline | |
| DBMatOnline (DBMatOffline &o) | |
| Constructor. More... | |
| DBMatOnline (const DBMatOnline &rhs)=delete | |
| DBMatOnline (DBMatOnline &&rhs)=default | |
| DBMatOffline & | getOfflineObject () |
| Returns a reference to the offline object. More... | |
| const DBMatOffline & | getOfflineObject () const |
| DBMatOnline & | operator= (const DBMatOnline &rhs)=delete |
| DBMatOnline & | operator= (DBMatOnline &&rhs)=default |
| void | setLambda (double lambda) |
| Changes the weighting factor for the regularization term, if possible (might depend on the kind of decomposition for classification) More... | |
| virtual std::vector< size_t > | updateSystemMatrixDecomposition (DensityEstimationConfiguration &densityEstimationConfig, Grid &grid, size_t numAddedGridPoints, std::list< size_t > deletedGridPointIndices, double lambda) |
| Update the system matrix decomposition after the grid has been modified. More... | |
| virtual | ~DBMatOnline ()=default |
| Destructor. More... | |
Protected Member Functions | |
| double | computeL2Error (DataVector &alpha, Grid &grid) |
| double | resDensity (DataVector &alpha, Grid &grid) |
| virtual void | solveSLE (DataVector &alpha, DataVector &b, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool do_cv)=0 |
Protected Attributes | |
| double | beta |
| DataVector | bSave |
| DataVector | bTotalPoints |
| bool | functionComputed |
| double | lambda |
| double | normFactor |
| size_t | oDim |
| DataMatrix * | testMat |
| DataMatrix * | testMatRes |
| size_t | totalPoints |
Protected Attributes inherited from sgpp::datadriven::DBMatOnline | |
| DBMatOffline & | offlineObject |
Class that stores, generates and manipulates a density function during online phase in on/off learning.
|
explicit |
Constructor.
| offline | The offline object we base our evaluations on. |
| grid | The underlying grid (TODO(fuchsgruber) do we need this?) |
| lambda | The regularization strength (TODO(fuchsgruber) remove this) |
| beta | The initial weighting factor |
References beta, bSave, bTotalPoints, functionComputed, sgpp::datadriven::DBMatOffline::getDecomposedMatrix(), sgpp::base::DataMatrix::getNcols(), grid(), lambda, normFactor, oDim, sgpp::datadriven::DBMatOnline::offlineObject, testMat, testMatRes, and totalPoints.
| void sgpp::datadriven::DBMatOnlineDE::computeDensityFunction | ( | DataVector & | alpha, |
| Grid & | grid, | ||
| DensityEstimationConfiguration & | densityEstimationConfig, | ||
| bool | do_cv = false |
||
| ) |
Computes the density function again based on the saved b's (only applicable for streaming)
| alpha | the vector where surplusses for the density function will be stored |
| grid | The underlying grid |
| densityEstimationConfig | Configuration for the density estimation combined with the new right hand side (aka streaming) |
| do_cv | Indicates whether crossvalidation should take place |
References chess::b, bSave, bTotalPoints, functionComputed, sgpp::base::DataVector::get(), python.statsfileInfo::i, and solveSLE().
| void sgpp::datadriven::DBMatOnlineDE::computeDensityFunction | ( | DataVector & | alpha, |
| DataMatrix & | m, | ||
| Grid & | grid, | ||
| DensityEstimationConfiguration & | densityEstimationConfig, | ||
| bool | save_b = false, |
||
| bool | do_cv = false, |
||
| std::list< size_t > * | deletedPoints = nullptr, |
||
| size_t | newPoints = 0 |
||
| ) |
Computes the density function for a certain data matrix.
| alpha | the vector where surplusses for the density function will be stored |
| m | the matrix that contains the data points |
| grid | The underlying grid |
| densityEstimationConfig | Configuration for the density estimation |
| save_b | Indicates whether the old right hand side should be saved and combined with the new right hand side (aka streaming) |
| do_cv | Indicates whether crossvalidation should take place |
| deletedPoints | indicates the indices of removed grid points due to coarsening |
| newPoints | indicates the amount of added points due to refinement |
References chess::b, beta, bSave, bTotalPoints, sgpp::op_factory::createOperationMultipleEval(), sgpp::op_factory::createOperationMultipleEvalInter(), sgpp::datadriven::DensityEstimationConfiguration::decomposition_, functionComputed, sgpp::base::DataVector::get(), sgpp::datadriven::DBMatOnlineDEOrthoAdapt::getB(), sgpp::datadriven::DBMatOffline::getDecomposedMatrix(), sgpp::datadriven::DBMatOffline::getGridSize(), sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), sgpp::base::Grid::getSize(), python.statsfileInfo::i, sgpp::datadriven::DBMatOffline::interactions, sgpp::datadriven::LU, sgpp::base::DataVector::mult(), sgpp::base::OperationMultipleEval::multTranspose(), sgpp::datadriven::DBMatOnline::offlineObject, sgpp::datadriven::OrthoAdapt, sgpp::base::DataVector::set(), solveSLE(), totalPoints, and updateRhs().
|
protected |
| double sgpp::datadriven::DBMatOnlineDE::eval | ( | DataVector & | alpha, |
| const DataVector & | p, | ||
| Grid & | grid, | ||
| bool | force = false |
||
| ) |
Evaluates the density function at a certain point.
| alpha | the vector of surplusses |
| p | the point at which the function is evaluated |
| grid | the underlying grid |
| force | if set, it will even try to evaluate if the internal state recommends otherwise |
References sgpp::op_factory::createOperationEval(), sgpp::base::OperationEval::eval(), functionComputed, and normFactor.
Referenced by computeL2Error(), and normalize().
| void sgpp::datadriven::DBMatOnlineDE::eval | ( | DataVector & | alpha, |
| DataMatrix & | values, | ||
| DataVector & | results, | ||
| Grid & | grid, | ||
| bool | force = false |
||
| ) |
Evaluates the density function on multiple points.
| alpha | the vector of surplusses |
| values | the points at which the function is evaluated |
| results | the result of the evaluation |
| grid | the underlying grid |
| force | if set, it will even try to evaluate if the internal state recommends otherwise |
References sgpp::op_factory::createOperationMultipleEval(), sgpp::op_factory::createOperationMultipleEvalInter(), sgpp::base::OperationMultipleEval::eval(), functionComputed, sgpp::datadriven::DBMatOffline::interactions, sgpp::base::DataVector::mult(), normFactor, and sgpp::datadriven::DBMatOnline::offlineObject.
| double sgpp::datadriven::DBMatOnlineDE::getBeta | ( | ) |
Returns the current weighting factor.
References beta.
| bool sgpp::datadriven::DBMatOnlineDE::isComputed | ( | ) |
Returns if the surplus has already been computed.
References functionComputed.
| double sgpp::datadriven::DBMatOnlineDE::normalize | ( | DataVector & | alpha, |
| Grid & | grid, | ||
| size_t | samples = 1000 |
||
| ) |
Normalize the Density.
| alpha | the vector of surplusses |
| grid | the underlying grid |
| samples | number of samples to be used for MC quadrature |
References eval(), python.statsfileInfo::i, python.utils.statsfile2gnuplot::j, normFactor, oDim, friedman::p, and parabolasimple::samples.
| double sgpp::datadriven::DBMatOnlineDE::normalizeQuadrature | ( | DataVector & | alpha, |
| Grid & | grid | ||
| ) |
Normalize the Density using Quadrature.
| alpha | the vector of surplusses |
| grid | the underlying grid |
References sgpp::op_factory::createOperationQuadrature(), sgpp::base::OperationQuadrature::doQuadrature(), and normFactor.
|
protected |
| void sgpp::datadriven::DBMatOnlineDE::setBeta | ( | double | beta | ) |
Sets the weighting factor.
| beta | the new weighting factor. If set to 0, no plasticity takes place. |
References beta.
|
protectedpure virtual |
Implemented in sgpp::datadriven::DBMatOnlineDEOrthoAdapt, and sgpp::datadriven::DBMatOnlineDEChol.
Referenced by computeDensityFunction().
| void sgpp::datadriven::DBMatOnlineDE::updateRhs | ( | size_t | gridSize, |
| std::list< size_t > * | deletedPoints | ||
| ) |
Restructures the rhs (b vector) of the system matrix.
This is only availible for streaming, i.e. when computeDensityFunction was called with save_b = true. First b is coarsened, then extended according to the new grid size (refinement).
| gridSize | grid size after coarsening and refinement (inherently gives the number of points added during refinement after coarsening) |
| deletedPoints | pointer to list of indexes that will be removed from b |
References bSave, bTotalPoints, functionComputed, sgpp::base::DataVector::remove(), and sgpp::base::DataVector::resizeZero().
Referenced by computeDensityFunction().
|
protected |
Referenced by computeDensityFunction(), DBMatOnlineDE(), getBeta(), and setBeta().
|
protected |
Referenced by computeDensityFunction(), DBMatOnlineDE(), and updateRhs().
|
protected |
Referenced by computeDensityFunction(), DBMatOnlineDE(), and updateRhs().
|
protected |
Referenced by computeDensityFunction(), DBMatOnlineDE(), eval(), isComputed(), and updateRhs().
|
protected |
|
protected |
Referenced by DBMatOnlineDE(), eval(), normalize(), and normalizeQuadrature().
|
protected |
Referenced by DBMatOnlineDE(), and normalize().
|
protected |
Referenced by computeL2Error(), DBMatOnlineDE(), and resDensity().
|
protected |
Referenced by computeL2Error(), and DBMatOnlineDE().
|
protected |
Referenced by computeDensityFunction(), and DBMatOnlineDE().