Qu’est-ce qu’un modèle?¶
Le mot modèle est omniprésent en apprentissage machine, mais sa signification précise est rarement explicitée. Un modèle est une représentation simplifiée d’un phénomène — une abstraction qui capture certains aspects de la réalité tout en en ignorant d’autres. Cette idée n’est pas propre à l’informatique: les physiciens utilisent des modèles (la mécanique newtonienne ignore les effets relativistes), les économistes aussi (l’homo economicus ignore l’irrationalité humaine), et les statisticiens depuis toujours.
En apprentissage machine, un modèle est typiquement une fonction paramétrée qui associe des entrées à des sorties . Les paramètres déterminent le comportement de cette fonction. Apprendre, c’est trouver les valeurs de qui font que se comporte de façon utile — par exemple, qu’elle prédise correctement des étiquettes sur de nouvelles données.
Prenons un exemple concret. Supposons qu’on veuille prédire le prix d’une maison à partir de sa superficie. Un modèle linéaire simple serait:
où est la superficie, est l’ordonnée à l’origine, et est la pente. Ce modèle fait une hypothèse forte: la relation entre superficie et prix est linéaire. Cette hypothèse est probablement fausse — les très grandes maisons ne suivent pas la même dynamique que les petites — mais elle peut être utile si elle capture l’essentiel de la variation pour les maisons qui nous intéressent.
C’est là une tension fondamentale: un modèle trop simple ignore des régularités importantes (sous-apprentissage), mais un modèle trop complexe risque de capturer du bruit plutôt que du signal (surapprentissage). Tout le livre tourne autour de cette tension.
Modèle vs algorithme d’apprentissage¶
Il est important de distinguer le modèle (la famille de fonctions ) de l’algorithme d’apprentissage (la procédure qui, étant donné des données, choisit un particulier). Le même modèle peut être entraîné par différents algorithmes; le même algorithme peut être appliqué à différents modèles.
Par exemple, pour un modèle linéaire:
L’algorithme des moindres carrés trouve le qui minimise la somme des erreurs au carré
La descente de gradient trouve (approximativement) le même par itérations successives
L’inférence bayésienne produit une distribution sur les possibles plutôt qu’un point unique
Ces algorithmes ont des propriétés différentes (rapidité, stabilité, interprétabilité), mais ils opèrent tous sur le même espace de modèles.
Pourquoi apprendre l’apprentissage machine à l’ère des LLMs?¶
Aujourd’hui, un assistant de programmation peut écrire un pipeline d’apprentissage machine complet en quelques secondes. Il peut charger des données, définir un modèle, l’entraîner, afficher des courbes d’apprentissage, et rapporter des métriques de performance. Pourquoi, alors, passer un semestre à étudier les fondements théoriques et algorithmiques de l’AM?
La réponse courte: parce que les LLMs sont eux-mêmes des systèmes d’apprentissage machine, et ils utilisent constamment l’AM comme sous-routine.
Les LLMs sont construits sur ces fondements¶
Un grand modèle de langage comme GPT ou Claude est, fondamentalement:
Une architecture de réseau de neurones (le transformer, couvert au chapitre sur les réseaux récurrents et l’attention)
Entraînée par descente de gradient stochastique sur une fonction de perte (la cross-entropie sur la prédiction du prochain token)
Avec des techniques de régularisation pour éviter le surapprentissage (dropout, weight decay)
Et des considérations de généralisation pour que le modèle fonctionne sur des textes jamais vus
Comprendre les LLMs, c’est comprendre l’AM. Un praticien qui ne connaît pas la descente de gradient ne peut pas diagnostiquer pourquoi un fine-tuning diverge. Un praticien qui ne comprend pas le surapprentissage ne saura pas interpréter les courbes de validation. Un praticien qui ignore la notion de distribution des données ne comprendra pas les échecs de généralisation hors domaine.
Les LLMs utilisent l’AM comme sous-routine¶
Quand vous demandez à un assistant de programmation d’analyser des données ou de construire un modèle prédictif, il génère du code qui appelle des algorithmes d’AM classiques: régression logistique, forêts aléatoires, réseaux de neurones, validation croisée. Le LLM ne fait pas l’apprentissage — il écrit du code qui le fait.
Et ce code peut être faux.
Un LLM peut écrire un pipeline où:
Les données de test sont utilisées pour choisir les hyperparamètres (fuite d’information)
Les caractéristiques incluent des variables qui ne seront pas disponibles en production (variables privilégiées)
Le modèle mémorise les exemples d’entraînement plutôt que d’apprendre des régularités (surapprentissage)
La métrique optimisée ne correspond pas à l’objectif métier réel (erreur de spécification)
Dans tous ces cas, les métriques rapportées par le pipeline seront excellentes, mais le modèle échouera en déploiement. Savoir détecter ces erreurs requiert une compréhension des fondements.
La compétence centrale: auditer un pipeline¶
À l’ère où le code s’écrit facilement, la compétence rare n’est plus d’écrire du code — c’est de savoir si le code fait ce qu’il prétend faire. Un praticien compétent doit pouvoir:
Lire un pipeline d’AM et identifier sa structure (quel modèle? quelle perte? quel algorithme d’optimisation?)
Évaluer si le protocole expérimental est valide (les données de test sont-elles vraiment indépendantes? la métrique est-elle pertinente?)
Diagnostiquer les modes d’échec (surapprentissage? sous-apprentissage? fuite d’information?)
Corriger en utilisant les bons outils (régularisation, validation croisée, augmentation de données)
Ce livre vise à développer ces compétences. Chaque chapitre introduit des concepts qui permettent de poser des questions précises sur un système d’apprentissage: Quelle est la classe d’hypothèses? Quel est le risque que nous minimisons? Comment savons-nous que le modèle généralisera?
Types d’apprentissage¶
Les problèmes d’apprentissage machine se divisent en plusieurs catégories selon la nature des données disponibles et l’objectif visé.
Apprentissage supervisé¶
Dans l’apprentissage supervisé, nous disposons de paires d’entrées et de sorties: un ensemble où chaque est une entrée et est la sortie correspondante (l’étiquette ou la cible). L’objectif est d’apprendre une fonction telle que pour de nouvelles paires jamais vues.
Selon la nature de la sortie:
Classification: (un nombre fini de classes). Exemple: déterminer si un courriel est un spam.
Régression: (une valeur continue). Exemple: prédire le prix d’une maison.
Apprentissage non supervisé¶
Dans l’apprentissage non supervisé, nous n’avons que des entrées sans étiquettes associées. L’objectif est de découvrir une structure cachée dans les données:
Partitionnement (clustering): regrouper les données en clusters similaires
Réduction de dimensionnalité: trouver une représentation compacte des données
Estimation de densité: modéliser la distribution des données
Apprentissage par renforcement¶
Dans l’apprentissage par renforcement, un agent interagit avec un environnement et apprend à prendre des actions qui maximisent une récompense cumulative. Ce paradigme s’applique aux jeux (AlphaGo), à la robotique, et aux systèmes de recommandation. Ce livre ne couvre pas l’apprentissage par renforcement en détail.
Prérequis et ressources¶
Ce livre suppose une familiarité avec:
Algèbre linéaire: vecteurs, matrices, produits, valeurs propres
Probabilités: distributions, espérance, variance, théorème de Bayes
Calcul différentiel: dérivées, gradients, règle de la chaîne
Programmation: Python, NumPy, matplotlib
Les annexes fournissent des révisions de ce matériel.
Ouvrages de référence¶
Murphy, K. Probabilistic Machine Learning: An Introduction (2022)
Hastie, Tibshirani, Friedman. The Elements of Statistical Learning (2009)
Bishop, C. Pattern Recognition and Machine Learning (2006)
Goodfellow, Bengio, Courville. Deep Learning (2016)
Notation¶
| Symbole | Signification |
|---|---|
| Scalaire, vecteur | |
| Matrice | |
| Paramètres du modèle | |
| Ensemble de données | |
| Classe d’hypothèses | |
| Fonction de perte | |
| Risque (vrai) | |
| Risque empirique | |
| Espérance | |
| Probabilité | |
| Indicatrice de l’événement |