The Support Feature Machine: Classification with the Least Number of Features.
By minimising the zero-norm of the separating hyperplane, the Support
Feature Machine (SFM) finds the smallest subspace (the least number of
features) of a dataset such that within this subspace two classes are
linearly separable without error. This way the dimensionality of the
data is more efficiently reduced than with support vector-based feature
selection, which can be shown both theoretically and empirically.
We provide a MATLAB implementation of the Support Feature Machine and supplementary methods for visualisation and evaluation.
Installation and Usage
- Download sfmToolbox.zip.
- Unzip sfmToolbox.zip.
- Start Matlab.
- Change into the extracted directory.
- A supplementary file needs to be compiled by executing
- Execute the first example (two-dimensional example with
randomly sampled classes (see source code for further details) by
Two figures will pop up with the results of the two alternative SFM
formulations. Note: Depending on the actual choice of the data points,
the separating plane will depend either on a single feature or both
features if a separation in one dimension is infeasible.
- Execute the point-and-click example (1st class: left mouse button, 2nd class: right mouse button, Escape key: finished):
Version 0.1, 22. December 2012
- First experimental release
- Core SFM implementation using the Matlab internal optimiser
- Basic test environment (two-dimensional point-and-click examples)
Version 0.2, to be released soon
- Alpha release
- Support for 4 linear programming toolboxes (Matlab internal, Cplex, Mosek and GLPK)
- Implementation of the Repetititve Support Feature Machine
Please contact klement (at) inb (dot) uni-luebeck (dot) de for further information.