Steigerung des maschinellen Lernens: Was ist, Funktionen, Typen und Merkmale
Veröffentlicht: 2020-05-29Die Förderung des maschinellen Lernens ist ein wichtiges Thema. Viele Analysten sind verwirrt über die Bedeutung dieses Begriffs. Deshalb erfahren wir in diesem Artikel, was mit Machine Learning Boosting gemeint ist und wie es funktioniert. Boosting hilft ML-Modellen bei der Verbesserung ihrer Vorhersagegenauigkeit. Lassen Sie uns diesen Algorithmus im Detail besprechen:
Inhaltsverzeichnis
Was ist Boosting beim maschinellen Lernen?
Bevor wir auf „ Machine Learning Boosting “ eingehen, sollten wir uns zunächst mit der Definition dieses Begriffs befassen. Boosting bedeutet „etwas zu ermutigen oder zu helfen, es zu verbessern“. Machine Learning Boosting macht genau das Gleiche, indem es die Machine Learning-Modelle stärkt und ihre Genauigkeit verbessert. Aus diesem Grund ist es ein beliebter Algorithmus in der Datenwissenschaft.
Boosting in ML bezieht sich auf die Algorithmen, die schwache Lernmodelle in starke umwandeln. Angenommen, wir müssen E-Mails in die Kategorien „Spam“ und „Kein Spam“ einteilen. Wir können den folgenden Ansatz wählen, um diese Unterscheidungen zu treffen:
- Wenn die E-Mail nur eine einzige Bilddatei enthält, handelt es sich um Spam (da das Bild normalerweise zu Werbezwecken dient).
- Wenn die E-Mail einen Satz wie „Sie haben im Lotto gewonnen“ enthält, handelt es sich um Spam.
- Wenn die E-Mail nur eine Reihe von Links enthält, handelt es sich um Spam.
- Wenn die E-Mail von einer Quelle stammt, die in unserer Kontaktliste vorhanden ist, handelt es sich nicht um Spam.
Nun, obwohl wir Regeln für die Klassifizierung haben, glauben Sie, dass sie individuell stark genug sind, um zu erkennen, ob eine E-Mail Spam ist oder nicht? Sie sind nicht. Auf individueller Basis sind diese Regeln schwach und reichen nicht aus, um eine E-Mail als „Kein Spam“ oder „Spam“ zu klassifizieren. Wir müssen sie stärker machen, und das können wir tun, indem wir einen gewichteten Durchschnitt verwenden oder die Vorhersage der höheren Stimme berücksichtigen.
In diesem Fall haben wir also fünf Klassifikatoren, von denen drei Klassifikatoren die E-Mail als „Spam“ markieren. Daher betrachten wir eine E-Mail standardmäßig als „Spam“, da diese Klasse eine höhere Bewertung als „Kein Spam“ hat. Kategorie.
Dieses Beispiel sollte Ihnen eine Vorstellung davon geben, was Boosting-Algorithmen sind. Sie sind komplexer als diese.

