Je respecte toujours mes engagements
Dans les coulisses de l’IA : Le secret de la Descente de Gradient
Hey Salut la team je voudrais parler aujourd’hui d’un concept un peu technique qui est au cœur de tout le machine learning moderne pour certains algorithmes, de la ligne de régression aux IA génératives comme ChatGPT ou Midjourney : la Descente de Gradient (ou « Gradient Descent »).
Si vous avez déjà entendu « l’IA apprend », ce que vous devez comprendre, c’est qu’elle est (probablement) en train de faire une descente de gradient.
Je vous explique a ma façon:
1. L’Objectif c’est toujours trouver la « Meilleure » Ligne.
Prenons un cas simple : on a des points (X=[1, 2, 3], Y=[2, 4, 6]) et un modèle y = wx + b. Le but du jeu est simple : trouver les meilleurs w et b possibles.
Mais que veut dire « meilleur » ?
2. La Fonction de Coût (MSE)
« Meilleur » signifie « celui qui se trompe le moins ». Pour mesurer « à quel point on se trompe », on a besoin d’un juge. C’est la fonction de coût (ou Loss Function).
Dans notre cas, nous avons utilisé le Mean Squared Error (MSE) :
- Erreur = (Ce qu’on prédit) – (La vraie valeur)
- Squared = On met cette erreur au carré (pour n’avoir que des nombres positifs et pénaliser les grosses erreurs).
- Mean = On fait la moyenne de ces erreurs au carré pour tous nos points.
Notre objectif n’est plus de « trouver la meilleure ligne ». Il est devenu : « Trouver le w et le b qui donnent le score MSE le plus bas possible. »
3. L’Analogie : Perdu sur la Montagne (dans le brouillard)
Cet exemple es plus parlant a mon avis.
- Imaginez que le Coût (MSE) est votre altitude.
- Le « paysage » est formé par toutes les valeurs possibles de
wetb. - Un coût élevé (mauvais modèle) = vous êtes haut sur la montagne.
- Un coût bas (bon modèle) = vous êtes dans la vallée.
Le problème : Vous êtes dans un brouillard total. Vous ne voyez pas la vallée. Vous ne pouvez que tâter le sol autour de vous.
Comment faites-vous pour descendre ?
4. La Boucle : Tâter, Descendre, Répéter
C’est le cœur de l’algorithme. C’est une boucle en 3 étapes :
Étape 1 : Tâter le sol (Calculer le Gradient)
- Vous tendez la main pour sentir la pente. C’est le Gradient.
- Le Gradient est un vecteur (une flèche) qui vous dit : « La direction de la plus forte montée est par là. »
- (Dans notre exemple, c’était le calcul de
grad_wetgrad_b).
Étape 2 : Faire un pas (La Descente)
- Le gradient vous dit où est le « haut ».
- Vous faites quoi ? Vous allez dans la direction exactement opposée.
- C’est le « moins » dans
w_nouveau = w_actuel - (alpha * grad_w). - Vous faites un petit pas en descendant la pente.
Étape 3 : Répéter
- Vous avez bougé. Vous êtes (normalement) un peu plus bas.
- Vous recommencez : vous re-calculez le gradient à votre nouvelle position (Étape 1), vous refaites un pas (Étape 2).
- Vous répétez cela 100, 1000, 1 million de fois jusqu’à ce que la pente soit plate (vous êtes au fond de la vallée).
5. Les Nuances (Les « Boutons » à régler)
C’est bien beau, mais cette « descente » a des règles.
Le bouton le plus important : alpha (Le Learning Rate)
alpha est la taille de votre pas.
- Alpha trop grand (Ex: 10.0) : Vous faites un pas de géant. Vous « sautez » par-dessus la vallée et vous vous retrouvez sur le flanc opposé, potentiellement plus haut qu’avant. C’est la divergence. Votre coût explose.
- Alpha trop petit (Ex: 0.00001) : Vous faites des pas de fourmi. Vous allez arriver dans la vallée, mais ça va prendre une éternité.
Choisir le bon alpha (comme 0.1 dans notre exemple ) est un art.
La méthode de « descente » : Batch vs. SGD
Quand vous « tâtez le sol », comment faites-vous ?
- Batch (ce qu’on a fait) : Vous demandez l’avis à tous vos points de données. Vous faites la moyenne de leurs « pentes » et vous décidez d’une direction. C’est lent (il faut interroger tout le monde) mais c’est une direction stable.
- Stochastic (SGD) : Vous n’avez pas le temps. Vous demandez à un seul point au hasard : « Tu en penses quoi ? ». Vous suivez son avis immédiatement. C’est beaucoup plus rapide, mais c’est « bruyant » (la descente fait des zigzags). Étonnamment, ça marche incroyablement bien.
6. Pourquoi la descente de Gradient?
Il y’a une formule « directe » (les « Moindres Carrés ») pour trouver w et b d’un coup. Mais Pourquoi dans ce cas s’embêter avec cette histoire de montagne ?
Voici le pourquoi : La formule « directe » ne fonctionne que pour ce jouet.
- Elle ne passe pas à l’échelle : Elle explose en temps de calcul et en RAM si vous avez 1 million de points (Big Data) parce quelle a besoin de charger toutes vos données en mémoire en même temps. Elle est totalement inutilisable pour les problèmes du monde réel (comme le Big Data ou les IA modernes)
- Elle n’est pas flexible : Elle ne fonctionne que pour le MSE et que pour la régression linéaire.
La Descente de Gradient, elle, est universelle.
- Elle gère le Big Data (en mode SGD). La GD fonctionne « itérativement ». Elle peut mettre à jour le modèle en regardant les données petit à petit (par « batchs ») et n’a pas besoin de tout charger d’un coup.
- Elle peut optimiser n’importe quel modèle (Réseaux de Neurones, modèles de langage…).
La Descente de Gradient est le moteur d’optimisation flexible et universel qui fait tourner tout le Machine Learning moderne.
Et voilà. C’est ça, le principe.
Différence entre la régression et la logistique :
- Linéaire : y= wx + b. La sortie est un nombre (ex: 4.5, -10, 1000).
- Logistique : y= sigma(wx + b). La sortie est forcée entre 0 et 1.
La Fonction de Coût :
- Linéaire : On utilise le MSE (Mean Squared Error) car on mesure une distance.
- Logistique : On utilise le Log Loss (Cross-Entropy) car on mesure l’erreur sur une probabilité.
Les 5 Modèles principaux que j’ai utilisé perso
A. Régression Linéaire
- C’est quoi ? Prédire un nombre précis (prix, température).
- Fonctionnement : Trace une ligne droite (
y = wx + b) qui passe au milieu du nuage de points. - L’objectif : Minimiser l’écart au carré (MSE) entre la ligne et les vrais points.
B. Régression Logistique
- C’est quoi ? Classer en Oui/Non (0 ou 1).
- Fonctionnement : Calcule un score (
z), puis l’écrase avec la Sigmoïde pour obtenir une probabilité entre 0 et 1. - L’objectif : Si Probabilité > 0.5, c’est Oui. Sinon, c’est Non. Utilise la Log Loss.
C. Arbres de Décision
- C’est quoi ? Un organigramme de questions logiques.
- Fonctionnement : Pose une série de questions (« Est-ce que X > 5 ? ») pour diviser les données en groupes de plus en plus petits.
- La règle : Choisit la question qui crée les groupes les plus purs (Indice Gini le plus bas).
- Risque : Devenir trop complexe (Overfitting) donc on limite avec
max_depth.
D. k-Nearest Neighbors (kNN)
- C’est quoi ? Le copieur (« Dis-moi qui sont tes voisins »).
- Fonctionnement : Pour un nouveau point, il regarde les
kpoints les plus proches (distance géométrique). - Décision : Il prend la classe majoritaire parmi ses voisins (Vote).
- Note : Il n’apprend rien par cœur, il garde juste toutes les données en mémoire.
E. Naïve Bayes
L’astuce « Naïve » : Il suppose que les mots n’ont aucun lien entre eux (indépendants). C’est faux, mais ça marche super bien pour le texte.
C’est quoi ? Le parieur probabiliste (Idéal pour le Texte/Spam).
Fonctionnement : Calcule la probabilité d’une classe en multipliant les probabilités de chaque indice (mot).
F. Ensembles de Forêts Aléatoires (Random Forests)
C’est une amélioration directe des Arbres de Décision.
C’est quoi ?
Un ensemble d’arbres de décision indépendants qui votent pour produire la prédiction finale. On exploite la variance des arbres pour obtenir un modèle stable.
Fonctionnement :
- Génération de nombreux arbres (ex. 100–500).
- Chaque arbre est entraîné sur un échantillon bootstrap des données.
- À chaque split, seul un sous-ensemble aléatoire de features est considéré.
Décision :
- Classification : vote majoritaire
- Régression : moyenne des prédictions
Avantages :
- Très robuste au sur-apprentissage
- Peu sensible au bruit
- Peu de tuning comparé à d’autres modèles avancés
Limites :
- Moins interprétable qu’un arbre unique
- Performances plafonnent sur des problèmes complexes tabulaires
G. Modèles Avancés de Décision et d’Optimisation
Ces modèles sont utilisés quand les approches classiques atteignent leurs limites.
1. Boosting (XGBoost, LightGBM, CatBoost)
C’est quoi ?
Une succession d’arbres faibles entraînés séquentiellement, chacun corrigeant les erreurs du précédent.
Fonctionnement :
- Un premier modèle prédit
- Les erreurs (résidus) sont calculées
- Le modèle suivant apprend à corriger ces erreurs
- Le tout est combiné de manière additive
Avantages :
- État de l’art sur données tabulaires
- Très haute précision
- Gestion fine des biais et de la variance




