Returns the (positive) subset size sub->get_d() - since FST4 searches maximize, this rates LARGER subsets higher. Wrap in Criterion_Negative to favor smaller subsets instead.
More...
|
| virtual bool | evaluate (RETURNTYPE &result, const PSubset sub) override |
| | Scores the given feature subset; higher is better (FST4 searches maximize).
|
| virtual std::ostream & | print (std::ostream &os) const override |
| | writes a human-readable identification of the object; base default writes nothing
|
| Criterion< RETURNTYPE, SUBSET > * | clone () const override |
| | dispatches to the DEEP_KIND mechanism (default CLONE_DEEP: Derived's copy-constructor)
|
| Criterion< RETURNTYPE, SUBSET > * | sharing_clone () const override |
| | dispatches to the SHARING_KIND mechanism (default CLONE_INHERIT: defers to Base, which throws by family convention)
|
| Criterion< RETURNTYPE, SUBSET > * | stateless_clone () const override |
| | dispatches to the STATELESS_KIND mechanism (default CLONE_INHERIT: defers to Base, which throws by family convention)
|
| virtual bool | is_monotonic () const |
| Criterion * | sharing_clone () const override |
| Criterion * | stateless_clone () const override |
| bool | is_clone () const |
|
bool | is_sharing () const |
| | true if this instance is a sharing_clone() result (referencing, not owning, the source's structures)
|
|
bool | is_sharing_clone () const |
| | true if this instance is BOTH a clone and sharing – i.e. specifically a sharing_clone() result, not a clone()/stateless_clone() one
|
template<class RETURNTYPE, class SUBSET>
class FST::Criterion_Subset_Size< RETURNTYPE, SUBSET >
Returns the (positive) subset size sub->get_d() - since FST4 searches maximize, this rates LARGER subsets higher. Wrap in Criterion_Negative to favor smaller subsets instead.
This trivial criterion is intended as secondary criterion only to be used in conjunction with Result_Tracker_Regularizer, implementing feature selection regularization (improvement of feature selection generalization ability and result robustness) as described in paper "Somol, Grim, Pudil:
The Problem of Fragile Feature Subset Preference in Feature Selection Methods
and A Proposal of Algorithmic Workaround. In Proc. ICPR 2010. IEEE Computer
Society, 2010". In the fst4 command-line tool this is what --regularize-by subsetsize selects, together with --regularize-margins and --tracker regularizer.
- Note
- Unlike the model-based criteria, which score the raw marker set they are handed and therefore read Subset::get_d_raw(), this one reads Subset::get_d(): the count of currently selected features EXCLUDING frozen ones, independent of the forward/backward search mode. That is the subset size the search itself manipulates, which is the quantity the regularization trade-off is about.
- Examples
- demo52t.cpp.