Aller au contenu
Kudos AI
Read in English
Apprentissage supervisé

Les arbres de décision et les ensembles

Comment la division binaire récursive construit un arbre, pourquoi l’indice de Gini bat le taux d’erreur comme critère de division, et comment le bagging et les forêts aléatoires transforment un apprenant à forte variance en un apprenant puissant, avec l’arithmétique d’une division déroulée.

8 min de lectureKudos AI

Prérequis : Le compromis biais-variance

Deux découpages notés côte à côte : le taux d’erreur renvoie le même nombre pour les deux, et seul l’indice de Gini voit le nœud pur qui rend l’un meilleur.

Tous les modèles vus jusqu’ici ajustent une formule globale unique sur tout l’espace des prédicteurs. Les arbres de décision font l’inverse : ils partitionnent l’espace en régions rectangulaires et prédisent une constante dans chacune. Cela gère interactions et non-linéarités sans que personne ne les spécifie, et produit un modèle qu’on peut lire à voix haute - au prix d’être, seul, nettement peu fiable.

Cette dernière faiblesse se révèle réparable d’une manière qui fait des arbres l’ossature de certaines des méthodes généralistes les plus puissantes qui soient.

A. Comment un arbre prédit

Un arbre pose une suite de questions oui/non sur les prédicteurs. Chaque nœud interne teste un prédicteur contre un seuil ; chaque feuille porte une prédiction - la moyenne des réponses d’entraînement de cette région en régression, la classe majoritaire en classification.

Prédire, c’est marcher de la racine à une feuille. Rien n’est calculé ; on suit les branches. C’est pourquoi les arbres sont présentés comme interprétables : le chemin est l’explication.

B. Faire pousser l’arbre

Trouver la partition optimale est infaisable en calcul, si bien que les arbres sont construits par une procédure gloutonne appelée division binaire récursive.

À chaque étape, on considère chaque prédicteur XjX_j et chaque point de coupe possible ss, divisant la région courante en {Xj<s}\{X_j < s\} et {Xj≥s}\{X_j \ge s\}. On retient le couple (j,s)(j, s) qui améliore le plus le critère, on effectue la division, puis on répète indépendamment dans chaque nouvelle région.

C’est glouton parce qu’on prend la meilleure division disponible maintenant, sans vérifier si une division moins bonne maintenant permettrait bien mieux plus tard. C’est descendant parce qu’on part de la racine et qu’on ne revient jamais sur une décision.

En régression, le critère est la RSS, sommée sur les deux régions filles :

∑i∈R1(yi−y^R1)2+∑i∈R2(yi−y^R2)2.\sum_{i \in R_1}(y_i - \hat y_{R_1})^2 + \sum_{i \in R_2}(y_i - \hat y_{R_2})^2 .

C. Critères de division en classification

Le critère évident est le taux de mauvaise classification. Il se révèle être un mauvais choix, et comprendre pourquoi vaut le détour.

Les deux solutions de rechange standard, pour une région de proportions de classe p^mk\hat p_{mk} :

G=∑k=1Kp^mk(1−p^mk)(Gini index),G = \sum_{k=1}^{K}\hat p_{mk}\big(1 - \hat p_{mk}\big) \qquad\text{(Gini index)}, D=−∑k=1Kp^mklog⁡p^mk(cross-entropy).D = -\sum_{k=1}^{K}\hat p_{mk}\log \hat p_{mk} \qquad\text{(cross-entropy)} .

Toutes deux mesurent la pureté du nœud : proches de zéro quand une classe domine, maximales quand les classes sont équitablement mélangées. Toutes deux sont en outre sensibles aux variations de proportions partout, alors que le taux de mauvaise classification ne remarque que le basculement de la classe majoritaire. Une division qui redistribue les observations sans faire basculer la classe majoritaire d’aucune région laisse inchangé le taux d’erreur de la prédiction par vote majoritaire, mais Gini et l’entropie croisée enregistrent l’amélioration réelle - d’où de meilleurs arbres.

La figure prend vingt observations, dix par classe, un échantillon différent de la division à dix points déroulée plus bas. Faites glisser Seuil de coupure : le taux d’erreur reste à 0,2000 sur les cinq seuils du milieu, tandis que l’indice de Gini bouge.

Interactif : le critère qui ne voit pas une meilleure coupure

Vingt observations, dix de chaque classe.

