SG++

Grid Point based refinement for classification problems solved by a SG density estimation approach. More...

#include <GridPointBasedRefinementFunctor.hpp>

## Public Member Functions

size_t getNumGrids () override
Returns the number of grids the functor can / does refine. More...

size_t getRefinementsNum () const override
Returns the maximal number of points that should be refined. More...

double getRefinementThreshold () const override
Returns the threshold for refinement. More...

GridPointBasedRefinementFunctor (std::vector< base::Grid * > grids, std::vector< base::DataVector * > alphas, size_t refinements_num=1, bool level_penalize=false, bool pre_compute=false, double threshold=0.0)
Constructor. More...

double operator() (base::GridStorage &storage, size_t seq) const override
This should be returning a refinement value for every grid point. More...

void preComputeEvaluations () override
Precomputes grid evaluations for all grids. More...

void setGridIndex (size_t grid_index) override
Sets the index (into the vector of grids) of the grid to be refined. More...

double start () const override
Returns the lower bound of refinement criterion (e.g., alpha or error) (lower bound). More...

virtual ~GridPointBasedRefinementFunctor ()

Public Member Functions inherited from sgpp::datadriven::MultiGridRefinementFunctor
virtual ~MultiGridRefinementFunctor ()

Public Member Functions inherited from sgpp::base::RefinementFunctor
virtual double getTotalRefinementValue (GridStorage &storage) const
Returns the total sum of local (error) indicators used for refinement. More...

RefinementFunctor ()
Constructor. More...

virtual ~RefinementFunctor ()
Destructor. More...

## Protected Attributes

std::vector< base::DataVector * > alphas

size_t current_grid_index

std::vector< base::Grid * > grids

bool level_penalize

std::vector< std::map< std::string, double > > pre_comp_evals
Stores grid evaluations at all grids (vector) at the union of grid point coordinates over all grids (hashed by string representation in the map) More...

bool pre_compute

size_t refinements_num

double threshold

Public Types inherited from sgpp::base::RefinementFunctor
typedef double value_type

## Detailed Description

Grid Point based refinement for classification problems solved by a SG density estimation approach.

The scoring is only based on function values of the respective PDF at grid points.

## Constructor & Destructor Documentation

 sgpp::datadriven::GridPointBasedRefinementFunctor::GridPointBasedRefinementFunctor ( std::vector< base::Grid * > grids, std::vector< base::DataVector * > alphas, size_t refinements_num = 1, bool level_penalize = false, bool pre_compute = false, double threshold = 0.0 )

Constructor.

Parameters
 grids Vector of grids. current_grid_index specifies the grid to be refined alphas Vector of surpluses related to the grids refinements_num Maximum number of refinements done level_penalize If a level penalizing is multiplied to the score (2^{|l|_1}) pre_compute Flag for precomputation of necessary grid evals. If true preComputeEvaluations needs to be called before each refinement step threshold Threshold for refinement scores

References pre_comp_evals.

inlinevirtual

## Member Function Documentation

overridevirtual

Returns the number of grids the functor can / does refine.

References grids.

Referenced by ~GridPointBasedRefinementFunctor().

overridevirtual

Returns the maximal number of points that should be refined.

The maximal number of points to refine is set in the constructor of the implementing class.

Returns
number of points that should refined. Default value: 1.

Reimplemented from sgpp::base::RefinementFunctor.

References refinements_num.

overridevirtual

Returns the threshold for refinement.

Only the grid points with absolute value of refinement criterion (e.g., alpha or error) greater or equal to this threshold will be refined.

Returns
threshold value for refinement. Default value: 0.

Implements sgpp::base::RefinementFunctor.

References threshold.

 double sgpp::datadriven::GridPointBasedRefinementFunctor::operator() ( base::GridStorage & storage, size_t seq ) const
overridevirtual

This should be returning a refinement value for every grid point.

The point with the highest value will be refined first.

Parameters
 storage reference to the grids storage object seq sequence number in the coefficients array
Returns
refinement value

Implements sgpp::base::RefinementFunctor.

overridevirtual

Precomputes grid evaluations for all grids.

Used in combination with pre_compute flag = true. Should be called before refinement is done and needs to be re-called after a refinement step is over ie. the surplus vectors got recomputed

References alphas, sgpp::op_factory::createOperationEval(), grids, and pre_comp_evals.

Referenced by ~GridPointBasedRefinementFunctor().

 void sgpp::datadriven::GridPointBasedRefinementFunctor::setGridIndex ( size_t grid_index )
overridevirtual

Sets the index (into the vector of grids) of the grid to be refined.

Parameters
 grid_index The index of the grid to be refined

References current_grid_index.

Referenced by ~GridPointBasedRefinementFunctor().

overridevirtual

Returns the lower bound of refinement criterion (e.g., alpha or error) (lower bound).

The refinement value of grid points to be refined have to be larger than this value

Returns
lower bound

Implements sgpp::base::RefinementFunctor.

## Member Data Documentation

protected
protected

Referenced by operator()(), and setGridIndex().

protected
protected

Referenced by operator()().

protected

Stores grid evaluations at all grids (vector) at the union of grid point coordinates over all grids (hashed by string representation in the map)

Referenced by GridPointBasedRefinementFunctor(), operator()(), and preComputeEvaluations().

protected

Referenced by operator()().