Ensemble learning
# Ensemble learning

Ensemblemethoden werden in der Statistik und für Machine Learning eingesetzt. Sie nutzen eine endliche Menge von verschiedenen Lernalgorithmen, um bessere Ergebnisse zu erhalten als mit einem einzelnen Lernalgorithmus. Die Berechnung der Ergebnisse dieser Menge von Algorithmen dauert zwar länger als die Auswertung eines einzelnen Algorithmus, allerdings kann bereits mit einer viel geringeren Rechentiefe ein in etwa gleich gutes Ergebnis erreicht werden.

Ein wichtiges Einsatzgebiet von Ensemble Learning sind Entscheidungsbäume. Ein großer Entscheidungsbaum neigt zu hohen Fehlerraten und einer hohen Varianz, da von der Wurzel zu den Blättern viele Entscheidungsknoten liegen, die alle unter Unsicherheit durchlaufen werden. Bagging würde hier etwa viele kleine Entscheidungsbäume berechnen, und den Durchschnitt ihrer Ergebnisse verwenden, wodurch die Varianz (und damit auch die Fehlerrate) deutlich sinkt.

## Optimum: Bayes-Klassifikator

Der Bayes-Klassifikator weist eine Klasse ${\hat {y}}$ nach folgender Formel zu:

${\hat {y}}=\mathrm {argmax} _{c_{j}\in C}\sum _{h_{i}\in H}{P(c_{j}|h_{i})P(T|h_{i})P(h_{i})},$

wobei $C$ die Menge der möglichen Klassen ist, $H$ der Hypothesenraum, $P$ eine Wahrscheinlichkeit und $T$ die Trainingsdaten.

Es kann sogar gezeigt werden, dass kein anderer Klassifikator (also auch kein anderes Ensemble) im Erwartungswert diese Methode übertreffen kann. Leider lässt sich dieses Verfahren nicht praktisch einsetzen, da $argmax$ über alle Hypothesen im Hypothesenraum iteriert und dieser Raum in den allermeisten Fällen viel zu groß zum Abzählen ist.

## Arten von Ensembles

### Bagging

Bagging kombiniert mehrere Vorhersagen aus Regressions- oder Klassifikationsmodellen, wobei die einzelnen Vorhersagen gleich gewichtet und am Ende aggregiert wird, um den Vorhersagewert zu bestimmen. Zwei häufig verwendete Aggregierung sind der Mittelwert oder der Median. Diese Methode wird dann Bootstrap robust aggregation (kurz Bragging) genannt. Bagging mithilfe des Mittelwertes findet zum Beispiel bei Random Forests Anwendung.

### Boosting

Boosting (engl. „Verstärken“) fusioniert viele schwache Klassifikatoren zu einem starken Klassifikator. Dieses allgemeine Verfahren hat sehr viele verschiedene Implementierungen, die bekannteste ist AdaBoost oder XGBoost (gradient-boosted trees).

### Voting

Beim Voting wird das im Ensemble am häufigsten vorhergesagte Ergebnis als Ergebnis des Ensembles verwendet.

### Stacking

Beim Stacking sind die Ausgaben der einzelnen Modelle eines Ensembles die Eingaben für ein weiteres Machine Learning Modell. Dieses Modell ist darauf trainiert, aus den neuen Eingaben auf das Resultat zu schließen.