0.00.10.20.30.40.5
Taux d’erreur
0.2000
Gini
0.3200
Nœud gauche
8 / 2
Nœud droit
2 / 8

Le taux d’erreur vaut 0.2000 ici, et il vaut aussi 0.2000 aux quatre seuils voisins : plat sur tout le milieu du balayage, parce que chaque pas fait passer une observation de chaque classe de l’autre côté et que la majorité ne change jamais de camp. Gini vaut 0.3200 et n’est pas plat : glissez vers l’une des extrémités du palier et regardez-le descendre.

D. Dérouler une division à la main

Dix observations, cinq dans chaque classe. Une division candidate envoie 6 observations à gauche (4 de classe 1, 2 de classe 0) et 4 à droite (1 de classe 1, 3 de classe 0).

Pour deux classes, G=2p(1−p)G = 2p(1-p) où pp est la proportion de classe 1.

Le nœud parent. p=5/10=0.5p = 5/10 = 0.5, donc

Gparent=2(0.5)(0.5)=0.5,G_{\text{parent}} = 2(0.5)(0.5) = 0.5 ,

le maximum possible pour deux classes - un nœud parfaitement mélangé.

Enfant gauche. p=4/6=0.6667p = 4/6 = 0.6667 :

GL=2(46)(26)=2×836=0.4444.G_L = 2\left(\tfrac{4}{6}\right)\left(\tfrac{2}{6}\right) = 2 \times \tfrac{8}{36} = 0.4444 .

Enfant droit. p=1/4=0.25p = 1/4 = 0.25 :

GR=2(0.25)(0.75)=0.375.G_R = 2(0.25)(0.75) = 0.375 .

Pondérés par la taille des régions, puisque la valeur d’une division dépend du nombre d’observations qu’elle touche :

Gsplit=610(0.4444)+410(0.375)=0.2667+0.15=0.4167.G_{\text{split}} = \frac{6}{10}(0.4444) + \frac{4}{10}(0.375) = 0.2667 + 0.15 = 0.4167 .

L’amélioration :

ΔG=0.5−0.4167=0.0833.\Delta G = 0.5 - 0.4167 = 0.0833 .

L’algorithme de croissance calcule exactement cela pour chaque couple (j,s)(j, s) et retient le plus grand ΔG\Delta G.

Python

S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.

E. Pourquoi un arbre isolé est peu fiable

Poussé assez loin, un arbre peut isoler chaque observation d’entraînement dans sa propre feuille et atteindre une erreur d’entraînement nulle. C’est du surajustement pur. Mais même un arbre bien élagué a un problème plus profond : une forte variance.

Comme la division est gloutonne et hiérarchique, un petit changement dans les données peut changer la division racine - et toutes les divisions en dessous sont alors choisies sur des données partitionnées autrement. Deux moitiés aléatoires du même jeu de données peuvent produire des arbres qui ne se ressemblent en rien. Dans le langage du compromis biais-variance, les arbres siègent à l’extrême faible biais, forte variance.

F. Le bagging : moyenner la variance

Si une méthode a une forte variance, moyennez-en de nombreuses instances. Pour BB ajustements indépendants de variance σ2\sigma^2 chacun, la moyenne a une variance σ2/B\sigma^2/B.

Nous n’avons qu’un jeu de données, alors le bagging (agrégation bootstrap) en fabrique beaucoup : tirez BB échantillons bootstrap - nn observations tirées avec remise - faites pousser sur chacun un arbre profond non élagué, et moyennez les prédictions (ou prenez un vote majoritaire).

Les arbres profonds sont exactement ce qu’il faut ici. Chacun a un faible biais et une forte variance, et le moyennage attaque la variance en laissant le faible biais intact.

Le bagging offre en prime un ensemble de validation gratuit. Chaque échantillon bootstrap omet environ un tiers des observations - la probabilité qu’une observation donnée soit manquée est (1−1/n)n→e−1≈0.368(1 - 1/n)^n \to e^{-1} \approx 0.368. Prédire chaque observation à l’aide des seuls arbres qui ne l’ont pas vue donne l’estimation d’erreur out-of-bag, sans coût de calcul supplémentaire.

G. Les forêts aléatoires : décorréler les arbres

Le bagging a une limite. Si un prédicteur est fortement dominant, il sera la division racine dans presque tous les échantillons bootstrap, si bien que les arbres sont très corrélés - et moyenner des quantités corrélées réduit bien moins la variance que moyenner des quantités indépendantes. (Le même fait expliquait pourquoi la LOOCV est plus bruitée que le 10-fold dans La validation croisée et le rééchantillonnage.)

