Gradientenvergrößerungsmaschine | Gradient Augmentation Machine für Data Science

Inhalt

Ziel

  • Boosting ist eine gemeinsame Lerntechnik, bei der jedes Modell versucht, die Fehler des vorherigen Modells zu korrigieren.
  • Erfahren Sie mehr über den Boosting-Algorithmus Steigung und die Mathematik dahinter.

Einführung

In diesem Artikel, Wir werden einen Algorithmus diskutieren, der in der Impulstechnik funktioniert, der Gradientenerhöhungsalgorithmus. Es ist besser bekannt als Gradient Boosting Machine oder GBM.

Notiz: Wenn Sie mehr daran interessiert sind, Konzepte in einem audiovisuellen Format zu lernen, wir haben diesen vollständigen Artikel im Video unten erklärt. Wenn dies nicht der Fall ist, du kannst weiterlesen.

Die Modelle in Gradient Boosting Machine werden sequentiell gebaut und jedes dieser späteren Modelle versucht, den Fehler des Vorgängermodells zu reduzieren. Aber die Frage ist, wie jedes Modell den Fehler des vorherigen Modells reduziert? Dies geschieht, indem das neue Modell auf Fehlern oder Residuen der vorherigen Vorhersagen erstellt wird.

Dies geschieht, um festzustellen, ob der Fehler Muster enthält, die das vorherige Modell ignoriert. Lass uns das an einem Beispiel verstehen.

screenshot-from-2021-03-25-12-09-23-4015962

Hier haben wir die Daten mit zwei Merkmalen: Alter und Stadt, und das Variable das Ziel ist das Einkommen. Dann, je nach Stadt und Alter der Person, wir müssen das einkommen vorhersagen. Beachten Sie, dass während des gesamten Prozesses der Erhöhung des Gradienten, wir werden folgendes aktualisieren: das Ziel des Modells, das Residuum des Modells und der Vorhersage.

Schritte zum Erstellen des Modells der Gradientenerweiterungsmaschine

Um das Verständnis der Gradienten-Augmentationsmaschine zu vereinfachen, Wir haben den Prozess in fünf einfache Schritte unterteilt.

Paso 1

Der erste Schritt besteht darin, ein Modell zu erstellen und Vorhersagen zu den gegebenen Daten zu treffen.. Kommen wir zurück zu unseren Daten, für das erste Modell, das Ziel ist der in den Daten angegebene Einkommenswert. Dann, Ich habe das Ziel als ursprüngliche Einkommenswerte festgelegt.

screenshot-from-2021-03-25-12-24-34-9144977

Jetzt bauen wir das Modell anhand der Alters- und Stadtmerkmale mit dem Zieleinkommen auf. Dieses trainierte Modell wird in der Lage sein, eine Reihe von Vorhersagen zu generieren. Welche werden wie folgt angenommen.

screenshot-from-2021-03-25-12-29-47-9314973

Jetzt werde ich diese Vorhersagen mit meinen Daten speichern. Hier mache ich den ersten Schritt.

screenshot-from-2021-03-25-12-30-22-4994017

Paso 2

Der nächste Schritt besteht darin, diese Vorhersagen zu verwenden, um den Fehler zu erhalten, später als Ziel verwendet werden. Im Moment haben wir die Werte des Realeinkommens und die Vorhersagen des Modells1. Verwenden dieser Spalten, Wir berechnen den Fehler einfach durch Subtrahieren des tatsächlichen Umsatzes und der Umsatzprognosen. A wird unten gezeigt.

screenshot-from-2021-03-25-12-40-12-5080345

Wie bereits erwähnt, aufeinanderfolgende Modelle konzentrieren sich auf Fehler. Dann, Fehler hier werden unser neues Ziel sein. Das deckt Schritt zwei ab.

Paso 3

Im nächsten Schritt, Wir werden ein Modell für diese Fehler erstellen und die Vorhersagen treffen. Hier besteht die Idee darin, festzustellen, ob der Fehler versteckte Muster enthält.

Dann, unter Verwendung des Fehlers als Ziel und der ursprünglichen Merkmale Alter und Stadt, wir werden neue Vorhersagen generieren. Beachten Sie, dass die Vorhersagen, in diesem Fall, werden die Fehlerwerte sein, nicht erwartete Umsatzwerte, denn unser Ziel ist der Fehler. Nehmen wir an, das Modell gibt die folgenden Vorhersagen

