Notes d'apprentissage automatique traditionnel 7 - Explication détaillée du modèle GBDT

avant-propos

  Dans le dernier article de blog, nous avons présenté les points de connaissance de base sur le modèle d'arbre de régression Notes d'apprentissage automatique traditionnelles 6 - Modèle d'arbre de régression . Dans cet article de blog, nous continuons à présenter le contenu de l'apprentissage automatique traditionnel, l'apprentissage automatique traditionnel GBDT.

1. Algorithme GBDT

  GBDT(Gradient Boosting Decision Tree), c'est-à-dire l'arbre de décision à renforcement de gradient, est un algorithme d'arbre de décision itératif, nous l'appelons également MART, en construisant un ensemble d'apprenants faibles et en accumulant les résultats de plusieurs arbres de décision comme résultat de prédiction final, l'arbre de décision C'est effectivement combiné avec l'algorithme d'intégration.

1.1.Booster

  Avant d'introduire GDBTl'algorithme, nous devons d'abord l'examiner Boosting. BoostingLa méthode adopte une méthode en série pour la formation et les classificateurs, et il existe des dépendances entre chaque classificateur de base. Son idée est de superposer les classificateurs de base couche par couche, et lorsque chaque couche est formée, la couche précédente de classificateurs de base est divisée. Les échantillons sont donné des poids plus élevés, et les résultats finaux sont obtenus en pondérant les résultats de chaque couche de classificateurs lors des tests. Notez que comme nous l'avons présenté précédemment Bagging, Bagginglors de l'apprentissage, il n'y a pas de forte dépendance entre chaque classifieur de base, et un apprentissage parallèle peut être effectué. Pour Baggingceux qui ne comprennent pas, vous pouvez revenir à l'article de blog précédent pour passer en revue, 1.4.Bagging .

1.2.GDBT

  Commençons par introduire formellement GDBTl'algorithme, en fait son principe est très simple, le principe est le suivant :

  • La somme des résultats de tous les classificateurs faibles est égale à la valeur prédite.
  • Chaque fois, la prédiction actuelle est utilisée comme référence et le classificateur faible suivant est utilisé pour ajuster la fonction d'erreur au résidu de la valeur prédite (l'erreur entre la valeur prédite et la valeur réelle).
  • Le classificateur faible de GBDT utilise un modèle d'arbre.

insérez la description de l'image ici
Comme indiqué ci-dessus, nous GDBTl'utilisons pour prédire le prix :

  • Le premier classificateur faible (le premier arbre) prédit un âge (tel que 90 yuans), et le calcul trouve que l'erreur est de 10 yuans ;
  • Le deuxième arbre prédit le résidu d'ajustement, la valeur prédite est de 6 yuans et le calcul indique que l'écart est toujours de 4 yuans ;
  • Le troisième arbre continue à prédire le résidu d'ajustement, la valeur prédite est de 3 yuans et on constate que l'écart n'est que de 1 yuan dans la formule ;
  • Le quatrième arbre de leçon correspond aux résidus restants avec 1 yuan, et il est terminé.

  En fin de compte, les conclusions des quatre arbres sont additionnées pour obtenir la réponse marquée de 100 yuans (dans l'implémentation technique réelle, GBDT calcule le gradient négatif et utilise le gradient négatif pour approximer le résidu).

1.2.1 GBDT et résidus approximatifs à gradient négatif

  Lors d'une tâche de régression, GDBTil y aura une valeur prédite pour l'échantillon à chaque tour d'itérations, et la fonction de perte à ce moment est la fonction de perte d'erreur quadratique moyenne :
l ( yi , y ^ i ) = 1 2 ( yi − y ^ je ) 2 l\left(y_i, \hat{y}_i\right)=\frac{1}{2}\left(y_i-\hat{y}_i\right)^2je( yje,y^je)=21( yjey^je)2
损失函数的负梯度计算
− [ ∂ l ( yi , yi ^ ) ∂ y ^ je ] = ( yi − yi ^ ) -\left[\frac{\partial l\left(y_i, \hat{y_i}\ droite)}{\partial \hat{y}_i}\right]=\left(y_i-\hat{y_i}\right)[y^jel( yje,yje^)]=( yjeyje^)
D'après la formule ci-dessus, on peut voir que lorsque la fonction de perte est l'erreur quadratique moyenne, la valeur de chaque ajustement est la "valeur réelle prédite", c'est-à-dire le résidu.

1.2.2 Processus de formation GDBT

  Prenons comme exemple la prédiction de l'âge de quatre personnes pour introduire GDBTle processus de formation. Supposons qu'il y ait quatre personnes (A, B, C, D) dont les âges sont (14, 16, 24, 26). Parmi eux, A et B sont des étudiants de première année et des étudiants de deuxième année du secondaire, et C et D sont de nouveaux diplômés et des employés qui ont travaillé pendant deux ans. Nous utilisons d'abord l'arbre de régression pour nous entraîner, et les résultats sont les suivants : Ensuite, nous utilisez GBDT pour ce faire, car les données sont trop
insérez la description de l'image ici
  volumineuses Moins, nous limitons les nœuds feuilles à deux au plus, c'est-à-dire que chaque arbre n'a qu'une seule branche, et limitons l'apprentissage à seulement deux arbres. Nous obtiendrons les résultats illustrés dans la figure 2 ci-dessous :
insérez la description de l'image ici
  l'image de gauche dans l'image ci-dessus est la même que l'image de l'arbre de décision ci-dessus, car A et B sont relativement similaires en âge, et C et D sont relativement similaires en âge, ils sont divisé en deux groupes, et chaque groupe utilise l'âge moyen comme prédicteur. A ce moment, le résidu est calculé (c'est-à-dire la valeur prédite de A + le résidu de A = la valeur réelle de A), donc le résidu de A est 16-15=1 (notez que la valeur prédite de A fait référence à la somme cumulée de tous les arbres précédents, il n'y a qu'un seul arbre devant lui, donc c'est directement 15. S'il y a encore des arbres, ils doivent être additionnés comme la valeur prédite de A). Alors les résidus de A, B, C et D sont -1, 1, -1, 1 respectivement. Ensuite, nous remplaçons les valeurs d'origine de A, B, C et D par les résidus, et passons au deuxième arbre pour apprendre. Si nos valeurs prédites sont égales à leurs résidus, nous n'avons qu'à ajouter les conclusions de le deuxième arbre au premier L'âge réel peut être obtenu à partir d'un arbre. Les données ici sont évidemment tout ce que je peux faire, le deuxième arbre n'a que deux valeurs 1 et -1, divisées directement en deux nœuds. À ce moment, les résidus de toutes les personnes sont 0, c'est-à-dire que tout le monde obtient la valeur réelle prédite. En d'autres termes, maintenant les valeurs prédites de A, B, C et D sont toutes cohérentes avec l'âge réel.

  • A : Un lycéen de 14 ans qui fait rarement du shopping et pose souvent des questions sur Baidu ; âge prévu A = 15 - 1 = 14
  • B : lycéen de 16 ans ; magasine moins, répond souvent aux questions ; âge prédit B = 15 + 1 = 16
  • C : jeune diplômé de 24 ans ; achats fréquents, souvent des questions Baidu ; âge prévu C = 25 - 1 = 24
  • D : Un employé de 26 ans qui travaille depuis deux ans ; fait beaucoup de courses et répond souvent aux questions ; âge prédit D = 25 + 1 = 26