Les forêts aléatoires ajoutent un handicap délibéré : à chaque division, seul un sous-ensemble aléatoire de mm prédicteurs est même considéré, typiquement m≈pm \approx \sqrt{p} en classification. La plupart des divisions ne peuvent pas utiliser le prédicteur dominant, les autres prédicteurs ont donc leur tour, les arbres deviennent réellement différents et la moyenne est bien plus efficace.

C’est une idée frappante : chaque arbre est rendu moins bon à dessein, et l’ensemble s’en trouve meilleur.

H. Ce que vous cédez

Arbre uniqueBaggingForêt aléatoire
BiaisFaibleFaibleFaible
VarianceForteRéduiteLa plus faible
InterprétableOuiNonNon
Charge de réglageProfondeur/élagageBBBB, mm

L’interprétabilité qui motivait les arbres disparaît dès que vous en moyennez des centaines. Les mesures d’importance des variables - de combien chaque prédicteur a réduit Gini dans la forêt - récupèrent un résumé, mais pas le chemin si-alors lisible.

Les scores d’importance ne sont pas causals. Un prédicteur peut être bien classé parce qu’il est corrélé au véritable moteur, et l’importance fondée sur l’impureté est biaisée vers les prédicteurs à forte cardinalité. Traitez-les comme une description de ce que le modèle a utilisé, non de ce qui compte dans le monde.

À retenir

  • Les arbres partitionnent l’espace des prédicteurs et prédisent une constante par région, construits par division binaire récursive gloutonne.
  • Gini et l’entropie croisée battent le taux de mauvaise classification comme critères, car ils réagissent aux changements de pureté qui ne font pas basculer la majorité.
  • Notre division : Gini parent 0.50.5, enfants 0.44440.4444 et 0.3750.375, pondéré 0.41670.4167, gain 0.08330.0833.
  • Les arbres isolés sont à faible biais et forte variance - instables sous de petits changements de données.
  • Le bagging moyenne des arbres profonds sur des échantillons bootstrap, avec l’erreur out-of-bag en prime ; les forêts aléatoires restreignent en outre chaque division à m≈pm \approx \sqrt p prédicteurs pour décorréler les arbres.
  • L’ensemble achète de l’exactitude avec de l’interprétabilité.

La suite

Les arbres découpent l’espace d’entrée par des coupes alignées sur les axes. Une autre famille construit des fonctions souples en composant des transformations non linéaires simples, et les apprend en suivant le gradient de l’erreur. C’est La rétropropagation et la descente de gradient.

Références et lectures complémentaires

  • Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, An Introduction to Statistical Learning, with Applications in R, Springer (Springer Texts in Statistics 103), 2013source ↗

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Lecture associée

6 min de lectureApprentissage non supervisé

La direction qui change quand vous changez d’unité

Douze personnes, deux mesures, et trois premières composantes principales différentes : en millimètres la réponse est presque uniquement la taille, en mètres presque uniquement le poids, et en centimètres un mélange équilibré - la corrélation restant fixée à 0,9500 dans les trois cas. Ce que cela dit de ce que l’ACP maximise, pourquoi une proportion de variance expliquée de 99,999 % peut être un énoncé sur les mètres plutôt que sur les personnes, et ce que la standardisation choisit réellement.

Apprentissage automatiqueStatistique
4 min de lectureTime Series

Un score qui perd contre ne rien faire

Un modèle des cinq plus proches voisins obtient 0,9983 en validation croisée aléatoire à cinq blocs sur une marche aléatoire, série dont les incréments sont par construction imprévisibles. Évalué en avançant dans le temps il obtient 0,6559, avec une RMSE 12,44 fois plus grande, et il perd contre la simple reconduction de la dernière valeur observée. C’est la découpe, non le modèle, qui a produit le premier nombre.

StatistiqueApprentissage automatique
8 min de lectureAnomaly Detection

Le détecteur qui ne se déclenche jamais est juste à 99,5 %

À un taux de base réaliste, le détecteur inerte gagne sur la justesse, une ROC de 0,9468 masque une file d’alertes fausse à 64 %, la distance à la moyenne se classe sous le hasard quand les anomalies siègent au centre, et vingt anomalies groupées se cachent les unes les autres de la méthode conçue pour les trouver.

Apprentissage automatiqueStatistique
← Retour à tous les articles