tadata
Retour à l'accueil

Une Carte des Familles d'Algorithmes ML

#machine-learning#artificial-intelligence#reinforcement-learning#deep-learning#python

Le machine learning va bien au-delà de la classification supervisée. Ce guide couvre chaque grande famille d'algorithmes — de l'apprentissage par renforcement au calcul évolutionnaire — avec les intuitions, les compromis et des indications pratiqués pour savoir quand chacune excelle.

Familles d'Algorithmes en un Coup d'Œil

FamilleSignal d'ApprentissageCas d'Usage Clés
SuperviséExemples étiquetés (X → Y)Classification, régression, prévision
Non superviséPas d'étiquettes — trouver la structuréClustering, réduction de dimension, détection d'anomalies
Auto-superviséPseudo-labels générés depuis les donnéesModèles de langage, pré-entraînement vision
Apprentissage par renforcementRécompenses de l'environnementRobotique, jeux, optimisation de ressources
Évolutionnaire / GénétiqueFonction de fitness + sélectionOptimisation, recherché d'architecture, ordonnancement
Probabiliste / BayésienDistributions a priori + observationsQuantification d'incertitude, peu de données
Méta-apprentissageApprentissage à travers les tâchesFew-shot learning, AutoML

Apprentissage Supervisé

La famille la plus déployée. Vous fournissez des données d'entraînement étiquetées ; le modèle apprend la correspondance.

Algorithmes de classification

AlgorithmeFonctionnementIdéal pour
Régression LogistiqueFrontière de décision linéaire via sigmoïdeClassification binaire, baseline interprétable
Arbres de DécisionDivisions récursives sur les featuresRègles interprétables, importance des variables
Random ForestEnsemble d'arbres décorrélés (bagging)Données tabulaires, robuste au surapprentissage
Gradient Boosting (XGBoost, LightGBM, CatBoost)Arbres séquentiels corrigeant les erreursCompétitions sur données tabulaires, ML en production
SVMMaximiser la marge entre classesDatasets petits à moyens, espaces de haute dimension
k-NNVote majoritaire des plus proches voisinsBaselines simples, recommandation
Naive BayesThéorème de Bayes + indépendance des featuresClassification de texte, filtrage de spam
Réseaux de NeuronesFeatures hiérarchiques apprisesImages, texte, audio, multimodal

Algorithmes de régression

La plupart des algorithmes de classification ont des variantes de régression : Régression Linéaire, Ridge/Lasso, Arbre de Décision Régresseur, Random Forest Régresseur, Gradient Boosting Régresseur, SVR, k-NN Régresseur.

Insight clé : quand utiliser quoi

                    Données tabulaires ?
                    /           \
                 Oui             Non
                  /                \
         < 100K lignes ?     Images/Texte/Audio ?
         /         \              |
       Oui         Non           Oui
       /             \            |
  Régression      XGBoost/     Deep Learning
  Logistique      LightGBM     (CNN, Transformer)
  Random Forest  (performance)
  (interprétable)

Le gradient boosting (XGBoost, LightGBM, CatBoost) domine les données tabulaires. Le deep learning gagné sur les données non structurées. N'utilisez pas de réseaux de neurones sur du tabulaire sans avoir d'abord essayé le boosting.


Apprentissage Non Supervisé

Pas d'étiquettes. L'objectif est de découvrir des structurés, des patterns ou des représentations compressées.

Clustering

Regrouper les points de données similaires.

AlgorithmeFonctionnementForcesFaiblesses
k-MeansAssigner les points au centroïde le plus proche, mettre à jourRapide, scalableDoit spécifier k, supposé des clusters sphériques
DBSCANBasé densité — les clusters sont des régions densesFormes arbitraires, détecte les outliersDifficultés avec des densités variables
HDBSCANDBSCAN hiérarchiquePas besoin de spécifier eps, densités variablesPlus lent sur très grands datasets
Modèles de Mélange GaussienClustering souple via distributions de probabilitéAssignations probabilistes, clusters elliptiquesDoit spécifier k, peut surapprendre
AgglomératifFusion hiérarchique ascendanteVisualisation en dendrogramme, toute métrique de distanceO(n³) mémoire, ne passé pas à l'échelle
Clustering SpectralLaplacien du graphe + k-Means sur les vecteurs propresFormes de clusters complexesCoûteux pour grand n, doit spécifier k
from sklearn.cluster import HDBSCAN
import numpy as np

clusterer = HDBSCAN(min_cluster_size=15, min_samples=5)
labels = clusterer.fit_predict(X)
# labels == -1 signifie bruit/outlier

Réduction de Dimensionnalité

Compresser des données haute dimension en préservant la structuré.

AlgorithmeTypeIdéal pour
PCAProjection linéaireDécorrélation de features, réduction de bruit, rapide
t-SNEEmbedding non linéaireVisualisation 2D/3D de clusters
UMAPEmbedding non linéairePlus rapide que t-SNE, préserve mieux la structuré globale
Auto-encodeursCompression par réseau de neuronesReprésentations apprises, détection d'anomalies
SVD TronquéeLinéaire (données creuses)Données texte (LSA), systèmes de recommandation
ICAComposantes indépendantesSéparation de signaux (ex. EEG, audio)

Détection d'Anomalies

Trouver les points de données qui ne correspondent pas au pattern normal.

AlgorithmeApproche
Isolation ForestPartitionnement aléatoire — les anomalies sont isolées plus vite
Local Outlier FactorComparer la densité locale aux voisins
One-Class SVMApprendre une frontière autour des données normales
Auto-encodeursErreur de reconstruction élevée = anomalie
StatistiqueZ-score, IQR, distance de Mahalanobis

Apprentissage Auto-Supervisé

Le modèle crée ses propres étiquettes à partir des données brutes — aucune annotation manuelle nécessaire. C'est ainsi que les modèles de fondation modernes (LLMs, vision transformers) sont pré-entraînés.

Techniques

TechniqueDomaineFonctionnement
Masked Language ModelingNLPMasquer des tokens, les prédire (BERT)
Prédiction du Token SuivantNLPPrédire le mot suivant (GPT)
Masked Image ModelingVisionMasquer des patches, les reconstruire (MAE)
Apprentissage ContrastifVision/MultiRapprocher les paires similaires, éloigner les différentes (SimCLR, CLIP)
DINO / DINOv2VisionAuto-distillation sans étiquettes
JEPAVisionPrédire des représentations latentes, pas les pixels

Pourquoi c'est important

Pré-entraînement auto-supervisé sur des données massives non étiquetées → fine-tuning sur un petit dataset étiqueté. C'est le paradigme dominant de l'IA moderne : pré-entraîner une fois, fine-tuner pour de nombreuses tâches.


Apprentissage par Renforcement (RL)

Un agent apprend en interagissant avec un environnement, en recevant des récompenses et en ajustant sa politique pour maximiser la récompense cumulative.

Concepts fondamentaux

        ┌───────────────┐
        │  Environnement│
        └───┬───────┬───┘
   état s   │       │  récompense r
            ▼       │
        ┌───────────┴───┐
        │     Agent     │
        │   π(a|s)      │──── action a ────►
        └───────────────┘
TermeSignification
État (s)Observation courante de l'environnement
Action (a)Ce que fait l'agent
Récompense (r)Signal de feedback scalaire
Politique (π)Stratégie : correspondance état → action
Fonction de valeur V(s)Récompense cumulative future attendue depuis l'état s
Fonction Q Q(s,a)Récompense cumulative future attendue en prenant l'action a dans l'état s
ÉpisodeUn parcours complet du début à l'état terminal

Familles d'algorithmes

Méthodes basées sur la valeur

Apprennent Q(s,a) et choisissent l'action avec le Q le plus élevé.

AlgorithmeIdée clé
Q-LearningOff-policy, tabulaire, met à jour Q via l'équation de Bellman
DQN (Deep Q-Network)Q-Learning avec approximation par réseau de neurones, expérience replay
Double DQNCorrige le biais de surestimation du DQN
Dueling DQNSépare les flux de valeur et d'avantage
RainbowCombine 6 améliorations du DQN en un seul agent

Méthodes basées sur la politique

Apprennent la politique π(a|s) directement.

AlgorithmeIdée clé
REINFORCEGradient de politique Monte Carlo — simple mais haute variance
PPO (Proximal Policy Optimization)Objectif clippé empêchant les mises à jour destructrices. Le cheval de bataille du RL moderne
TRPOContrainte de région de confiance sur les mises à jour de politique
A2C / A3CActeur (politique) + Critique (valeur) — réduit la variance
SAC (Soft Actor-Critic)RL à entropie maximale — encourage l'exploration

Méthodes basées sur un modèle

Apprennent un modèle de l'environnement et planifient dedans.

AlgorithmeIdée clé
Dyna-QAlterner entre expérience réelle et expérience simulée
MuZeroModèle du monde appris — a maîtrisé les Échecs, le Go, Atari sans connaître les règles
Dreamer (v3)Apprendre un modèle du monde en espace latent, imaginer des trajectoires
MBPOOptimisation de politique basée sur un modèle avec rollouts courts

Applications du RL