2. Promotion de gradient et descente de gradient

  Ensuite, comparons les algorithmes de renforcement de gradient et de descente de gradient.Les deux algorithmes d'optimisation itérative utilisent les informations de la direction de gradient négative de la fonction de perte pour mettre à jour le modèle actuel à chaque itération. Voyons d'abord les formules de calcul des deux modèles.
Descente de gradient :
  En descente de gradient, le modèle est exprimé sous une forme paramétrée, de sorte que la mise à jour du modèle équivaut à la mise à jour des paramètres.
F = F t - 1 - ρ t ∇ FL ∣ F = F t - 1 L = ∑ il ( yi , F ( xi ) ) \begin{rassemblé} F=F_{t-1}-\left.\rho_t \ nabla_F L\right|_{F=F_{t-1}} \\ L=\sum_i l\left(y_i, F\left(x_i\right)\right) \end{rassemblé}F=Ft 1rtFL F = Ft 1L=jeje( yje,F( xje) )
Ascension de gradient :
  Dans l'ascension de gradient, le modèle n'a pas besoin d'être paramétré, mais est directement défini dans l'espace des fonctions, ce qui élargit considérablement les types de modèles pouvant être utilisés.
poids = poids - 1 - ρ t ∇ w L ∣ w = poids - 1 L = ∑ il ( yi , fw ( wi ) ) \begin{rassemblé} w_t=w_{t-1}-\left.\rho_t \nabla_w L\right|_{w=w_{t-1}} \\ L=\sum_i l\left(y_i, f_w\left(w_i\right)\right) \end{rassemblé}wt=wt 1rtwL w = wt 1L=jeje( yje,Fw( wje) )

3. Avantages et inconvénients du modèle GDBT

  Ci-dessus, nous avons présenté GDBTl'algorithme de base du modèle, quels sont donc ses avantages et ses inconvénients ?
avantage:

  • Dans l'étape de prédiction, du fait que la structure de chaque arbre a été déterminée, le calcul peut être parallélisé et la vitesse de calcul est rapide.
  • Il convient aux données denses, a une bonne capacité de généralisation et une capacité d'expression, et est le meilleur modèle commun dans les compétitions de science des données.
  • L'interprétabilité est bonne, la robustesse est également bonne et la relation d'ordre élevé entre les fonctionnalités peut être automatiquement découverte.

défaut:

  • GBDT est moins efficace sur des ensembles de données clairsemés de grande dimension, et les performances ne sont pas aussi bonnes que SVM ou un réseau de neurones.
  • Convient aux fonctionnalités numériques, aux performances faibles sur les fonctionnalités NLP ou textuelles.
  • Le processus de formation ne peut pas être parallélisé et l'accélération de l'ingénierie ne peut se refléter que dans le processus de construction d'un arbre unique.

4. GDBT contre forêt aléatoire

Même remarque :

  • Ce sont tous des modèles intégrés, composés de plusieurs groupes d'arbres, et le résultat final est déterminé par plusieurs arbres ensemble.
  • Lorsque RF et GBDT utilisent des arbres CART, il peut s'agir d'arbres de classification ou d'arbres de régression.

différence:

  • Pendant la formation, des arbres forestiers aléatoires peuvent être générés en parallèle, tandis que GBDT ne peut être généré qu'en série.
  • Le résultat de la forêt aléatoire est voté à la majorité, tandis que le GBDT est accumulé par plusieurs arbres.
  • Random Forest n'est pas sensible aux valeurs aberrantes, tandis que GBDT est plus sensible aux valeurs aberrantes.
  • Random Forest réduit la variance du modèle, tandis que GBDT réduit le biais du modèle.

Je suppose que tu aimes

Origine blog.csdn.net/qq_38683460/article/details/127614547
conseillé
Classement