screenshot-from-2021-03-25-12-50-53-8929366

Paso 4

Jetzt müssen wir die Vorhersagen von model1 . aktualisieren. Wir fügen die Vorhersage aus dem vorherigen Schritt hinzu und fügen sie der Vorhersage von model1 hinzu und nennen sie Model2 Income.

screenshot-from-2021-03-25-12-57-35-7336844

Wie du siehst, meine neuen Vorhersagen sind näher an den wahren Werten meines Einkommens.

Schließlich, wir werden die schritte wiederholen 2 ein 4, was bedeutet, dass wir neue Fehler berechnen und diesen neuen Fehler als Ziel festlegen. Wir werden diesen Vorgang wiederholen, bis der Fehler Null ist oder wir das Stoppkriterium erreicht haben, das sagt die Anzahl der Modelle die wir bauen wollen. Dies ist der schrittweise Prozess zum Erstellen eines Gradientenerhöhungsmodells..

In einer Nussschale, wir bauen unser erstes Modell mit den Merkmalen x und Ziel y, Nennen wir dieses Modell H0, das eine Funktion von x und y ist. Dann bauen wir das nächste Modell auf den Fehlern des letzten Modells und ein drittes Modell auf den Fehlern des vorherigen Modells auf und so weiter. Bis wir n Modelle bauen.

screenshot-from-2021-03-25-13-10-06-1689276

Jedes nachfolgende Modell arbeitet an den Fehlern aller vorherigen Modelle, um zu versuchen, Muster im Fehler zu identifizieren.. effektiv, Ich kann sagen, dass jedes dieser Modelle einzelne Funktionen sind, die die unabhängige Variable x als Merkmal haben und das Ziel ist der Fehler des vorherigen kombinierten Modells.

Dann, um die endgültige Gleichung unseres Modells zu bestimmen, wir bauen unser erstes H0-Modell, was mir einige Vorhersagen gab und einige Fehler erzeugte. Nennen wir dieses kombinierte Ergebnis F0 (x).

Jetzt erstellen wir unser zweites Modell und fügen neue vorhergesagte Fehler zu F0 . hinzu (x), diese neue Funktion ist F1 (x). Ähnlich, wir bauen folgendes Modell und so weiter, bis wir n Modelle haben, wie unten gezeigt.

screenshot-from-2021-03-25-13-16-38-1653769

Dann, in jedem Schritt, Wir versuchen die Fehler zu modellieren, was uns hilft, den Gesamtfehler zu reduzieren. Im Idealfall, wir wollen, dass dies ‚In‘ Null sein. Wie du siehst, Jedes Modell hier versucht, die Leistung des Modells zu erhöhen, Daher, Wir verwenden den Begriff Impuls.

Aber warum verwenden wir den Begriff Gradient?, hier ist der trick. Anstatt diese Modelle direkt hinzuzufügen, wir addieren sie mit Gewicht oder Koeffizient, und der richtige Wert dieses Koeffizienten wird unter Verwendung der Gradientenerhöhungstechnik bestimmt.

Deswegen, eine verallgemeinerte Form unserer Gleichung sieht wie folgt aus.

screenshot-from-2021-03-25-13-32-45-9123317

Die Mathematik hinter der Gradient Boosting Machine

Ich hoffe, Sie haben jetzt eine grobe Vorstellung davon, wie die Gradientenerweiterung funktioniert. Von jetzt an, Wir werden uns darauf konzentrieren, wie der Wert von Yn berechnet wird.

Wir verwenden die Gradientenabstiegstechnik, um die Werte dieser Gammakoeffizienten zu erhalten (Ja), so ist, dass wir die Verlust-Funktion. Lassen Sie uns nun in diese Gleichung eintauchen und die Rolle der Verlustfunktion und des Gammas verstehen.

Hier, Die von uns verwendete Verlustfunktion ist (y-y ‚) 2. y ist der tatsächliche Wert und y ‚ist der endgültige vom letzten Modell vorhergesagte Wert. Dann, wir können y ‚durch Fn ersetzen (x) was das tatsächliche Ziel abzüglich der aktualisierten Vorhersagen aller Modelle darstellt, die wir bisher erstellt haben.

