shark::MergeBudgetMaintenanceStrategy< InputType > Class Template Reference

Budget maintenance strategy that merges two vectors. More...

#include <shark/Algorithms/Trainers/Budgeted/MergeBudgetMaintenanceStrategy.h>

+ Inheritance diagram for shark::MergeBudgetMaintenanceStrategy< InputType >:

Additional Inherited Members

- Public Types inherited from shark::AbstractBudgetMaintenanceStrategy< InputType >
typedef KernelExpansion< InputTypeModelType
 
typedef LabeledData< InputType, unsigned int > DataType
 
typedef DataType::element_type ElementType
 
- Public Member Functions inherited from shark::AbstractBudgetMaintenanceStrategy< InputType >
 AbstractBudgetMaintenanceStrategy ()
 
virtual void addToModel (ModelType &model, InputType const &alpha, ElementType const &supportVector)=0
 
std::string name () const
 return the class name More...
 
- Static Public Member Functions inherited from shark::AbstractBudgetMaintenanceStrategy< InputType >
static void findSmallestVector (ModelType const &model, size_t &minIndex, double &minAlpha)
 

Detailed Description

template<class InputType>
class shark::MergeBudgetMaintenanceStrategy< InputType >

Budget maintenance strategy that merges two vectors.

This is an budget strategy that simply merges two budget vectors
in order to make space for a new one. This is done by first searching for the budget vector that has smallest

\[ ||\alpha||_2\]

coefficient– only then a second one is searched for, by inspecting the expected weight degradation after merging. The vector with smallest weight degradation is the vector one should merge with the first one. By this heuristic, the merging strategy has complexity

\[ \mathcal{O}(B) \]

. Compared with the projection strategy, merging should be faster, and stil obtains similar accuracy. Unluckily any kind of timing numbers are missing in the reference paper of Wang, Crammer and Vucetic.
Note that in general it is unclear how two data objects should be merged,
e.g. strings must be merged differently than vectors. Therefore it is necessary to create an specialization of this strategy for a given input type.

Definition at line 83 of file MergeBudgetMaintenanceStrategy.h.


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