💳 Prédicteur de défaut de prêt — Arbres à gradient boosté en direct
Observez un véritable ensemble de gradient boosting faire pousser en direct des arbres de décision peu profonds, chacun ajustant les erreurs résiduelles du précédent, réduisant réellement la perte de prédiction de défaut de prêt simulé à chaque cycle de boosting.
À propos des arbres à gradient boosté pour la prédiction de défaut de prêt
Le gradient boosting construit un classificateur puissant à partir de nombreux classificateurs faibles. En partant d'une seule constante — la log-cote du taux de défaut de base — l'algorithme ajuste de manière répétée un arbre de décision peu profond aux pseudo-résidus de l'ensemble actuel et ajoute la prédiction mise à l'échelle de cet arbre à un score courant. Pour la log-loss binaire, le pseudo-résidu de chaque exemple d'entraînement est simplement y − p : l'écart entre l'étiquette réelle et la probabilité prédite actuelle. Comme chaque nouvel arbre n'a qu'à expliquer ce que l'ensemble a mal fait jusqu'ici, la perte d'entraînement diminue régulièrement même si chaque arbre individuel est délibérément peu profond et faible.
🔬 Ce que ça montre
Un véritable arbre de régression de type CART est cultivé à chaque cycle de boosting en parcourant exhaustivement chaque caractéristique candidate et chaque seuil de division pour trouver celui qui réduit le plus l'erreur quadratique sur les résidus actuels, jusqu'à une profondeur maximale choisie (1 à 3). La contribution de chaque feuille est ensuite affinée par une étape de Newton-Raphson (somme des résidus divisée par la somme de p(1−p) dans cette feuille) avant d'être ajoutée au score de log-cotes courant, mise à l'échelle par le taux d'apprentissage — la véritable règle de mise à jour du gradient boosting, pas un raccourci tout fait.
🎮 Comment l'utiliser
Ajustez le taux d'apprentissage η, le nombre de cycles de boosting et la profondeur des arbres, puis appuyez sur « Entraîner en direct » pour regarder l'ensemble grandir arbre par arbre. Le nuage de points montre les candidats de validation, positionnés selon le ratio dette/revenu, le taux d'utilisation du crédit et la longueur de l'historique de crédit, colorés selon la probabilité de défaut prédite en direct par le modèle ; le graphique ci-dessous suit la véritable log-loss d'entraînement et de validation qui diminue cycle par cycle. Cliquez sur n'importe quel candidat pour inspecter ses caractéristiques et sa prédiction.
💡 Le saviez-vous ?
Les emprunteurs synthétiques de cette simulation sont générés à partir de relations réalistes de risque de défaut — revenu, historique de crédit, ratio dette/revenu, taux d'utilisation du crédit, retards de paiement et ancienneté professionnelle — combinées en une véritable probabilité plus un bruit aléatoire irréductible. Même un modèle parfait ne peut jamais atteindre une perte nulle ici, exactement comme dans les données réelles de prêt, ce qui explique pourquoi la log-loss de validation plafonne au-dessus de zéro plutôt que d'y converger.
Questions fréquentes
Qu'est-ce que le gradient boosting, en termes simples ?
Le gradient boosting construit un modèle prédictif puissant comme une somme de nombreux modèles faibles, généralement des arbres de décision peu profonds, ajoutés un à la fois. Au lieu que chaque arbre essaie de prédire directement l'étiquette, chaque nouvel arbre est entraîné à ajuster les erreurs (erreurs résiduelles) laissées par l'ensemble construit jusque-là. La contribution de chaque arbre est réduite par un taux d'apprentissage avant d'être ajoutée, de sorte que l'ensemble s'améliore progressivement et ne surajuste pas aux particularités d'un seul arbre.
Comment le gradient boosting fonctionne-t-il pour une classification binaire comme le défaut de prêt ?
Le modèle maintient un score de log-cotes courant F(x) pour chaque emprunteur. À chaque cycle, il calcule le gradient négatif de la log-loss par rapport à F, qui pour la perte logistique se résume simplement à y − p, la différence entre l'étiquette réelle (0 ou 1) et la probabilité prédite actuelle p = sigmoïde(F(x)). Un arbre de régression peu profond est ajusté à ces résidus, et la valeur de sortie de chaque feuille est affinée par une étape de Newton-Raphson utilisant la somme des résidus de la feuille divisée par sa somme de p(1−p), qui approxime la dérivée seconde de la perte. Les prédictions de l'arbre, mises à l'échelle par le taux d'apprentissage, sont ensuite ajoutées à F pour chaque emprunteur, et le cycle se répète.
Comment l'arbre décide-t-il où diviser ?
À chaque nœud, l'algorithme parcourt chaque caractéristique candidate (revenu, longueur de l'historique de crédit, ratio dette/revenu, taux d'utilisation du crédit, retards de paiement récents, ancienneté professionnelle) et chaque seuil possible entre valeurs triées adjacentes, en calculant de combien la division réduirait l'erreur quadratique totale des résidus dans ce nœud par rapport à ne pas le diviser. La division offrant la plus grande réduction d'erreur (sous réserve d'une contrainte de nombre minimal d'échantillons par feuille) est choisie, et le processus se répète récursivement dans les nœuds enfants résultants jusqu'à atteindre la profondeur maximale de l'arbre.
Pourquoi la perte d'entraînement continue-t-elle de diminuer alors que la perte de validation peut se stabiliser ou augmenter ?
Chaque nouvel arbre est ajusté spécifiquement pour réduire l'erreur résiduelle sur l'ensemble d'entraînement, donc la log-loss d'entraînement diminue de façon presque monotone à mesure que des arbres sont ajoutés. L'ensemble de validation n'a jamais été utilisé pour ajuster un arbre, donc sa perte ne s'améliore que tant que les motifs appris par les arbres se généralisent réellement. Une fois que l'ensemble commence à ajuster du bruit spécifique aux emprunteurs d'entraînement plutôt que la véritable relation de risque de défaut, la perte de validation cesse de s'améliorer ou remonte progressivement — cet écart est la signature classique du surajustement, et c'est exactement pourquoi le nombre de cycles de boosting, la profondeur des arbres et le taux d'apprentissage sont réglés par rapport à un ensemble de validation distinct plutôt qu'à l'ensemble d'entraînement lui-même.
Que contrôle le taux d'apprentissage, et pourquoi ne pas simplement en utiliser un grand ?
Le taux d'apprentissage réduit la part de la correction ajustée de chaque nouvel arbre qui est réellement ajoutée à la prédiction courante. Un petit taux d'apprentissage (par ex. 0,05) signifie que de nombreux arbres sont nécessaires pour atteindre un bon ajustement, mais chacun ne pousse le modèle que légèrement, ce qui tend à mieux se généraliser et réduit le risque qu'un seul arbre bruité ne dévie l'ensemble. Un grand taux d'apprentissage (proche de 1,0) permet au modèle d'ajuster les données d'entraînement très rapidement, souvent en une poignée de cycles, mais il est bien plus sujet au dépassement et au surajustement.
Pourquoi utiliser des arbres peu profonds de profondeur 1-3 plutôt qu'un seul grand arbre profond ?
Un seul arbre profond peut mémoriser l'ensemble d'entraînement presque parfaitement en le découpant en petites régions homogènes, ce qui se généralise mal. Le gradient boosting utilise à la place de nombreux arbres peu profonds, à biais élevé et à faible variance (souvent appelés « stumps » à profondeur 1) et laisse le processus de boosting lui-même fournir la complexité, une petite correction à la fois. Sommé sur des dizaines ou des centaines de cycles de boosting, l'ensemble peut représenter des interactions de caractéristiques très complexes tandis que chaque arbre individuel reste simple et résistant au surajustement.
En quoi est-ce différent d'une forêt aléatoire ?
Une forêt aléatoire construit de nombreux arbres profonds indépendamment et en parallèle sur des échantillons bootstrappés des données, puis moyenne leurs prédictions — cela réduit la variance (le bruit) mais chaque arbre est entraîné sans connaissance des erreurs des autres. Le gradient boosting construit les arbres séquentiellement, et chaque nouvel arbre est explicitement entraîné pour corriger les erreurs spécifiques que fait l'ensemble actuel. Cette correction d'erreur séquentielle permet au boosting d'atteindre souvent un biais plus faible et une précision plus élevée qu'une forêt de taille comparable, au prix d'une plus grande sensibilité au taux d'apprentissage et au nombre de cycles.
Quelles caractéristiques prédisent réellement le risque de défaut de prêt dans cette simulation ?
Le générateur d'emprunteurs synthétiques intègre des relations réalistes utilisées par les véritables modèles de risque de crédit : un revenu plus élevé et une plus longue ancienneté professionnelle réduisent le risque de défaut, tandis qu'un ratio dette/revenu plus élevé, un taux d'utilisation du crédit plus élevé, et davantage de retards de paiement au cours des deux dernières années l'augmentent ; un historique de crédit plus long réduit aussi modestement le risque. Ces relations sont combinées en une véritable log-cote de défaut plus un bruit aléatoire irréductible, puis un tirage à pile ou face pondéré par cette probabilité génère l'étiquette de défaut observée — donc même un modèle parfait ne peut atteindre une perte nulle, exactement comme dans les données réelles de prêt.
Qu'est-ce que le score AUC affiché dans le panneau de statistiques ?
L'AUC (aire sous la courbe ROC) mesure à quel point le modèle classe les emprunteurs qui ont réellement fait défaut au-dessus de ceux qui ne l'ont pas fait, indépendamment de tout seuil de probabilité particulier. Un AUC de 0,5 signifie que le modèle classe les paires pas mieux qu'un tirage à pile ou face ; un AUC de 1,0 signifie que chaque défaillant est classé au-dessus de chaque non-défaillant. Il est calculé ici directement à partir de sa définition basée sur le rang : pour chaque paire défaillant/non-défaillant de l'ensemble de validation, on compte si le défaillant a reçu une probabilité prédite plus élevée, et on fait la moyenne sur toutes les paires.
Chaque cycle de boosting ajuste un véritable arbre de régression CART peu profond aux pseudo-résidus actuels (y − p) par recherche exhaustive de division minimisant l'erreur quadratique, affine ses feuilles avec une étape de Newton-Raphson, et ajoute le résultat mis à l'échelle à un score de log-cotes courant — un véritable gradient boosting, faisant baisser la log-loss d'entraînement et de validation cycle par cycle.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation