Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Kurszusammenfassung | Häufig Verwendete Stacking-Modelle
Ensemble-Lernen
course content

Kursinhalt

Ensemble-Lernen

Ensemble-Lernen

1. Grundprinzipien des Aufbaus von Ensemble-Modellen
2. Häufig Verwendete Bagging-Modelle
3. Häufig Verwendete Boosting-Modelle
4. Häufig Verwendete Stacking-Modelle

book
Kurszusammenfassung

Lassen Sie uns die wichtigsten Informationen zusammenfassen und hervorheben, die im Kurs behandelt wurden.

Ensemble-Lernen im maschinellen Lernen ist eine Technik, die die Vorhersagen mehrerer einzelner Modelle (Lerner) kombiniert, um eine robustere und genauere Vorhersage oder Klassifizierung zu erzeugen. Es nutzt das Prinzip, dass durch die Aggregation der Meinungen mehrerer Modelle oft bessere Ergebnisse erzielt werden können als durch die Verlass auf ein einzelnes Modell.
Es gibt drei häufig verwendete Techniken zur Erstellung von Ensembles: Bagging, Boosting und Stacking.

Bagging-Ensembles

  1. Bagging (Bootstrap Aggregating) ist eine Ensemble-Lerntechnik, bei der mehrere einzelne Modelle, oft vom gleichen Typ, unabhängig voneinander auf zufälligen Teilmengen der Trainingsdaten trainiert werden, wobei wiederholte Stichproben (mit Zurücklegen) erlaubt sind. Jedes Modell erzeugt seine Vorhersage, und die endgültige Vorhersage wird typischerweise durch Mittelwertbildung (für Regression) oder Abstimmung (für Klassifikation) der einzelnen Modellausgaben erhalten;

  2. Das Training von Bagging-Ensembles in Parallel mit dem n_jobs-Parameter ermöglicht das gleichzeitige Training einzelner Modelle auf verschiedenen Teilmengen der Daten, was den Ensemble-Trainingsprozess erheblich beschleunigt, indem mehrere CPU-Kerne genutzt werden;

  3. Die Hauptklassen, die zur Implementierung von Bagging-Modellen in Python verwendet werden, umfassen:

    • BaggingClassifier: Diese Klasse wird zum Erstellen von Bagging-Ensembles für Klassifikationsaufgaben verwendet;
    • BaggingRegressor: Ähnlich wie BaggingClassifier wird diese Klasse speziell zum Erstellen von Bagging-Ensembles für Regressionsaufgaben verwendet;
    • RandomForestClassifier und RandomForestRegressor: Diese Klassen implementieren Ensemble-Lernen mit einer speziellen Art von Bagging, die als Random Forests bezeichnet wird;
    • ExtraTreesClassifier und ExtraTreesRegressor: Diese Klassen sind ähnlich wie Random Forests, verwenden jedoch eine andere Technik namens extrem zufällige Bäume, die zusätzlich zur Bagging den Merkmal-Auswahlprozess weiter randomisiert.

Boosting-Ensembles

  1. Boosting-Ensembles sind maschinelle Lerntechniken, die mehrere schwache Lerner sequentiell trainieren, wobei jeder darauf abzielt, die Fehler seines Vorgängers zu korrigieren;
  2. AdaBoost (Adaptive Boosting) ist ein Ensemble-Lernalgorithmus, der Gewichte auf Trainingsinstanzen zuweist und die falsch klassifizierten in jeder Iteration betont, sodass nachfolgende schwache Klassifikatoren sich auf die herausfordernden Beispiele konzentrieren können. In Python können Sie AdaBoost für Klassifikations- und Regressionsaufgaben mit den Klassen AdaBoostClassifier und AdaBoostRegresso aus der sklearn-Bibliothek implementieren;
  3. Gradient Boosting ist eine maschinelle Lern-Ensemble-Methode, die ein starkes Vorhersagemodell aufbaut, indem sequentiell Entscheidungsbäume trainiert werden, von denen jeder darauf abzielt, die Fehler der vorherigen Bäume zu korrigieren. In Python können Sie Gradient Boosting mit der sklearn-Bibliothek implementieren. Sie können die GradientBoostingClassifier-Klasse für Klassifikationsaufgaben und die GradientBoostingRegressor-Klasse für Regressionsaufgaben verwenden;
  4. XGBoost, kurz für Extreme Gradient Boosting, ist eine leistungsstarke und effiziente Gradient-Boosting-Maschinenlern-Bibliothek, die für ihre hohe Leistung und ihre Fähigkeit bekannt ist, eine Vielzahl von maschinellen Lernaufgaben zu bewältigen. XGBoost verwendet eine spezielle optimierte Datenstruktur namens DMatrix, um die Leistung des Modells zu verbessern. Um XGBoost in Python zu implementieren, können Sie die Klassen XGBoostClassifier und XGBoostRegressor aus der xgboost-Bibliothek verwenden.

Stacking-Ensembles

  1. Stacking-Ensemble ist eine Ensemble-Maschinenlern-Technik, die die Vorhersagen mehrerer Basismodelle kombiniert, indem ein Meta-Modell (oft als Meta-Lerner bezeichnet) auf ihren Ausgaben trainiert wird, sodass es lernt, wie man ihre Vorhersagen am besten kombiniert, um die Gesamtleistung zu verbessern;
  2. Stacking-Ensembles geben uns die Möglichkeit, verschiedene Arten von Basismodellen beim Training eines einzelnen Ensembles zu verwenden;
  3. Sie können ein Stacking-Ensemble mit der StackingClassifier-Klasse für Klassifikation und der StackingRegressor-Klasse für Regression aus der sklearn-Bibliothek implementieren.

1. Welche Art von Ensemble kann in sklearn parallel trainiert werden?

2. Unter den Boosting-Ensemble-Modellen, welches legt während des Trainings einen größeren Schwerpunkt auf die Korrektur falsch klassifizierter Objekte?

3. In welchem Typ von Ensemble können wir verschiedene Arten von Basismodellen gleichzeitig verwenden, wenn wir ein Ensemble trainieren?

Welche Art von Ensemble kann in `sklearn` parallel trainiert werden?

Welche Art von Ensemble kann in sklearn parallel trainiert werden?

Wählen Sie die richtige Antwort aus

Unter den Boosting-Ensemble-Modellen, welches legt während des Trainings einen größeren Schwerpunkt auf die Korrektur falsch klassifizierter Objekte?

Unter den Boosting-Ensemble-Modellen, welches legt während des Trainings einen größeren Schwerpunkt auf die Korrektur falsch klassifizierter Objekte?

Wählen Sie die richtige Antwort aus

In welchem Typ von Ensemble können wir verschiedene Arten von Basismodellen gleichzeitig verwenden, wenn wir ein Ensemble trainieren?

In welchem Typ von Ensemble können wir verschiedene Arten von Basismodellen gleichzeitig verwenden, wenn wir ein Ensemble trainieren?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt