Gradient Boosting

Maschinelles Lernen mit baumbasierten Modellen in R

Sandro Raabe

Data Scientist

Rückblick: Boosting

  • Verwendet schwache Lerner (z. B. Entscheidungsbäume mit nur einem Split), die leicht besser sind als Zufall
  • Addiert diese schwachen Lerner und filtert korrekte Vorhersagen heraus
  • Behandelt in jedem Schritt die verbleibenden schwierigen Beobachtungen

 

  • AdaBoost: erster populärer Boosting-Algorithmus
  • Gradient Boosting: Verbesserung von AdaBoost
Maschinelles Lernen mit baumbasierten Modellen in R

Vergleich

Adaboost
  • Verwendet Decision Stumps als schwache Lerner
  • Vergibt Gewichte an Beobachtungen:
    • Hohes Gewicht für schwierige Beobachtungen
    • Niedriges Gewicht für korrekte Vorhersagen
Gradient Boosting
  • Verwendet kleine Entscheidungsbäume als schwache Lerner
  • Verlustfunktion statt Gewichten
  • Optimierung der Verlustfunktion per Gradientenabstieg
Maschinelles Lernen mit baumbasierten Modellen in R

Pro & Contra von Boosting

 

Vorteile

  • Gehört zu den leistungsstärksten Modellen im maschinellen Lernen
  • Gute Option für unausgewogene Daten

 

Nachteile

  • Anfällig für Overfitting
  • Training kann langsam sein (abhängig vom Hyperparameter learning rate)
  • Viele Tuning-Hyperparameter
Maschinelles Lernen mit baumbasierten Modellen in R

Hyperparameter für Gradient Boosting

Bekannt aus einfachen Entscheidungsbäumen
  • min_n: minimale Anzahl an Datenpunkten in einem Knoten, um weiter zu splitten
  • tree_depth: maximale Tiefe des Baums / Anzahl der Splits
Bekannt aus Random Forests und Bagging-Bäumen:
  • sample_size: Datenmenge, die dem Fit-Prozess gezeigt wird
  • trees: Anzahl der Bäume im Ensemble
Maschinelles Lernen mit baumbasierten Modellen in R

Hyperparameter für Gradient Boosting

Bekannt aus Random Forests:
  • mtry: Anzahl der Prädiktoren, die bei jedem Split zufällig gezogen werden
Speziell für Boosted Trees:
  • learn_rate: Rate, mit der sich der Boosting-Algorithmus von Iteration zu Iteration anpasst
  • loss_reduction: erforderliche Reduktion der Verlustfunktion, um weiter zu splitten
  • stop_iter: Anzahl der Iterationen ohne Verbesserung, bevor gestoppt wird
Maschinelles Lernen mit baumbasierten Modellen in R

Lass uns üben!

Maschinelles Lernen mit baumbasierten Modellen in R

Preparing Video For Download...