- Un arbre profond est faible en biais et fort en variance. Poussé à fond il isole les points et recopie le tirage (p07-01 pas 5) ; un seul point retiré change sa racine et tout ce qui en descend (pas 8).
- Bootstrap. Rééchantillonner n lignes avec remise parmi n : des doublons, et 1 − (1 − 1/n)n → 1 − e−1 = 0,632 de lignes distinctes (p01-05 pas 4). Le 37 % de cette chaîne n'a pas d'autre origine que ce calcul.
- La variance d'une moyenne corrélée. Var(X̄) = ρσ² + (1 − ρ)σ²/B, comptage des B² cases de la matrice de covariance, dérivée une fois pour toutes dans b04 pas 1. Ici on l'applique, on ne la redémontre pas.
- Biais et variance. L'erreur se décompose en biais² + variance + bruit, et ce qui est tiré est le dataset entier (p06-01 pas 3). Le bagging est le quatrième étage de b03.
La chaîne
Le décor
Un arbre poussé à fond a presque tout son erreur en variance : peu de biais, et une sensibilité maximale au tirage. Le bouton profondeur ne fait qu'échanger l'un contre l'autre le long du même compromis.
Pour sortir du compromis au lieu de le parcourir, il faut une autre ressource : plusieurs arbres.
« Un arbre profond est presque sans biais et presque tout en variance, donc le régler en profondeur ne fait que déplacer le compromis sans l'améliorer, donc la seule sortie est d'en ajuster plusieurs et de les moyenner. »
Nuage 1D : n = 30 points, x uniforme sur [0 ; 4], y = f(x) + ε avec ε ~ 𝒩(0 ; 1). Arbre de régression poussé à fond, on lit sa prédiction en x0 = 2, où f(x0) = 2,62.
Sur 4 000 jeux de données tirés de la même population :
| moyenne | biais | variance | EQM | |
|---|---|---|---|---|
| un arbre profond | 2,61 | −0,005 | 0,98 | 0,98 |
Le biais est à peine mesurable ; toute l'erreur est de la variance — et elle vaut à peu près le bruit lui-même. C'est le cas idéal pour ce qui suit.
Moyenner réduit la variance, pas le biais tronc
Par linéarité, E[moyenne] = E[un arbre] : le biais ne bouge pas d'un iota. Tout le gain possible est donc en variance, et il est donné par le comptage des cases de la matrice de covariance (b04 pas 1) :
Second terme : s'éteint avec B. Premier terme : ne voit pas passer B. À ρ = 0 on retrouverait σ²/B — un cas particulier, jamais celui d'arbres entraînés sur les mêmes données.
« La moyenne de B arbres a le même centre qu'un arbre, donc le biais est inchangé, donc tout le gain est en variance, donc ce gain est plafonné par la corrélation entre arbres. »
| moyenne | biais | variance | |
|---|---|---|---|
| un arbre profond | 2,61 | −0,005 | 0,98 |
| moyenne de 25 | 2,61 | −0,025 | 0,49 |
Même centre : l'écart des deux moyennes vaut 0,013, sous l'erreur Monte-Carlo (0,016). Variance divisée par deux : 0,49 / 0,98 = 0,50.
Mais 0,50, pas 1/25 = 0,04. Résolvons 0,50 = ρ + (1 − ρ)/25 : il vient ρ = 0,47. Les arbres ne sont pas indépendants, et ce nombre-là est tout le sujet des quatre pas suivants.
Deux histogrammes sur la même échelle. En haut : la prédiction en x0 = 2 d'un seul arbre profond, un tirage = un nouveau jeu de 30 points. En bas : la moyenne de 25 arbres ajustés sur 25 bootstraps de ce même jeu. Tire quelques centaines de fois des deux côtés : le trait rouge (la moyenne empirique) se cale au même endroit, près de f(x0) = 2,62 — le biais n'a pas bougé — tandis que l'écart-type passe d'environ 0,99 à 0,70. Pas de 0,99 à 0,20 : ce n'est pas √25.
D'où viennent des arbres différents : le bootstrap
Chaque arbre est ajusté sur un rééchantillon de n lignes tirées avec remise parmi les n (p01-05 pas 4) : des doublons, 63 % de lignes distinctes, 37 % absentes.
Assez pour déplacer des seuils de coupure. Pas assez pour rendre deux arbres étrangers : ils voient les mêmes features fortes et les retrouvent aux mêmes endroits. D'où un ρ non seulement positif, mais grand.
« Chaque arbre voit 63 % des lignes, donc deux arbres en partagent 40 % et surtout toutes les features fortes, donc leurs coupures se ressemblent, donc ρ est grand et pas petit. »
Un bootstrap contient 632 lignes distinctes et en laisse 368 dehors. Deux bootstraps du même jeu : 0,632² = 40 % des 1 000 lignes sont dans les deux — soit 63 % des lignes distinctes de l'un.
Et ce n'est que le recouvrement des lignes. Les features, elles, sont partagées à 100 % : si une feature domine, elle domine dans tous les arbres. Sur le fil rouge, le ρ mesuré au pas 2 vaut 0,47.
Le plancher ρσ² tronc
À ρ = 0,5, cent arbres ne font pas mieux que 0,5 σ² ; mille non plus. Ajouter des arbres n'est jamais nuisible — il n'y a pas de surapprentissage en B, la courbe est monotone décroissante — mais devient vite inutile.
Pour descendre sous le plancher, il n'y a qu'un levier : baisser ρ.
« Le terme en 1/B s'éteint, donc au-delà d'une centaine d'arbres il ne reste que ρσ², donc le seul levier restant est la corrélation, donc il faut rendre les arbres différents autrement que par les lignes. »
| B | ρ = 0,5 (bagging) | ρ = 0,1 (forêt) |
|---|---|---|
| 10 | 0,5500 | 0,1900 |
| 100 | 0,5050 | 0,1090 |
| 1 000 | 0,5005 | 0,1009 |
| ∞ | 0,5000 | 0,1000 |
À ρ = 0,5 : passer de 10 à 100 arbres gagne 0,045 ; passer de 100 à 1 000 en gagne 0,0045. Dix fois le calcul pour un demi-centième de variance.
Changer ρ de 0,5 à 0,1 à B = 100 fait tomber la variance de 0,505 à 0,109 : 4,6 fois moins. Aucun nombre d'arbres n'obtient cela à ρ = 0,5.
Var(moyenne)/σ² contre B, en échelle log de 1 à 1 000. Bleu : ρ = 0, la droite en σ²/B qui descend sans fin. Violet : la courbe au ρ choisi ; rouge : son plancher ρσ². Le segment vert mesure tout ce que rapporte le passage de 10 à 100 arbres. Les deux boutons posent les deux régimes du fil rouge : au preset bagging le violet colle à son plancher avant B = 30, au preset forêt le plancher lui-même a baissé d'un facteur 5 et la courbe a de la place pour descendre.
La forêt : tirer m features par nœud tronc
À chaque nœud, seules m features tirées au hasard sont candidates — m = √p en classification, p/3 en régression, par défaut. Une feature dominante n'est donc plus toujours disponible : d'autres coupures sont choisies, et les arbres cessent de se ressembler.
Le prix : chaque arbre est un peu plus biaisé, puisqu'il n'a pas toujours la meilleure coupure sous la main. Ce plancher divisé vaut bien plus que ce petit biais.
« Restreindre les features candidates empêche une même feature de mener tous les arbres, donc ρ tombe, donc le plancher baisse, donc la moyenne descend plus bas, au prix d'un léger biais par arbre. »
| m | une feature donnée est candidate… | |
|---|---|---|
| classification | √100 = 10 | dans 10 % des nœuds |
| régression | 100/3 ≈ 33 | dans 33 % des nœuds |
| bagging | p = 100 | dans 100 % des nœuds |
La probabilité qu'une feature donnée soit candidate est exactement m/p. En classification, 90 % des nœuds doivent couper sans la feature dominante — c'est là que les arbres divergent.
Sur le fil rouge : ρ passe de 0,5 à 0,1, le plancher de 0,5 σ² à 0,1 σ² (divisé par 5), et à B = 100 la variance tombe de 0,505 à 0,109. m est le vrai réglage d'une forêt ; B ne l'est pas (pas 9).
Out-of-bag : le test gratuit
Chaque ligne est absente de ≈ 37 % des bootstraps — c'est le même calcul qu'au pas 3, lu dans l'autre sens. Prédire cette ligne avec ces arbres-là seulement donne une erreur sur données non vues, sans mettre le moindre pli de côté.
C'est le témoin atteignable de b02 lieu 5 : un ensemble que le choix n'a pas touché. Légèrement pessimiste, puisqu'il note une forêt de 37 arbres et non de B.
« Chaque ligne est hors du sac de 37 % des arbres, donc on peut la prédire avec ces arbres-là seuls, donc l'erreur ainsi obtenue porte sur des données non vues, donc elle remplace un jeu de validation, à un léger pessimisme près. »
n = 1 000, B = 100 : chaque ligne est hors-sac de 36,8 arbres en moyenne. On la prédit avec ceux-là, on compare à son y, on moyenne sur les 1 000 lignes : c'est l'erreur OOB.
Le pessimisme, chiffré. À ρ = 0,1, une moyenne de 36,8 arbres a une variance de 0,1 + 0,9/36,8 = 0,1245 σ², contre 0,109 pour les 100 arbres qu'on déploiera. L'OOB note un modèle un peu moins bon que celui qu'on livre : c'est une borne haute, utilisable telle quelle.
Usage : tracer l'erreur OOB contre B et s'arrêter quand la courbe est plate. C'est à cela que sert B, et à rien d'autre.
20 lignes en colonnes, 12 arbres en lignes. Point violet plein : la ligne est dans le bootstrap de cet arbre (il l'a vue). Cercle rouge vide : elle en est absente — cet arbre est out-of-bag pour elle, et lui seul a le droit de la prédire. La colonne 7 est marquée : compte ses cercles vides, ce sont les arbres qui votent pour la ligne 7. Nouveau tirage : la part de cercles vides retombe toujours autour de 35,8 % = (1 − 1/20)20, qui tend vers 36,8 % quand n grandit. Aucune ligne n'est jamais orpheline longtemps, aucune n'est vue par tous.
Pourquoi des arbres profonds
Le bagging ne baisse que la variance. Il lui faut donc des composants dont l'erreur est de la variance : à faible biais, forte variance — des arbres profonds.
Des souches (profondeur 1) baggées restent des souches : leur biais traverse la moyenne intact, et il n'y avait presque pas de variance à prendre. Les arbres courts sont pour le boosting, qui lui attaque le biais (p07-03).
« Moyenner ne touche pas au biais, donc il faut des composants dont l'erreur est surtout de la variance, donc arbres profonds pour le bagging et la forêt, donc arbres courts réservés au boosting, qui lui baisse le biais. »
| biais | variance | EQM | EQM baggé ×25 | |
|---|---|---|---|---|
| arbre profond | −0,005 | 0,979 | 0,979 | 0,479 (−51 %) |
| souche (d = 1) | −0,610 | 0,083 | 0,454 | 0,407 (−10 %) |
La souche est déjà stable : variance 0,083, il n'y a presque rien à lui prendre. Son EQM est bloquée par son biais, et 25 souches ne le bougent pas (−0,610 → −0,579) ; 1 000 non plus.
L'arbre profond, lui, voit son EQM divisée par deux — et elle continuerait à descendre jusqu'à son plancher ρσ².
Importance des features : deux mesures, deux pièges
MDI — baisse d'impureté cumulée sur tous les nœuds où la feature a coupé. Gratuite, calculée pendant l'ajustement, et biaisée vers les features à beaucoup de modalités : plus de coupures candidates, donc plus de chances d'en trouver une bonne par hasard.
Permutation — on brouille une colonne et on regarde l'erreur OOB monter. Plus honnête, plus chère. Dans les deux cas, « importance » n'est pas « causalité » : deux features corrélées se partagent le crédit.
« Une feature à beaucoup de modalités offre plus de coupures candidates, donc elle gagne plus souvent par hasard, donc la MDI la surévalue, donc on lit l'importance par permutation sur l'out-of-bag dès que la réponse compte. »
n = 300, y tiré à pile ou face, indépendant de tout. Deux features, elles aussi du bruit pur : une binaire (2 modalités), une continue (300 modalités). Arbre de profondeur 6, MDI moyennée sur 40 tirages :
| feature (bruit pur) | modalités | part de la MDI |
|---|---|---|
| continue | 300 | 94 % |
| binaire | 2 | 6 % |
Aucune des deux ne sait quoi que ce soit sur y. Le classement est un pur artefact du nombre de coupures candidates. À lire comme un avertissement : une MDI ne compare que des features de même granularité.
Où ça casse casse
Les quatre pannes sont la chaîne lue à l'envers : ρ qui ne descend pas, un biais que la moyenne ne peut pas atteindre, et un B pris pour un réglage.
« Le bagging ne dispose que de la variance, donc il échoue partout où l'erreur est ailleurs, donc on diagnostique en regardant ρ et le biais des composants, donc jamais en ajoutant des arbres. »
- ρ reste élevé malgré m. Une feature écrasante — souvent une fuite (p06-02 pas 7) — n'est candidate que dans m/p des nœuds, mais quand elle l'est elle gagne toujours, et l'arbre y revient à chaque profondeur. La forêt redevient du bagging. Symptômes : une importance qui écrase tout, une OOB trop belle.
- Biais partagé. Mille arbres qui ne savent pas tourner les axes moyennent mille escaliers : le résultat est plus lisse, mais reste un escalier (p07-01 casse). La moyenne ne crée pas de capacité — elle ne fait que retirer du bruit.
- Extrapolation. Toute prédiction est une moyenne de y observés : hors du support des x d'entraînement, la forêt rend le palier du bord, exactement comme un arbre. Une tendance qui dérive n'est jamais prolongée.
- B n'est pas un hyperparamètre à régler. Assez grand pour que la courbe OOB soit plate, c'est tout : il n'y a rien à valider croisée sur B, puisque la courbe est monotone. Ce qui se règle, c'est m et la taille minimale de feuille.
Résumé
- Moyenner B arbres : biais inchangé, variance ρσ² + (1 − ρ)σ²/B.
- Le bootstrap fabrique des arbres différents mais corrélés : 63 % de lignes distinctes, et 100 % des features en commun.
- Plancher ρσ² : au-delà de ~100 arbres, plus de gain ; jamais de perte non plus.
- Forêt : m features par nœud ⇒ ρ baisse (0,5 → 0,1) ⇒ plancher divisé par 5 ; léger biais par arbre, largement rentable.
- OOB : chaque ligne prédite par les ≈ 37 % d'arbres qui ne l'ont pas vue — erreur de test gratuite, légèrement pessimiste.
- Arbres profonds pour la forêt, courts pour le boosting ; B se stabilise, m et la profondeur se règlent.
Chaîne verbalisée — une prise, à voix haute
- Que fait le bagging au biais et à la variance ?Biais inchangé (linéarité de l'espérance) ; variance ρσ² + (1 − ρ)σ²/B.
- Pourquoi cent arbres et pas mille ?Le terme en 1/B s'éteint ; il ne reste que ρσ². De 10 à 100 on gagne 0,045 σ², de 100 à 1 000 : 0,0045.
- À quoi sert m dans une forêt ?Décorréler les arbres : une feature n'est candidate que dans m/p des nœuds, donc ρ baisse et le plancher avec lui. Prix : un léger biais par arbre.
- D'où vient le 37 % ?(1 − 1/n)n → e−1 = 0,368 : la part des lignes absentes d'un bootstrap. Un seul calcul, deux usages — la corrélation entre arbres et l'OOB.
- Pourquoi des arbres profonds ici et courts en boosting ?Le bagging ne baisse que la variance, il lui faut donc des composants à faible biais. Le boosting baisse le biais, il part de composants faibles.
- B se règle-t-il par validation croisée ?Non : la courbe OOB est monotone, on prend B assez grand pour qu'elle soit plate. Ce qui se règle, c'est m et la profondeur.
Ponts et cartes
ml::bagging (biais inchangé, variance divisée, arbres profonds) · ml::random-forest (m par nœud, √p et p/3, ce que m achète) · ml::oob (37 %, test gratuit, pessimisme) · ml::variance-correlee (ρσ² + (1 − ρ)σ²/B, le plancher).
Le vocabulaire bagging / boosting ne se retient pas en slogans : il se retient sur cette formule unique. Qui baisse la variance moyenne des composants à faible biais ; qui baisse le biais additionne des composants faibles (p07-03).
Une carte qui résiste après cette chaîne est une carte à refondre, pas une section à relire.