screenshot-from-2021-03-25-13-43-01-6169663

Teildifferenzierung

Ich denke, Sie kennen den Gradientenabstiegsprozess, da wir das gleiche Konzept verwenden werden. Wir differenzieren die Gleichung von L nach Fn (x), Sie erhalten die folgende Gleichung, was auch als Pseudoresiduum bekannt ist. Wie groß ist der negative Gradient der Verlustfunktion.

screenshot-from-2021-03-25-13-46-17-6980436

Um dies zu vereinfachen, wir multiplizieren beide seiten mit -1. Das Ergebnis wird in etwa so aussehen.

screenshot-from-2021-03-25-13-49-39-4202766

Jetzt, wir wissen, dass der Fehler in unserer Gleichung für Fn + 1 (x) ist der tatsächliche Wert abzüglich der aktualisierten Vorhersagen aller Modelle. Deswegen, wir können das en in unserer endgültigen Gleichung durch diese Pseudo-Residuen ersetzen, wie im Bild unten gezeigt.

screenshot-from-2021-03-25-13-56-09-2233165

Das ist also unsere letzte Gleichung. Das Beste an diesem Algorithmus ist, dass er Ihnen die Freiheit gibt, die Verlustfunktion zu bestimmen. Einzige Bedingung ist, dass die Verlustfunktion differenzierbar ist. Um das Verständnis zu erleichtern, wir verwenden eine sehr einfache Verlustfunktion (y-y ‚) 2 aber Sie können es in Scharnierverlust oder Logitverlust oder was auch immer ändern.

Ziel ist es, den Totalverlust zu minimieren. Mal sehen, wie hoch der Totalschaden hier wäre, wird der Verlust an Modell n plus der Verlust des aktuellen Modells sein, das wir bauen. Hier ist die Gleichung.

screenshot-from-2021-03-25-14-02-59-5181444

In dieser Gleichung, der erste teil ist fest, aber der zweite Teil ist der Verlust des Modells an dem wir gerade arbeiten. Der Verlust dieses Modells ist immer noch nicht zu ändern, aber wir können den Wert von gamma . ändern. Jetzt müssen wir den Gammawert so wählen, dass der Gesamtverlust minimiert wird und dieser Wert wird durch das Gradientenabstiegsverfahren ausgewählt.

Dann, Die Idee ist, den Gesamtverlust zu reduzieren, indem der optimale Gammawert für jedes von uns gebaute Modell festgelegt wird.

Entscheidungsbaum für Gradientenerweiterung

Ich spreche von einem Sonderfall des Gradientenanstiegs, nämlich, Entscheidungsbaum für Gradientenvergrößerung (GBDT). Hier, jedes Modell wäre ein Baum und der Gammawert wird auf jeder Blattebene festgelegt, nicht auf der allgemeinen Ebene des Modells. Dann, wie im folgenden Bild gezeigt, jedes Blatt hätte einen Gammawert.

screenshot-from-2021-03-25-14-15-17-4051102

So funktioniert der Gradient Boosting Decision Tree.

Abschließende Anmerkungen

Boosting ist eine Form des gemeinsamen Lernens. Es ist ein sequenzieller Prozess, bei dem jedes Modell versucht, die Fehler des vorherigen Modells zu korrigieren. Dies bedeutet, dass jedes nachfolgende Modell von seinen Vorgängern abhängt.. In diesem Artikel, wir haben den Gradienten-Augmentationsalgorithmus und die Mathematik dahinter gesehen.

Wie wir eine klare Vorstellung vom Algorithmus haben, Versuchen Sie, die Modelle zu bauen und praktische Erfahrungen damit zu sammeln.

Wenn Sie Ihre Data Science-Reise beginnen möchten und alle Themen unter einem Dach haben möchten, deine Suche endet hier. Werfen Sie einen Blick auf den zertifizierten KI- und ML-BlackBelt von DataPeaker Plus Programm

Wenn du irgendeine Frage hast, lass es mich im Kommentarbereich wissen!

Wenn du irgendeine Frage hast, lass es mich in den Kommentaren unten wissen.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher