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 Regression |
| 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 noeud : 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 noeud, ils choisissent la meilleure feature pour réduire l'erreur
- Ce choix dépend uniquement des données qui arrivent à ce noeud
- 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 noeud, 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 noeuds |
| SHAP values | Local & Global | Contribution marginale exacte | Valeurs de Shapley (coalitions) |
Feature Importance (gain-based)
- À chaque noeud 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 noeud
- L'importance d'une feature = somme des gains de tous les noeuds 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 noeuds ?" | "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
Regression Lineaire
Apprenez les fondamentaux de la regression lineaire pour predire des valeurs continues a partir de variables explicatives.
Regression Logistique
Decouvrez la classification binaire avec la regression logistique, un algorithme fondamental du machine learning.
Arbre de Decision
Decouvrez les arbres de decision, un algorithme intuitif et interpretable pour la classification et la regression.
K-Means Clustering
Apprenez a regrouper des donnees automatiquement avec l'algorithme K-Means, une technique fondamentale d'apprentissage non supervise.
Reseau de Neurones from Scratch
Implementez un reseau de neurones de A a Z avec NumPy. Comprenez chaque etape: forward pass, fonctions d'activation, backpropagation et descente de gradient.
Random Forest Regressor
Maitrisez les forets aleatoires pour la regression, un algorithme d'ensemble puissant combinant plusieurs arbres de decision.
Gradient Boosting
Decouvrez le Gradient Boosting, une technique d'ensemble qui construit des modeles sequentiellement pour corriger les erreurs des precedents.
Support Vector Machine (SVM)
Maitrisez les SVM, un algorithme puissant pour la classification qui trouve la frontiere optimale entre les classes.
Naive Bayes
Apprenez Naive Bayes, un algorithme de classification probabiliste simple, rapide et etonnamment efficace.
K-Nearest Neighbors (KNN)
Decouvrez KNN, un algorithme intuitif qui classe les points selon leurs k plus proches voisins.
PCA (Analyse en Composantes Principales)
Maitrisez la PCA pour reduire la dimensionnalite de vos donnees tout en preservant l'information essentielle.
DBSCAN
Maitrisez DBSCAN, un algorithme de clustering base sur la densite qui detecte automatiquement les anomalies.
Clustering Hierarchique
Decouvrez le clustering hierarchique et les dendrogrammes pour comprendre la structure de vos donnees a differents niveaux.
CNN (Reseaux Convolutifs)
Decouvrez les reseaux de neurones convolutifs, l'architecture de reference pour la classification d'images.
RNN et LSTM
Maitrisez les reseaux recurrents et LSTM pour traiter des donnees sequentielles comme les series temporelles.
Autoencoders
Decouvrez les autoencoders pour la compression de donnees, la reduction de dimensionnalite et la detection d'anomalies.