Explications intuitives des différences entre les arbres de renforcement de gradient (GBM) et Adaboost

48

J'essaie de comprendre les différences entre GBM et Adaboost.

Ce sont ce que j'ai compris jusqu'à présent:

  • Il existe deux algorithmes de renforcement, qui tirent les leçons des erreurs des modèles précédents et font enfin une somme pondérée des modèles.
  • GBM et Adaboost sont assez similaires sauf pour leurs fonctions de perte.

Mais il m'est toujours difficile de saisir l’idée des différences qui existent entre elles. Est-ce que quelqu'un peut me donner des explications intuitives?

Hee Kyung Yoon
la source

Réponses:

34

J'ai trouvé cette introduction peut fournir des explications intuitives.

  • Dans Gradient Boosting, les «faiblesses» (des apprenants faibles existants) sont identifiées par des gradients .
  • Dans Adaboost, les «lacunes» sont identifiées par des points de données de poids élevé .

À mon sens, la perte exponentielle d'Adaboost donne plus de poids pour les échantillons ajustés. Quoi qu'il en soit, Adaboost est considéré comme un cas particulier de renforcement du gradient en termes de fonction de perte, comme le montre l'historique du renforcement de gradient fourni dans l'introduction.

  1. Invent Adaboost, le premier algorithme de boosting réussi [Freund et al., 1996, Freund et Schapire, 1997]
  2. Formuler Adaboost en tant que descente de gradient avec une fonction de perte particulière [Breiman et al., 1998, Breiman, 1999]
  3. Généraliser Adaboost à Gradient Boosting afin de gérer une variété de fonctions de perte [Friedman et al., 2000, Friedman, 2001]
Randel
la source
11

Une explication intuitive de AdaBoost algorithn

Permettez-moi de développer l'excellente réponse de @ Randel en illustrant le point suivant.


  • Dans Adaboost, les «lacunes» sont identifiées par des points de données de poids élevé

Récapitulatif AdaBoost

Gm(x) m=1,2,...,M

G(x)=sign(α1G1(x)+α2G2(x)+...αMGM(x))=sign(m=1MαmGm(x))
  • La prédiction finale est une combinaison des prédictions de tous les classificateurs via un vote à la majorité pondérée

  • αmGm(x)

  • w1,w2,...,wNm
  • m=1wi=1/N

AdaBoost sur un exemple de jouet

M=10

entrez la description de l'image ici

Visualiser la séquence des apprenants faibles et les poids de l'échantillon

m=1,2...,6

entrez la description de l'image ici

Première itération:

  • La limite de décision est très simple (linéaire) car ce sont des apprenants
  • Tous les points ont la même taille, comme prévu
  • 6 points bleus sont dans la région rouge et sont mal classés

Deuxième itération:

  • La limite de décision linéaire a changé
  • Les points bleus précédemment mal classés sont maintenant plus grands (plus grand échantillon) et ont influencé la limite de décision
  • 9 points bleus sont maintenant mal classés

Résultat final après 10 itérations

αm

([1.041, 0.875, 0.837, 0.781, 1.04, 0.938 ...

Comme on pouvait s'y attendre, la première itération a le plus grand coefficient car c'est celle qui présente le moins de mauvaises classifications.

Prochaines étapes

Une explication intuitive du dégradé - à compléter

Sources et lectures complémentaires:

Xavier Bourret Sicotte
la source