# Feature Subset Selection

Die Feature Subset Selection (FSS), kurz Feature Selection oder Merkmalsauswahl, ist ein Ansatz aus dem maschinellen Lernen, bei dem nur eine Teilmenge der verfügbaren Features für maschinelles Lernen verwendet wird. FSS ist notwendig, weil es teilweise technisch unmöglich ist, alle Features mit einzubeziehen oder weil es Differenzierungsprobleme gibt, wenn eine große Anzahl an Features, aber nur eine kleine Zahl an Datensätzen vorhanden ist oder um Überanpassung des Modells zu vermeiden, siehe Verzerrung-Varianz-Dilemma.

## Ansätze

Es gibt drei Hauptansätze zur Feature Selection.

### Filter-Ansatz

Berechne ein Maß zur Unterscheidung von Klassen. Messe das Gewicht der Features und wähle die besten n aus. Auf dieses Feature Subset wird der Lernalgorithmus angewendet. Filter können entweder univariat (z. B. euklidische Distanz, Chi-Quadrat-Test) oder multivariat (z. B. Korrelationsbasierte Filter) die intrinsischen Eigenschaften der Daten berechnen. Feature selection durch Filtern ist ein spezieller Fall des Strukturlernens, welches z. B. im Kontext von Bayesschem Lernen häufig Anwendung findet.
Vorteile:
* schnell berechenbar
* skalierbar
* intuitiv interpretierbar
Nachteile:
* Redundante Features (Verwandte Features werden ähnliche Gewichtung haben)
* ignoriert Abhängigkeiten mit dem Lernalgorithmus

### Wrapper-Ansatz

Durchsuche die Menge aller möglichen Feature-Subsets. Auf jedes Subset wird der Lernalgorithmus angewendet. Das Durchsuchen kann entweder deterministisch oder randomisiert erfolgen: Deterministische Algorithmen sind z. B.:
* Forward selection
* Recursive feature elimination
Randomisierte Algorithmen sind z. B.:
* simulated annealing
* genetische Algorithmen
Vorteile:
* Findet ein Feature-Subset, das optimal zum Lernalgorithmus passt
* Bezieht auch Kombinationen von Features ein und nicht nur jedes Feature einzeln
* Entfernt redundante Features
* einfach umzusetzen
* interagiert mit Lernalgorithmus
Nachteile:
* Sehr zeitaufwändig
* bei heuristischen Verfahren besteht die Gefahr nur lokale Optima zu finden
* Gefahr der Überanpassung der Daten, daher gibt es Warnungen zur Verwendung von forward oder backward feature selection
* Abhängigkeit vom Lernalgorithmus

### Embedded-Ansatz

Die Suche nach einer optimalen Untermenge ist direkt mit dem Lernalgorithmus verbunden.
Vorteile:
* bessere Laufzeiten und geringere Komplexität
* Abhängigkeiten zwischen Datenpunkten werden modelliert
Nachteile:
* Wahl der Untermenge hängt stark vom verwendeten Lernalgorithmus ab.
Beispiele:
* Lasso-Regression
* Elastic Net Regularisierung
* Entscheidungsbäume
* Gewichtete Naive Bayes-Klassifikator
* Auswahl der Teilmenge mit Hilfe des Wichtungsvektor von SVM

## Beispiele für Algorithmen
### Correlation Feature Selection

Gute Untermengen von Features enthalten Features, welche stark mit der Zielvariablen korreliert sind, aber dennoch möglichst unkorreliert untereinander sind. Correlation Feature Selection (CFS) wählt als Filter-Algorithmus die Untermengen $S_{k}$ mit $k$ vielen Features wie folgt aus:
    $\mathrm {CFS} =\max _{S_{k}}\left[{\frac {r_{cf_{1}}+r_{cf_{2}}+\cdots +r_{cf_{k}}}{\sqrt {k+2(r_{f_{1}f_{2}}+\cdots +r_{f_{i}f_{j}}+\cdots +r_{f_{k}f_{k-1}})}}}\right],$
wobei $r_{cf_{i}}$ die Korrelationskoeffizienten (z. B. Spearman-Korrelation oder Pearson-Korrelation) zwischen Zielvariable $c$ und Feature $f_{i}$ sind und $r_{f_{i}f_{j}}$ die Korrelationskoeffizienten der Features $f_{i}$ und $f_{j}$ untereinander.

### Boruta

Boruta ist ein Algorithmus zur Feature Selection, welcher zunächst weitere zufällige Features einführt und die Feature Importance jedes Features mit der dieser zufälligen Features vergleicht: Features, welche häufig unwichtiger als diese zufälligen Features waren, werden verworfen.

### Relief-Algorithmus

Relief basierte Algorithmen folgen der Filtermethodik und analysieren Unterschiede der Features bei nächsten Nachbarn, welche andern Klassen angehören.

### Regularisierung

Regularisierung mit dem L1-Loss wählt gewisse Features aus, siehe Lasso-Regression. Es ist ein Beispiel für den Embedded-Ansatz. Bei der Lasso-Regression (und orthogonalen Merkmalen) kann mithilfe von Subdifferentialen die Soft-Threshold-Funktion hergeleitet werden, welche einige Parameter der Kleinste-Quadrate-Regression (OLS) direkt auf Null setzt: ${\hat {\beta }}_{j}^{\text{Lasso}}={\hat {\beta }}_{j}^{\!\;{\text{OLS}}}\max {\Biggl0,1-{\frac {N\lambda }{{\bigl |}{\hat {\beta }}_{j}^{\!\;{\text{OLS}}}{\bigr |}}}{\Biggr )}.$

### Feature Selection mit Annealing

Feature Selection mit Annealing erlaubt Feature Selection mit gewissen statistischen Garantien.