Formation Machine Learning
Modules interactifs pour apprendre les algorithmes essentiels du ML
Vue d'ensemble des familles et techniques de Machine Learning Cliquez pour en savoir plus
Le Machine Learning est un ensemble de techniques permettant aux ordinateurs d'apprendre à partir de données sans être explicitement programmés.
Les trois grandes familles:
- Apprentissage supervisé : On dispose de données étiquetées (X, y). Le modèle apprend à prédire y à partir de X.
- Apprentissage non supervisé : Pas d'étiquettes. Le modèle cherche des structures cachées dans les données.
- Deep Learning : Réseaux de neurones profonds capables d'apprendre des représentations hiérarchiques complexes.
Comment choisir?
| Situation | Approche recommandée |
|---|---|
| Données étiquetées + prédiction numérique | Supervised Régression |
| Données étiquetées + prédiction de classe | Supervised Classification |
| Pas d'étiquettes + grouper des données | Unsupervised (Clustering) |
| Pas d'étiquettes + réduire dimensions | Unsupervised (PCA) |
| Images, texte, séquences complexes | Deep Learning |
| Données tabulaires simples | Modèles classiques (arbres, SVM) |
Taxonomie du Machine Learning
Les modèles linéaires sont les fondations du Machine Learning. Simples, interprétables et rapides, ils restent incontournables comme baseline avant d'essayer des modèles plus complexes.
Régression Linéaire (prédire une valeur continue)
Le modèle apprend une équation linéaire :
y = a₁·x₁ + a₂·x₂ + ... + b
- Les coefficients (a₁, a₂, b) sont appris une fois et restent fixes
- Chaque coefficient indique l'impact de sa feature sur la prédiction
- Interprétation directe : "Si x₁ augmente de 1, y augmente de a₁"
Exemple : prédiction du prix immobilier
Prix = 3500 × Surface + 15000 × NbChambres + 50000
→ Un m² supplémentaire ajoute 3500€ au prix.
Régression Logistique (prédire une classe)
Malgré son nom, c'est un modèle de classification ! Il prédit une probabilité entre 0 et 1.
P(classe=1) = σ(a₁·x₁ + a₂·x₂ + ... + b)
Où σ (sigmoid) transforme le score linéaire en probabilité :
- Score très négatif → P ≈ 0
- Score très positif → P ≈ 1
- Score = 0 → P = 0.5
Exemple : spam ou non-spam
P(spam) = σ(2.5 × nb_liens - 1.2 × longueur_texte + 0.8)
→ Plus il y a de liens, plus c'est probablement du spam.
Points clés
| Aspect | Régression Linéaire | Régression Logistique |
|---|---|---|
| Tâche | Régression (valeur continue) | Classification (probabilité) |
| Sortie | Valeur réelle (-∞, +∞) | Probabilité [0, 1] |
| Fonction | y = aX + b | P = σ(aX + b) |
| Interprétation | Coefficients = impact direct | Coefficients = impact sur log-odds |
Avantages communs : Rapides, interprétables, peu de données suffisent, bon point de départ.
Limitation : Ne capturent que des relations linéaires. Pour des patterns complexes, il faut des arbres ou du deep learning.
Régression Linéaire vs Logistique
Un arbre de décision est une approche complètement différente des modèles linéaires : au lieu d'une équation, il utilise une succession de règles pour découper l'espace des données.
Principe : diviser pour régner
L'arbre segmente l'espace des features via des questions binaires :
- À chaque nœud : une question du type "Feature < seuil ?"
- Les données sont orientées vers la branche gauche ou droite
- Les feuilles contiennent la prédiction finale
En régression : la feuille prédit la moyenne des valeurs cibles des observations qu'elle contient.
En classification : la feuille prédit la classe majoritaire.
Exemple : prédiction du prix immobilier
Appartement à prédire : 95 m², 4 chambres
- Surface < 80 m² ? Non (95 ≥ 80) → branche droite
- Surface < 120 m² ? Oui (95 < 120) → Feuille
- Prédiction : 450k (moyenne des appartements 80-120 m²)
Le chemin suivi est mis en évidence en orange dans le diagramme.
Pourquoi l'arbre est asymétrique ?
Les arbres sont des algorithmes gloutons (greedy) :
- À chaque nœud, ils choisissent la meilleure feature pour réduire l'erreur
- Ce choix dépend uniquement des données qui arrivent à ce nœud
- Il n'y a aucune contrainte de symétrie
> La branche gauche peut utiliser "Chambres" tandis que la droite n'utilise que "Surface" — c'est normal !
Comparaison avec les modèles linéaires
| Aspect | Modèle Linéaire | Arbre de Décision |
|---|---|---|
| Prédiction | Équation : y = aX + b | Constante par région |
| Relations | Linéaires uniquement | Non-linéaires possibles |
| Interprétabilité | Coefficients | Règles if/else |
| Risque principal | Sous-apprentissage | Sur-apprentissage |
Structure d'un arbre de décision
Légende : 🌳 Racine | ❓ Noeud de décision | 🍃 Feuille (prédiction)
Forces et faiblesses
✅ Avantages :
- Très interprétable (règles explicites)
- Capture les non-linéarités
- Pas besoin de normaliser les features
- Gère naturellement les variables catégorielles
⚠️ Inconvénients :
- Tendance à l'overfitting (arbre trop profond)
- Sensible aux petites variations des données
- Frontières de décision "en escalier"
> Solution : Les méthodes d'ensemble (onglet suivant) combinent plusieurs arbres pour réduire ces problèmes.
Les méthodes d'ensemble combinent plusieurs modèles (généralement des arbres) pour obtenir de meilleures performances. Elles résolvent les faiblesses des arbres seuls : l'overfitting et l'instabilité.
Le problème avec un seul arbre
Un arbre de décision seul présente un compromis biais/variance défavorable :
- Arbre peu profond → sous-apprentissage (biais élevé)
- Arbre très profond → sur-apprentissage (variance élevée)
Solution : Combiner plusieurs arbres !
Bagging : réduire la variance (Random Forest)
Le bagging entraîne plusieurs arbres en parallèle sur des échantillons différents :
- Créer N échantillons bootstrap (tirage avec remise)
- Entraîner un arbre sur chaque échantillon
- Agréger les prédictions (moyenne en régression, vote en classification)
Random Forest ajoute une astuce : à chaque nœud, seul un sous-ensemble aléatoire de features est considéré. Cela décorrèle les arbres.
> Résultat : Chaque arbre peut overfitter, mais leurs erreurs se compensent !
Boosting : réduire le biais (Gradient Boosting)
Le boosting entraîne des arbres séquentiellement, chacun corrigeant les erreurs du précédent :
- Entraîner un premier arbre (souvent simple)
- Calculer les résidus (erreurs)
- Entraîner un nouvel arbre sur ces résidus
- Répéter et sommer les prédictions
Implémentations populaires : XGBoost, LightGBM, CatBoost
> Résultat : Le modèle final capture des patterns de plus en plus subtils.
Comparaison
| Aspect | Bagging (Random Forest) | Boosting (Gradient Boosting) |
|---|---|---|
| Entraînement | Parallèle | Séquentiel |
| Objectif | Réduire la variance | Réduire le biais |
| Arbres | Profonds, indépendants | Peu profonds, dépendants |
| Risque | Peu d'overfitting | Overfitting si trop d'itérations |
| Vitesse | Parallélisable | Plus lent |
Bagging vs Boosting
Feature Importance vs SHAP values
| Méthode | Niveau | Principe | Calcul |
|---|---|---|---|
| FeatureImportance | Global | Impact moyen sur la loss | Gain cumulé aux nœuds |
| SHAP values | Local & Global | Contribution marginale exacte | Valeurs de Shapley (coalitions) |
Feature Importance (gain-based)
- À chaque nœud de l'arbre, une feature est choisie pour séparer les données
- Le gain mesure la réduction de la loss obtenue grâce à ce nœud
- L'importance d'une feature = somme des gains de tous les nœuds où elle apparaît
- ⚠️ Biais : favorise les features à haute cardinalité
- ⚠️ Ne tient pas compte des interactions entre features
SHAP values (Shapley-based)
Issues de la théorie des jeux coopératifs :
- Les features = joueurs
- La prédiction = gain
- Répartition équitable du gain
> Avantages : Additivité, prise en compte des interactions, interprétation locale et globale.
Séquence correcte :
- Entraînement du modèle (arbres fixés)
- Calcul des SHAP values
- Aucun réentraînement du modèle
En résumé
| Aspect | Feature Importance | SHAP |
|---|---|---|
| Question posée | "Quel gain aux nœuds ?" | "Quel impact sur la prédiction ?" |
| Méthode | Cumul des réductions de loss | Comparaison avec/sans feature |
| Interactions | ❌ Ignorées | ✅ Prises en compte |
| Niveau | Global uniquement | Local et global |
En production :
- FeatureImportance → monitoring rapide, sélection de features
- SHAP → audit, explicabilité, régulation, debugging de prédictions individuelles
Feature Importance vs SHAP
Régression linéaire
Une droite ajustée par moindres carrés sur des prix immobiliers, et ce que MSE et R² en disent.
Régression logistique
La sigmoïde transforme un score en probabilité ; la matrice de confusion dit ce que coûte le seuil.
Arbre de décision
Des questions oui/non en cascade, choisies pour faire baisser l'impureté, et qui se lisent sans décoder de coefficients.
K-Means Clustering
Sans étiquettes, des centroïdes se déplacent jusqu'à stabilisation, et la méthode du coude tranche le nombre de groupes.
Réseau de neurones from scratch
Forward, perte, rétropropagation et descente de gradient écrits en NumPy pur, sans framework pour cacher le calcul.
Random Forest Regressor
Cent arbres entraînés sur des échantillons et features tirés au sort, dont la moyenne bat un arbre seul.
Gradient Boosting
Chaque arbre apprend l'erreur que les précédents ont laissée, séquentiellement, là où la forêt aléatoire les moyenne.
Support Vector Machine (SVM)
Parmi une infinité de frontières, celle qui maximise la marge ; le kernel trick prend le relais sinon.
Naive Bayes
L'hypothèse d'indépendance des features est fausse presque partout, et pourtant elle classe vite et bien.
K-Nearest Neighbors (KNN)
Aucun entraînement : la classe se décide au vote des k voisins, à condition d'avoir normalisé les échelles.
PCA (analyse en composantes principales)
Dix dimensions ramenées à deux en gardant les directions de variance maximale, et ce que le reste emporte.
DBSCAN
La densité remplace le nombre de groupes à fixer d'avance, et ce qui reste isolé est étiqueté bruit.
Clustering hiérarchique
Les points fusionnent deux à deux jusqu'au dernier ; la hauteur de coupe fixe le nombre de groupes.
CNN (réseaux convolutifs)
Un filtre glisse sur l'image et apprend lui-même ce qu'il faut regarder, couche après couche, jusqu'aux dix classes.
RNN et LSTM
L'état caché porte la mémoire d'un pas au suivant ; trois portes la sauvent du gradient évanescent.
Autoencoders
Ce que le réseau reconstruit mal est ce qu'il n'a jamais vu : la fraude se détecte ainsi.
Inférence bayésienne
Le paramètre cesse d'être un nombre pour devenir une distribution, mise à jour à chaque nouvelle donnée.
Régression linéaire bayésienne
Les coefficients deviennent des distributions, la prédiction une bande d'incertitude, et Ridge se révèle être un prior gaussien.
MCMC et PyMC
Quand le posterior n'a plus de formule, on l'échantillonne : Metropolis-Hastings à la main, puis NUTS et ArviZ.