Werfen Sie einen Blick auf: 25 Fragen und Antworten zu Interviews mit maschinellem Lernen
Wie arbeiten Sie?
Das obige Beispiel hat uns gezeigt, dass Boosting schwache Lerner zu strengen Regeln zusammenfasst. Wie würden Sie also diese schwachen Regeln identifizieren? Um eine unsichere Regel zu finden, müssen Sie instanzbasierte Lernalgorithmen verwenden. Immer wenn Sie einen Basislernalgorithmus anwenden, würde dies eine schwache Vorhersageregel erzeugen. Sie wiederholen diesen Vorgang für mehrere Iterationen, und bei jeder Iteration würde der Boosting-Algorithmus die schwachen Regeln kombinieren, um eine starke Regel zu bilden.
Der Boosting-Algorithmus wählt in mehreren Schritten die richtige Verteilung für jede Iteration aus. Zuerst nimmt es alle verschiedenen Zuweisungen und weist ihnen die gleiche Gewichtung zu. Wenn der erste grundlegende Lernalgorithmus einen Fehler macht, wird er diesen Beobachtungen mehr Gewicht verleihen. Nach der Gewichtszuweisung gehen wir zum nächsten Schritt über.
In diesem Schritt wiederholen wir den Vorgang so lange, bis wir die Genauigkeit unseres Algorithmus erhöht haben. Wir werden dann die Ergebnisse der schwachen Lernenden kombinieren und eine starke erstellen, die unser Modell stärken und ihm helfen würde, bessere Vorhersagen zu treffen. Ein Boosting-Algorithmus konzentriert sich mehr auf die Annahmen, die aufgrund ihrer schwachen Regeln hohe Fehler verursachen.
Erfahren Sie mehr: 5 bahnbrechende Anwendungen des maschinellen Lernens
Verschiedene Arten von Boosting-Algorithmen
Boosting-Algorithmen können viele Arten von zugrunde liegenden Engines verwenden, einschließlich Margenmaximierer, Entscheidungsstempel und andere. In erster Linie gibt es drei Arten von Algorithmen zur Steigerung des maschinellen Lernens:
- Adaptives Boosten (auch bekannt als AdaBoosta)
- Gradientenverstärkung
- XGBoost
Wir werden die ersten beiden, AdaBoost und Gradient Boosting, kurz in diesem Artikel besprechen. XGBoost ist ein viel komplizierteres Thema, das wir in einem anderen Artikel besprechen werden.
1. Adaptives Boosten
Angenommen, Sie haben ein Kästchen mit fünf Plus- und fünf Minuspunkten. Ihre Aufgabe ist es, sie zu klassifizieren und in verschiedene Tabellen einzufügen.
In der ersten Iteration weisen Sie jedem Datenpunkt gleiche Gewichte zu und wenden einen Entscheidungsstumpf in der Box an. Die Linie trennt jedoch nur zwei Pluspunkte von der Gruppe, und alle anderen bleiben zusammen. Ihr Entscheidungsstumpf (der eine Linie ist, die durch unsere vermeintliche Box geht) kann nicht alle Datenpunkte korrekt vorhersagen und hat drei Pluspunkte mit den Minuspunkten platziert.

In der nächsten Iteration weisen wir den drei Pluspunkten, die wir zuvor übersehen hatten, mehr Gewicht zu; aber diesmal trennt der Entscheidungsstumpf nur zwei Minuten von der Gruppe. Wir werden den Minuspunkten, die wir in dieser Iteration übersehen haben, mehr Gewicht zuweisen und den Vorgang wiederholen. Nach ein oder zwei Wiederholungen können wir einige dieser Ergebnisse kombinieren, um eine strenge Vorhersageregel zu erstellen.
AdaBoost funktioniert genau so. Es sagt zunächst anhand der Originaldaten voraus und weist jedem Punkt die gleiche Gewichtung zu. Dann misst es den Beobachtungen, die der erste Lernende nicht richtig vorhersagt, eine höhere Bedeutung bei. Es wiederholt den Prozess, bis es eine Grenze in der Genauigkeit des Modells erreicht.
Sie können mit Adaboost sowohl Entscheidungsstempel als auch andere Algorithmen für maschinelles Lernen verwenden.
Hier ist ein Beispiel für AdaBoost in Python:
aus sklearn.ensemble importieren Sie AdaBoostClassifier
aus sklearn.datasets import make_classification
X,Y = make_classification(n_samples=100, n_features=2, n_informative=2,
n_redundant=0, n_repeated=0, random_state=102)
clf = AdaBoostClassifier(n_estimators=4, random_state=0, algorithm='SAMME')
clf.fit(X, Y)
2. Gradientenverstärkung
Gradient Boosting verwendet die Gradientenabstiegsmethode , um die Verlustfunktion des gesamten Vorgangs zu reduzieren. Der Gradientenabstieg ist ein Optimierungsalgorithmus erster Ordnung, der das lokale Minimum einer Funktion (differenzierbaren Funktion) findet. Die Gradientenverstärkung trainiert nacheinander mehrere Modelle und kann an neue Modelle angepasst werden, um eine bessere Schätzung der Reaktion zu erhalten.
Es baut neue Basislerner auf, die mit dem negativen Gradienten der Verlustfunktion korrelieren können und die mit dem gesamten System verbunden sind. In Python müssen Sie Gradient Tree Boosting (auch bekannt als GBRT) verwenden. Sie können es sowohl für Klassifizierungs- als auch für Regressionsprobleme verwenden.
Hier ist ein Beispiel für Gradient Tree Boosting in Python:
aus sklearn.ensemble import GradientBoostingRegressor
model = GradientBoostingRegressor(n_estimators=3,learning_rate=1)
model.fit(X,Y)
# für die Klassifizierung
aus sklearn.ensemble import GradientBoostingClassifier
model = GradientBoostingClassifier()