DomaineExemple
JeuxAlphaGo, OpenAI Five (Dota 2), AlphaStar (StarCraft)
RobotiqueManipulation dextre, locomotion, contrôle de drones
Alignement des LLMsRLHF — fine-tuning des modèles de langage avec les préférences humaines
Gestion de ressourcesRefroidissement de datacenters (DeepMind), routage réseau
FinanceOptimisation de portefeuille, exécution d'ordres
Véhicules autonomesPrise de décision dans un trafic complexe

Démarrer avec le RL

import gymnasium as gym

# Problème de contrôle classique
env = gym.make("CartPole-v1")
obs, info = env.reset()

for _ in range(1000):
    action = env.action_space.sample()  # politique aléatoire
    obs, reward, terminated, truncated, info = env.step(action)
    if terminated or truncated:
        obs, info = env.reset()

Bibliothèques clés : Gymnasium (environnements), Stable-Baselines3 (algorithmes), CleanRL (implémentations mono-fichier), RLlib (RL distribué scalable), TorchRL (natif PyTorch).


Algorithmes Évolutionnaires & Génétiques

Inspirés de l'évolution biologique : population → évaluation du fitness → sélection → croisement → mutation → répéter.

Concepts fondamentaux

Génération 0 :  [A] [B] [C] [D] [E]     ← population aléatoire
                 ↓ évaluer le fitness
Fitness :        7   3   9   5   8
                 ↓ sélection (les plus aptes survivent)
Parents :       [A] [C] [E]
                 ↓ croisement + mutation
