Gradient boosting

Machine Learning avec des modèles arborescents en R

Sandro Raabe

Data Scientist

Récapitulatif : boosting

  • Utilise des apprenants faibles (p. ex., des arbres de décision à une seule division) un peu meilleurs que le hasard
  • Additionne ces apprenants faibles et écarte les prédictions correctes
  • Traite les observations restantes difficiles à chaque étape

 

  • AdaBoost : premier algorithme de boosting populaire
  • Gradient Boosting : amélioration d'AdaBoost
Machine Learning avec des modèles arborescents en R

Comparaison

Adaboost
  • Utilise des souches de décision comme apprenants faibles
  • Attribue des poids aux observations :
    • Poids élevé pour les observations difficiles
    • Poids faible pour les prédictions correctes
Gradient boosting
  • Utilise de petits arbres de décision comme apprenants faibles
  • Fonction de perte plutôt que des poids
  • Optimisation de la fonction de perte par descente de gradient
Machine Learning avec des modèles arborescents en R

Avantages et limites du boosting

 

Avantages

  • Parmi les meilleurs modèles de machine learning
  • Bon choix pour des données déséquilibrées

 

Inconvénients

  • Sujet au surapprentissage
  • Entraînement parfois lent (selon l'hyperparamètre de learning rate)
  • Plusieurs hyperparamètres à régler
Machine Learning avec des modèles arborescents en R

Hyperparamètres pour le gradient boosting

Déjà vus avec les arbres de décision simples
  • min_n : nombre minimal de points de données dans un nœud requis pour le scinder de nouveau
  • tree_depth : profondeur maximale de l'arbre / nombre de divisions
Déjà vus avec les forêts aléatoires et les arbres empilés :
  • sample_size : quantité de données exposées à la routine d'ajustement
  • trees : nombre d'arbres dans l'ensemble
Machine Learning avec des modèles arborescents en R

Hyperparamètres pour le gradient boosting

Déjà vus avec les forêts aléatoires :
  • mtry : nombre de prédicteurs échantillonnés aléatoirement à chaque division
Spécifiques aux arbres boostés :
  • learn_rate : rythme auquel l'algorithme de boosting s'ajuste d'une itération à l'autre
  • loss_reduction : réduction de la fonction de perte requise pour scinder de nouveau
  • stop_iter : nombre d'itérations sans amélioration avant l'arrêt
Machine Learning avec des modèles arborescents en R

Passons à la pratique !

Machine Learning avec des modèles arborescents en R

Preparing Video For Download...