model.fit(X,Y)
Merkmale der Steigerung des maschinellen Lernens
Boosting bietet viele Vorteile, und wie jeder andere Algorithmus hat es auch seine Grenzen:
- Das Interpretieren der Vorhersagen des Boostens ist ganz natürlich, da es sich um ein Ensemble-Modell handelt.
- Er wählt Merkmale implizit aus, was ein weiterer Vorteil dieses Algorithmus ist.
- Die Vorhersagekraft von Boosting-Algorithmen ist zuverlässiger als Entscheidungsbäume und Bagging.
- Das Hochskalieren ist etwas schwierig, da jeder Schätzer beim Boosten auf den vorhergehenden Schätzern basiert.
Lesen Sie auch: Projektideen für maschinelles Lernen für Anfänger
Wohin von hier aus?
Wir hoffen, dass Sie diesen Artikel über das Boosten nützlich fanden. Zuerst haben wir besprochen, was dieser Algorithmus ist und wie er Probleme des maschinellen Lernens löst. Dann haben wir uns seine Funktionsweise und seine Funktionsweise angesehen.
Wir haben auch die verschiedenen Arten besprochen. Wir haben von AdaBoost und Gradient Boosting erfahren, während wir auch ihre Beispiele geteilt haben. Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.
Wie kann ich Boosting im maschinellen Lernen in einfachen Worten definieren?
Boosting in Maschinen besteht darin, sich auf Algorithmen zu beziehen, die dabei helfen, schwache Lernmodelle in starke Modelle umzuwandeln. Nehmen wir das Beispiel, E-Mails als Spam und nicht als Spam zu klassifizieren, gibt es einige Unterscheidungen, die verwendet werden können, um das Verständnis zu erleichtern. Diese Unterscheidungen können angegangen werden, wenn eine E-Mail aus einer einzigen Datei besteht, einen ähnlichen Satz wie „Sie haben im Lotto gewonnen“ enthält, eine Reihe von Links enthält und aus einer Kontaktliste stammt.
Wie funktioniert ein Boosting-Algorithmus?
Schwache Regeln werden durch instanzbasierte Lernalgorithmen identifiziert. Sobald ein Basis-Lernalgorithmus in mehreren Iterationen angewendet wird, kombiniert er schließlich die schwachen Regeln zu einer starken Regel. Der Boosting-Algorithmus trifft die richtigen Entscheidungen, um jede Iteration über mehrere Schritte zu verteilen. Nach der Aufnahme von Zuweisungen weist es eine gleiche Gewichtung zu, bis ein Fehler gemacht wird, wonach eine höhere Gewichtung zugewiesen wird. Dieser Vorgang wird wiederholt, bis eine bessere Genauigkeit erreicht wird. Danach werden alle schwachen Ausgänge zu einem starken kombiniert.
Was sind die verschiedenen Arten von Boosting-Algorithmen und ihre Funktionen?
Die verschiedenen Typen sind adaptives Boosten, Gradienten-Boosten und XGBoost. Boosting hat Eigenschaften, als ob es Features implizit auswählt. Entscheidungsbäume sind weniger zuverlässig als Vorhersagekräfte. Außerdem ist die Skalierung schwieriger, da Schätzer auf vorhergehenden basieren. Und die Interpretation von Boost-Vorhersagen ist natürlich, da es sich um ein Ensemble-Modell handelt.