1. Introduction

Le machine learning construit des modèles qui apprennent des motifs à partir de données, au lieu d'être programmés explicitement avec des règles. Ce module fixe la notation utilisée tout au long du cours et cartographie l'éventail des problèmes et des modèles, afin que les modules suivants restent concis et centrés sur les formules.

Objectifs

  • Distinguer apprentissage supervisé, non supervisé et par renforcement selon leur signal de retour.
  • Situer les étapes d'un projet de machine learning et ses boucles de rétroaction.
  • Fixer la notation utilisée dans tout le cours.
  • Définir l'ensemble d'entraînement, l'hypothèse et la matrice de conception.
  • Adopter la convention d'ordonnée à l'origine \(x_0 = 1\).
  • Classer un problème supervisé selon le type de sa sortie.
  • Distinguer les modèles discriminatifs des modèles génératifs.

1.1 Types d'apprentissage

Les problèmes de machine learning se rangent d'ordinaire en trois paradigmes. Ce qui les sépare n'est pas l'algorithme mais le retour disponible pendant l'entraînement : une étiquette pour chaque exemple, aucune étiquette, ou une récompense obtenue en interagissant.

Les trois types d'apprentissage

L'apprentissage supervisé ajuste une correspondance à partir d'exemples étiquetés, l'apprentissage non supervisé trouve une structure dans des données non étiquetées, et l'apprentissage par renforcement améliore une politique en interagissant avec un environnement.

Apprentissage supervisé. Chaque exemple d'entraînement associe une entrée \(x\) à la réponse \(y\) que le modèle doit produire, et le but est une correspondance \(x \mapsto y\) qui généralise à des entrées jamais vues à l'entraînement. Prédire le prix d'une maison à partir de ses caractéristiques (régression) et décider si un courriel est un spam (classification) sont les tâches canoniques. Les étiquettes rendent l'objectif explicite et le progrès mesurable, ce qui explique que la théorie soit la plus développée ici. Presque tout ce cours se place dans ce cadre.

Apprentissage non supervisé. Seules les entrées \(x\) sont disponibles, et aucune étiquette ne dit quelle est la bonne réponse. Le but passe de la prédiction à la description : regrouper des clients similaires en segments (clustering), compresser de nombreuses caractéristiques corrélées en quelques directions informatives (réduction de dimension), ou estimer quelles régions de l'espace d'entrée sont probables (estimation de densité). Le succès est plus difficile à quantifier, faute de vérité terrain à laquelle se comparer.

Apprentissage par renforcement. Il n'y a pas de jeu de données fixe. Un agent choisit une action, l'environnement renvoie un nouvel état et une récompense, et cette récompense peut arriver longtemps après l'action qui l'a produite. Le but est une politique, une règle de choix des actions qui maximise la récompense cumulée. Le jeu et la robotique en sont les exemples typiques. C'est un domaine à part entière, hors du périmètre de ce cours.

Paradigme Données Signal de retour Ce qui est appris Tâches canoniques
Supervisé paires \((x, y)\) l'étiquette \(y\) une correspondance \(h : x \mapsto y\) régression, classification
Non supervisé entrées \(x\) seules aucun une structure dans les données clustering, réduction de dimension
Par renforcement interaction récompense, souvent différée une politique d'action contrôle, jeu

Remarque : les frontières ne sont pas rigides. L'apprentissage semi-supervisé mélange quelques exemples étiquetés à beaucoup d'exemples non étiquetés, et l'apprentissage auto-supervisé fabrique des étiquettes à partir des données elles-mêmes, par exemple en masquant un mot pour le prédire. Les deux réutilisent la machinerie supervisée introduite dans ce cours.

1.2 Le déroulé

Un projet de machine learning n'est pas une ligne droite des données au modèle. Il fonctionne en boucle : chaque évaluation révèle quelque chose qui renvoie le travail à une étape antérieure, et une fois déployé, le modèle affronte de nouvelles données qui finissent par relancer le cycle.

Le déroulé d'un projet de machine learning

Le chemin plein est l'ordre nominal. Les flèches en pointillé sont là où les vrais projets passent le plus clair de leur temps : retravailler caractéristiques et modèles après l'évaluation, et réentraîner après la surveillance.

  1. Définir le problème et rassembler les données. Traduire la question en tâche de prédiction en fixant l'entrée \(x\), la cible \(y\) et la métrique qui compte comme succès. Les choix faits ici bornent tout ce qui suit, car aucun modèle ne peut retrouver une information absente des données.
  2. Explorer et préparer les données. Inspecter les distributions, les valeurs manquantes et les valeurs aberrantes, puis nettoyer, encoder et mettre à l'échelle les caractéristiques. Mettre de côté un ensemble de test avant tout réglage, pour que l'estimation finale des performances reste honnête.
  3. Entraîner des modèles candidats. Commencer par une base de référence simple, puis ajuster des familles plus riches en minimisant une perte sur les paramètres \(\theta\) (Concepts généraux).
  4. Les évaluer et les comparer. Mesurer chaque candidat sur des données jamais vues, avec la validation et la validation croisée (Concepts généraux) et une métrique adaptée au problème. Le verdict renvoie le plus souvent à l'étape 2 ou 3 : de meilleures caractéristiques, une autre famille de modèles, ou plus de données.
  5. Déployer et surveiller. En production les données entrantes dérivent de la distribution d'entraînement, il faut donc surveiller les performances et planifier le réentraînement. Cette discipline a son propre cours : MLOps.