Génération 1 :  [AC'] [CE'] [CA'] [EA'] [EC']
                 ↓ répéter...

Variantes d'algorithmes

AlgorithmeParticularité
Algorithme Génétique (AG)Encodage binaire/discret, croisement + mutation
Programmation Génétique (PG)Fait évoluer des programmés/arbres plutôt que des vecteurs de taille fixé
Stratégies d'Évolution (ES)Paramètres continus, perturbations gaussiennes, pas de croisement
CMA-ESAdaptation de la Matrice de Covariance — adapté la distribution de recherche. Référence pour l'optimisation continue
NEATNeuroévolution — fait évoluer la topologie et les poids des réseaux de neurones
Évolution Différentielle (DE)Mutation via différences vectorielles entre membres de la population
Optimisation par Essaim Particulaire (PSO)Intelligence en essaim — les particules suivent le meilleur personnel et global
Optimisation par Colonies de FourmisOptimisation de chemin basée sur les phéromones (problèmes combinatoires)

Quand l'évolutionnaire bat la descente de gradient

  • Objectifs non différentiables — structurés discrètes, problèmes combinatoires
  • Paysages multimodaux — nombreux optima locaux où les méthodes de gradient se bloquent
  • Recherche d'architecture — faire évoluer les structurés de réseaux de neurones (NAS)
  • IA de jeux — faire évoluer des stratégies pour les PNJ
  • Ordonnancement/routage — job shop, tournées de véhicules, emplois du temps
  • Conception matérielle — optimisation de circuits, conception d'antennes

Exemple pratiqué : CMA-ES

import cma

# Minimiser une fonction avec CMA-ES
def objective(x):
    return sum((xi - 3)**2 for xi in x)  # minimum en [3, 3, 3, ...]

es = cma.CMAÉvolutionStrategy([0] * 10, 0.5)  # 10 dim, sigma initial=0.5
es.optimize(objective)
print(es.result.xbest)  # → proche de [3, 3, 3, ...]

Bibliothèques clés

BibliothèqueLangageFocus
DEAPPythonCalcul évolutionnaire généraliste
PyGADPythonAlgorithmes génétiques, API simple
pycmaPythonImplémentation de référence CMA-ES
OptunaPythonOptimisation d'hyperparamètres (inclut des samplers évolutionnaires)
ECJJavaFramework de calcul évolutionnaire mature
NevergradPythonOptimisation sans gradient (Meta)

Méthodes Probabilistes & Bayésiennes

Modélisent l'incertitude explicitement en utilisant des distributions de probabilité.

Approches principales

MéthodeCe qu'elle fait
Régression Linéaire BayésienneRégression linéaire avec distributions postérieures sur les poids
Processus Gaussiens (GP)Non paramétrique — définit une distribution sur les fonctions. Parfait pour peu de données avec incertitude
Réseaux de Neurones BayésiensRéseaux de neurones avec distributions sur les poids — quantifie l'incertitude de prédiction
Inférence VariationnelleApproximer les postérieures intractables avec des distributions plus simples
MCMC (Monte Carlo par chaînes de Markov)Échantillonner depuis la postérieure — Metropolis-Hastings, MC Hamiltonien, NUTS
Optimisation BayésienneUtiliser un surrogate GP pour optimiser des fonctions boîte noire coûteuses
Modèles de Markov CachésDonnées séquentielles avec états cachés — parole, génomique
Programmation ProbabilisteÉcrire des modèles comme des programmés, laisser le framework faire l'inférence

Optimisation Bayésienne pour les hyperparamètres

from skopt import gp_minimize

def train_and_evaluate(params):
    learning_rate, n_estimators = params
    # Entraîner le modèle, retourner l'erreur de validation
    model = XGBClassifier(learning_rate=learning_rate,
                          n_estimators=int(n_estimators))
    model.fit(X_train, y_train)
    return -accuracy_score(y_val, model.predict(X_val))

result = gp_minimize(
    train_and_evaluate,
    [(1e-4, 1.0, "log-uniform"),  # learning_rate
     (50, 500)],                   # n_estimators
    n_calls=50
)

Bibliothèques clés

BibliothèqueFocus
PyMCProgrammation probabiliste, MCMC/VI
Stan / CmdStanPyMCMC haute performance (sampler NUTS)
NumPyroProgrammation probabiliste basée sur JAX
GPyTorchProcessus Gaussiens scalables sur GPU
BoTorchOptimisation Bayésienne (construit sur GPyTorch)
scikit-optimizeOptimisation séquentielle basée sur un modèle

Méta-Apprentissage (« Apprendre à Apprendre »)

Algorithmes qui améliorent leur capacité d'apprentissage à travers les tâches.

ApprocheFonctionnementExemple
MAML (Model-Agnostic Meta-Learning)Apprendre des poids d'initialisation qui s'adaptent en quelques étapes de gradientClassification d'images few-shot
Prototypical NetworksClassifier par distance aux prototypes de classe dans l'espace d'embeddingFew-shot learning
Matching NetworksComparaison basée sur l'attention avec le support setOne-shot learning
Neural Architecture Search (NAS)Rechercher l'architecture réseau optimaleEfficientNet, DARTS
Optimiseurs ApprisMéta-apprendre l'optimiseur lui-mêmeL2L, VeLO
Apprentissage en ContexteLes grands modèles apprennent à partir d'exemples dans le promptGPT-4, Claude

Approches Hybrides & Émergentes

IA Neuro-symbolique

Combiner les réseaux de neurones (reconnaissance de patterns) avec le raisonnement symbolique (logique, règles).

  • Démonstration Automatique de Théorèmes Neurale — utiliser des réseaux de neurones pour guider la recherche de preuves
  • Programmation Différentiable avec Logique — DeepProbLog, Scallop
  • LLM + Graphes de Connaissances — ancrer les sorties des modèles de langage dans des connaissances structurées

Réseaux de Neurones sur Graphes (GNN)

Apprendre directement sur des données structurées en graphes.

VarianteMécanisme
GCNAgréger les features des voisins (spectral)
GraphSAGEÉchantillonner et agréger (inductif, passé à l'échelle)
GATAgrégation des voisins pondérée par attention
GINMaximalement expressif sous le test d'isomorphisme WL

Applications : prédiction de propriétés moléculaires, analyse de réseaux sociaux, détection de fraude, systèmes de recommandation.

Modèles de Diffusion

Apprennent à débruiter les données — le socle de l'IA générative moderne.

  1. Processus direct : Ajouter progressivement du bruit aux données
  2. Processus inverse : Un réseau de neurones apprend à retirer le bruit étape par étape
  3. Génération : Partir de bruit pur, débruiter itérativement

Utilisés dans : Stable Diffusion, DALL-E 3, Sora (vidéo), génération de structurés protéiques.


Choisir la Bonne Famille

Votre situationCommencez ici
Données tabulaires étiquetéesGradient Boosting (XGBoost/LightGBM)
Images/texte/audio étiquetésFine-tuner un modèle pré-entraîné (transfer learning)
Pas d'étiquettes, trouver des groupesHDBSCAN ou Modèles de Mélange Gaussien
Pas d'étiquettes, réduire les dimensionsUMAP pour la visualisation, PCA pour le prétraitement
Décisions séquentielles avec récompensesPPO (RL basé politique)
Optimiser un objectif non différentiableCMA-ES ou Algorithme Génétique
Peu de données, besoin d'incertitudeProcessus Gaussiens ou méthodes Bayésiennes
Très peu d'exemples étiquetésMéta-apprentissage (Prototypical Networks) ou apprentissage en contexte
Générer des images/texte/audioModèles de diffusion, Transformers
Données structurées en grapheGNN (GraphSAGE, GAT)

Ressources

:::

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.