Réseaux neuronaux et Gradient Boosting
Réseau neuronal - premiers pas vers le Deep Learning
Les réseaux neuronaux et le Gradient Boosting sont deux algorithmes supervisés "stars", couramment utilisées par les data scientists quand ils manipulent des données tabulaires (une observation par ligne).
Nous vous proposons ici de faire vos premiers essais ayant trait aux réseaux neuronaux avant d’attaquer "les monstres" Deep Learning et IA Générative (comme ChatGPT).
Pour comprendre le Deep Learning, il vous faudra d’abord pratiquer les réseaux neuronaux sur divers jeux de données et constater leurs forces et leurs faiblesses.
Vous serez alors prêt pour aborder la théorie des réseaux neuronaux du Deep Learning, car vous comprendrez en finesse la nature des problèmes que ces solutions résolvent : cela permet de ne pas se laisser emporter par la "magie" en utilisant les algorithmes les plus puissants sans aucune idée de leurs tenants et aboutissants... ce qui se finit souvent par de grandes déceptions opérationnelles.
1. Introduction aux réseaux neuronaux
a. Composition de fonction
Avant de nous attaquer à la structure des réseaux neuronaux, il nous faut comprendre que les couches qui les constituent s’agencent comme une composition de fonctions.
En mathématiques, on désigne souvent la composition de fonction par un petit "rond" o.
Dans les documentations sur les réseaux neuronaux, il est courant de voir cette composition représentée par une flèche qui "injecte" le résultat d’une fonction dans une autre.

Composition de fonctions
Cela étant dit, nous pouvons maintenant nous attaquer au fonctionnement des réseaux neuronaux multicouches.
b. Description succincte d’un modèle NN de classification
Nous allons décrire ici le fonctionnement basique d’un réseau neuronal de classification. En dehors des couches de sorties du réseau, les mécanismes pour un réseau de régression seraient similaires (une sortie triviale pour un réseau de régression étant un neurone sans fonction d’activation).
Nous appliquons pour chaque observation de notre dataset d’entraînement des couches cachées de neurones de structure simple...
Gradient Boosting et Generalized Boosted Regression
1. Les grands principes
Nous allons maintenant nous focaliser sur une implémentation pratique, particulièrement facile à manipuler pour des datasets de taille raisonnable comme ceux que vous croiserez dans les concours de data scientist : la Generalized Boosted Regression.
Dans le cas non paramétrique, on reste sur la première formulation en fonction du risque et la méthode du gradient s’applique directement sur le risque.
Mais dans le cas paramétrique, il est possible d’appliquer la méthode du gradient directement sur les paramètres, ce que l’on ne se prive pas de faire.
Tout cela pose quelques problèmes pratiques. En effet le modèle a tendance à s’"overfitter" sur l’ensemble des observations (plutôt que de créer une fonction résultante généralisable). Les cas où des observations différentes avec les mêmes valeurs explicatives débouchent sur une réponse différente peuvent déstabiliser la descente de gradient (ce n’est pas pour rien que l’on a mis au point d’autres méthodes d’optimisation telles que celles que nous avons vues plus haut !).
Une conclusion pratique (cf. l’œuvre de Friedman) est de baser la descente de gradient sur des fonctions peu sensibles à la valeur d’un point (et donc de ne surtout pas s’appuyer directement sur la valeur de la fonction f en chaque point).
Dans...