Remarque : en pratique l'essentiel de l'effort va aux étapes 1, 2 et 4. L'entraînement lui-même est souvent l'étape la moins coûteuse, et le plafond de qualité d'un modèle est fixé par les données.

1.3 Notation et mise en place

1.3.1 Ensemble d'entraînement

L'ensemble d'entraînement est défini comme une collection de \(m\) exemples étiquetés :

\[\boxed{ \{(x^{(i)}, y^{(i)})\}_{i=1}^{m} }\]

Symboles :

  • \(x^{(i)}\) est l'entrée (vecteur de caractéristiques) du \(i\)-ème exemple.
  • \(y^{(i)}\) est sa cible (étiquette).
  • \(m\) est le nombre d'exemples d'entraînement.
  • \(n\) est le nombre de caractéristiques.
  • \(x_j^{(i)}\) est la \(j\)-ème caractéristique du \(i\)-ème exemple.

Remarque : l'exposant \((i)\) indexe l'exemple et l'indice \(j\) indexe la caractéristique, donc \(x_j^{(i)}\) est la caractéristique \(j\) de l'exemple \(i\).

Par convention l'entrée est augmentée d'un terme d'ordonnée à l'origine constant \(x_0 = 1\), donc \(x \in \mathbb{R}^{n+1}\) et les paramètres sont \(\theta \in \mathbb{R}^{n+1}\).

\[\boxed{ x_0 = 1, \quad x \in \mathbb{R}^{n+1}, \quad \theta \in \mathbb{R}^{n+1} }\]

Remarque : l'ordonnée à l'origine permet à un seul produit scalaire \(\theta^T x\) de porter le terme de biais, de sorte qu'aucune constante séparée n'a besoin d'être écrite.

1.3.2 Hypothèse

Une hypothèse est définie comme une fonction choisie dans une famille de modèles qui associe une entrée à une prédiction :

\[\boxed{ h_\theta : x \mapsto h_\theta(x) }\]

L'apprentissage est la recherche, sur les paramètres \(\theta\), de l'hypothèse qui s'ajuste le mieux à l'ensemble d'entraînement.

1.3.3 Matrice de conception

La matrice de conception empile les \(m\) entrées transposées ligne par ligne, et le vecteur cible rassemble les étiquettes :

\[\boxed{ X = \begin{bmatrix} (x^{(1)})^{T} \\ \vdots \\ (x^{(m)})^{T} \end{bmatrix}, \quad y = \begin{bmatrix} y^{(1)} \\ \vdots \\ y^{(m)} \end{bmatrix} }\]

Ici \(X \in \mathbb{R}^{m \times (n+1)}\) (chaque entrée augmentée est une ligne) et \(y \in \mathbb{R}^{m}\).

Remarque : avec cette disposition de nombreux modèles se réduisent à des expressions matricielles compactes, par exemple une prédiction linéaire sur tous les exemples vaut \(X\theta\).

1.4 Types de problèmes et de modèles

1.4.1 Type de prédiction

Un problème supervisé est nommé selon la nature de sa cible \(y\).

Type Cible Objectif
Régression \(y \in \mathbb{R}\) prédire une valeur continue
Classification \(y \in \{1, \dots, k\}\) prédire l'une des \(k\) classes discrètes

Remarque : la classification binaire est le cas \(k = 2\), souvent codé \(y \in \{0, 1\}\) ou \(y \in \{-1, +1\}\).

Régression et classification

À gauche : la régression ajuste une sortie continue. À droite : la classification sépare l'espace en classes.

1.4.2 Type de modèle

Un modèle est discriminatif s'il apprend directement la conditionnelle \(p(y \mid x)\), et génératif s'il modélise la façon dont les données sont générées, \(p(x \mid y)\) et \(p(y)\), puis inverse via la règle de Bayes :

\[\boxed{ p(y \mid x) = \frac{p(x \mid y)\, p(y)}{p(x)} }\]
Aspect Discriminatif Génératif
Objectif modéliser la frontière entre classes modéliser comment chaque classe génère les données
Ce qui est appris \(p(y \mid x)\) directement \(p(x \mid y)\) et \(p(y)\), puis Bayes
Exemples régression logistique, SVM analyse discriminante gaussienne, Bayes naïf

Remarque : \(p(x)\) est identique pour toutes les classes, donc en classification on peut l'ignorer et retenir la classe la plus probable via \(\arg\max_y\, p(x \mid y)\, p(y)\).

1.4.3 Mise en relation

Le type de sortie fixe régression vs classification, et le choix de modélisation fixe discriminatif vs génératif. Ensemble ils sélectionnent une famille de modèles.

graph TD
  A["probleme supervise"] --> B{"type de sortie ?"}
  B -->|"continue"| C["regression"]
  B -->|"discrete"| D["classification"]
  D --> E{"type de modele ?"}
  E -->|"discriminatif"| F["regression logistique, SVM"]
  E -->|"generatif"| G["ADG, Bayes naif"]

Le problème étant posé et la notation fixée, la partie suivante aborde ce que l'apprentissage exige vraiment : minimiser une perte est facile, généraliser au-delà de l'ensemble d'entraînement est le défi.


Suivant : Concepts généraux · Vue d'ensemble du cours