SG++-Doxygen-Documentation
sgpp::base::PredictiveRefinement Class Reference

#include <PredictiveRefinement.hpp>

Inheritance diagram for sgpp::base::PredictiveRefinement:
sgpp::base::RefinementDecorator sgpp::base::AbstractRefinement

Public Types

typedef PredictiveRefinement_refinement_key refinement_key_type
 
- Public Types inherited from sgpp::base::AbstractRefinement
typedef std::vector< refinement_pair_typerefinement_container_type
 Container for the collection of the refinement atoms and the corresponding value. More...
 
typedef AbstractRefinement_refinement_key refinement_key_type
 Type of the identifier of the refinement atom (e.g. More...
 
typedef std::forward_list< AbstractRefinement::refinement_pair_typerefinement_list_type
 
typedef std::pair< std::shared_ptr< refinement_key_type >, refinement_value_typerefinement_pair_type
 Pair for the refinement key and value. More...
 
typedef double refinement_value_type
 Type of functor value assigned to each refinement atom. More...
 

Public Member Functions

void free_refine (GridStorage &storage, PredictiveRefinementIndicator &functor, std::vector< size_t > *addedPoints=0)
 Refines a grid according to a RefinementFunctor provided. More...
 
 PredictiveRefinement (AbstractRefinement *refinement)
 
void setAlpha (DataVector &alpha)
 Setter for the alpha vector. More...
 
- Public Member Functions inherited from sgpp::base::RefinementDecorator
bool checkAdmissibility (GridStorage &storage, GridPoint &subspace)
 
virtual void free_refine (GridStorage &storage, RefinementFunctor &functor, std::vector< size_t > *addedPoints=0)
 Refines a grid according to a RefinementFunctor provided. More...
 
virtual size_t getNumberOfRefinablePoints (GridStorage &storage)
 Computes and returns the number of grid points, which can be refined. More...
 
virtual void refineGridpoint1D (GridStorage &storage, GridPoint &point, size_t d)
 Refine one grid point along a single direction. More...
 
 RefinementDecorator (AbstractRefinement *refinement)
 Constructor. More...
 
virtual ~RefinementDecorator ()
 
- Public Member Functions inherited from sgpp::base::AbstractRefinement
virtual size_t getIndexOfMin (RefinementFunctor::value_type *array, size_t length)
 Returns the index of the first occurrence of minimal element in array. More...
 
bool isRefinable (GridStorage &storage, GridPoint &point)
 Check if the grid point is refinable. More...
 
virtual void refineGridpoint1D (GridStorage &storage, size_t seq, size_t d)
 Refine one grid point along a single direction. More...
 
virtual ~AbstractRefinement ()
 Destructor. More...
 

Protected Member Functions

virtual void addElementToCollection (const GridStorage::grid_map_iterator &iter, AbstractRefinement::refinement_list_type current_value_list, size_t refinements_num, AbstractRefinement::refinement_container_type &collection)
 Adds elements to the collection. More...
 
void collectRefinablePoints (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override
 Examines the grid points and stores the indices those that can be refined and have maximal indicator values. More...
 
AbstractRefinement::refinement_list_type getIndicator (GridStorage &storage, const GridStorage::grid_map_iterator &iter, const RefinementFunctor &functor) const override
 Generates a list with indicator elements. More...
 
void refineGridpointsCollection (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override
 Extends the grid adding elements defined in collection. More...
 
- Protected Member Functions inherited from sgpp::base::RefinementDecorator
virtual void createGridpoint (GridStorage &storage, GridPoint &point)
 This method creates a new point on the grid. More...
 
AbstractRefinementget_decorated_refinement ()
 Returns the pointer to decorated Refinement object. More...
 
virtual void refineGridpoint (GridStorage &storage, size_t refine_index)
 This method refines a grid point by generating the children in every dimension of the grid and all their missing ancestors by calling create_gridpoint(). More...
 
void set_decorated_refiment (AbstractRefinement *refinement)
 Sets the pointer of the decorated Refinement object to the given object. More...
 
- Protected Member Functions inherited from sgpp::base::AbstractRefinement
virtual void createGridpoint1D (GridPoint &point, size_t d, GridStorage &storage, index_t &source_index, level_t &source_level)
 Creates children grid points along single direction. More...
 
virtual void createGridpointSubroutine (GridStorage &storage, GridPoint &point)
 Subroutine for grid point creation. More...
 

Friends

class LearnerOnlineSGD
 

Additional Inherited Members

- Static Public Member Functions inherited from sgpp::base::AbstractRefinement
static bool compare_pairs (const refinement_pair_type &lhs, const refinement_pair_type &rhs)
 Comparison of the refinement_pair_type. More...
 

Member Typedef Documentation

◆ refinement_key_type

Constructor & Destructor Documentation

◆ PredictiveRefinement()

sgpp::base::PredictiveRefinement::PredictiveRefinement ( AbstractRefinement refinement)
inlineexplicit

Member Function Documentation

◆ addElementToCollection()

void sgpp::base::PredictiveRefinement::addElementToCollection ( const GridStorage::grid_map_iterator iter,
AbstractRefinement::refinement_list_type  current_value_list,
size_t  refinements_num,
AbstractRefinement::refinement_container_type collection 
)
protectedvirtual

Adds elements to the collection.

This method is responsible for selection the elements with most important indicators and to limit the size of collection to refinements_num elements.

Parameters
iterstorage iterator
current_value_listlist with elements that contain keys and values that specify refinement
refinements_numnumber of elements to refine
collectioncontainer where element pairs for refinement need to be stored

References sgpp::base::AbstractRefinement::compare_pairs().

Referenced by collectRefinablePoints().

◆ collectRefinablePoints()

void sgpp::base::PredictiveRefinement::collectRefinablePoints ( GridStorage storage,
RefinementFunctor functor,
AbstractRefinement::refinement_container_type collection 
)
overrideprotectedvirtual

Examines the grid points and stores the indices those that can be refined and have maximal indicator values.

Parameters
storagehashmap that stores the grid points
functora PredictiveRefinementIndicator specifying the refinement criteria
collectioncontainer that contains elements to refine (empty initially)

Reimplemented from sgpp::base::RefinementDecorator.

References addElementToCollection(), sgpp::base::HashGridStorage::begin(), sgpp::base::HashGridStorage::end(), getIndicator(), and sgpp::base::RefinementFunctor::getRefinementsNum().

Referenced by free_refine().

◆ free_refine()

void sgpp::base::PredictiveRefinement::free_refine ( GridStorage storage,
PredictiveRefinementIndicator functor,
std::vector< size_t > *  addedPoints = 0 
)

Refines a grid according to a RefinementFunctor provided.

Refines up to RefinementFunctor::getRefinementsNum() grid points if possible, and if their refinement value is larger than RefinementFunctor::start() and their absolute value is larger or equal than RefinementFunctor::getRefinementThreshold()

Parameters
storagehashmap that stores the grid points
functora RefinementFunctor specifying the refinement criteria
addedPointspointer to vector to append newly created grid points to

Assumption: during the refinement process the only change made to the storage is the following: New (if any) gridpoints are appended (to the end) of the storage

References collectRefinablePoints(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, and refineGridpointsCollection().

Referenced by sgpp::datadriven::LearnerSGD::train().

◆ getIndicator()

AbstractRefinement::refinement_list_type sgpp::base::PredictiveRefinement::getIndicator ( GridStorage storage,
const GridStorage::grid_map_iterator iter,
const RefinementFunctor functor 
) const
overrideprotectedvirtual

◆ refineGridpointsCollection()

void sgpp::base::PredictiveRefinement::refineGridpointsCollection ( GridStorage storage,
RefinementFunctor functor,
AbstractRefinement::refinement_container_type collection 
)
overrideprotectedvirtual

Extends the grid adding elements defined in collection.

Parameters
storagehashmap that stores the grid points
functora PredictiveRefinementIndicator specifying the refinement criteria
collectioncontainer that contains elements to refine (empty initially)

Reimplemented from sgpp::base::RefinementDecorator.

References sgpp::base::AbstractRefinement_refinement_key::getPoint(), sgpp::base::RefinementFunctor::getRefinementThreshold(), sgpp::base::RefinementDecorator::refineGridpoint1D(), sgpp::base::HashGridPoint::setLeaf(), and sgpp::base::RefinementFunctor::start().

Referenced by free_refine().

◆ setAlpha()

void sgpp::base::PredictiveRefinement::setAlpha ( DataVector alpha)
inline

Setter for the alpha vector.

Parameters
alpha

References alpha, and sgpp::base::RefinementDecorator::refineGridpointsCollection().

Friends And Related Function Documentation

◆ LearnerOnlineSGD

friend class LearnerOnlineSGD
friend

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