Blame

e0287e lugonthier 2026-07-02 15:52:15
Add new content and images for machine learning and mathematics modules - Added images for regularization and high-dimensional inference. - Introduced Support Vector Machines (SVM) module with detailed explanations and images. - Created Decision Trees and Ensemble Methods module with comprehensive content and illustrations. - Added a Mathematics overview module and a refresher on mathematical concepts essential for machine learning. - Included SVG diagrams for Bayes' rule and multivariate Gaussian distribution.
1
# 6. Classification linéaire
2
3
La classification prédit une étiquette discrète à partir du même score linéaire $\theta^T x$. Ce module part de l'idée de traiter la classification comme une régression, puis construit les deux classifieurs linéaires classiques : le perceptron, binaire et multiclasse, et la régression logistique, binaire avec la sigmoïde et multiclasse avec la softmax, tous entraînés par descente de gradient sur l'entropie croisée.
4
5
**Objectifs**
6
- Voir pourquoi régresser directement les étiquettes est un mauvais classifieur, et comment une fonction de compression y remédie.
7
- Classer avec le perceptron, binaire et multiclasse, et savoir quand il converge.
8
- Ajuster la régression logistique binaire avec la sigmoïde et l'entropie croisée.
9
- Étendre à plusieurs classes avec la softmax, et relier la sigmoïde et la softmax.
10
- Entraîner ces modèles par descente de gradient.
11
12
## 6.1 La classification comme un problème de régression
13
14
On pourrait ajuster les moindres carrés directement aux étiquettes $y \in \{0, 1\}$, mais la sortie linéaire est non bornée, se laisse tirer par les valeurs aberrantes, et ne se lit pas comme une probabilité. La solution est de garder le score linéaire et de le passer dans une fonction de compression qui l'envoie vers une classe ou une probabilité. Le reste du module présente deux choix de cette fonction.
15
16
## 6.2 Le perceptron
17
18
### 6.2.1 Perceptron binaire
19
20
Le perceptron passe le score dans un échelon dur, si bien que la sortie est une étiquette de classe :
21
22
$$\boxed{ h_\theta(x) = g(\theta^T x), \quad g(z) = \begin{cases} 1 & \text{si } z \ge 0 \\ 0 & \text{sinon} \end{cases} }$$
23
24
Il est entraîné en ligne, corrigeant $\theta$ seulement sur un point mal classé :
25
26
$$\boxed{ \theta_j \leftarrow \theta_j + \alpha\left(y^{(i)} - h_\theta(x^{(i)})\right)x_j^{(i)} }$$
27
28
![Frontière de décision du perceptron](/fr/Machine%20Learning/06%20Linear%20classification/a/perceptron.png)
29
30
*Le perceptron trouve un hyperplan séparateur, pas nécessairement celui de marge maximale que la machine à vecteurs de support choisira.*
31
32
### 6.2.2 Perceptron multiclasse
33
34
Avec $k$ classes, on garde un vecteur de poids $\theta_c$ par classe et on prédit celle au plus fort score. Sur une erreur, on récompense la vraie classe et on pénalise la classe prédite :
35
36
$$\boxed{ \hat{y} = \arg\max_c \theta_c^T x, \qquad \theta_{y} \mathrel{+}= \alpha x, \quad \theta_{\hat{y}} \mathrel{-}= \alpha x }$$
37
38
### 6.2.3 Convergence
39
40
Si les données sont linéairement séparables, le perceptron converge en un nombre fini de mises à jour, sinon les poids oscillent indéfiniment.
41
42
*Remarque :* le perceptron s'arrête au premier hyperplan séparateur, ce qui motive la machine à vecteurs de support (marge la plus large) et, empilé en couches, le réseau de neurones. Un perceptron est une unité unique, et empilé en couches il devient un réseau de neurones, le point de départ du cours de Deep Learning.
43
44
## 6.3 Régression logistique, binaire
45
46
La régression logistique remplace l'échelon dur par la sigmoïde lisse, si bien que la sortie est la probabilité de la classe positive :
47
48
$$\boxed{ \phi = p(y = 1 \mid x; \theta) = g(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}} }$$
49
50
Elle est ajustée en minimisant l'entropie croisée, la log-vraisemblance négative des étiquettes de Bernoulli :
51
52
$$\boxed{ L(\theta) = -\sum_{i=1}^{m}\left[ y^{(i)}\log \phi^{(i)} + (1 - y^{(i)})\log(1 - \phi^{(i)}) \right] }$$
53
54
![Sigmoïde et frontière de décision logistique](/fr/Machine%20Learning/06%20Linear%20classification/a/logistic-regression.png)
55
56
*À gauche : la sigmoïde envoie tout score dans l'intervalle (0, 1). À droite : la frontière de décision et la probabilité prédite.*
57
58
## 6.4 Régression logistique, multiclasse
59
60
Pour $k$ classes, la sigmoïde se généralise en la softmax, un vecteur de poids par classe, normalisé en une distribution :
61
62
$$\boxed{ p(y = c \mid x; \theta) = \frac{\exp(\theta_c^T x)}{\sum_{j=1}^{k}\exp(\theta_j^T x)} }$$
63
64
entraînée par l'entropie croisée catégorielle $L = -\sum_i \log p(y^{(i)} \mid x^{(i)})$.
65
66
| | sigmoïde | softmax |
67
| --- | --- | --- |
68
| classes | 2 | $k$ |
69
| sortie | une probabilité $\phi$ | une distribution sur $k$ classes |
70
| relation | la softmax à $k = 2$ se réduit à la sigmoïde | généralise la sigmoïde |
71
72
## 6.5 Descente de gradient
73
74
Les deux modèles sont ajustés par descente de gradient sur l'entropie croisée. Le gradient prend la même forme épurée que la mise à jour des moindres carrés, le résidu fois l'entrée :
75
76
$$\boxed{ \theta_j \leftarrow \theta_j - \alpha \sum_{i=1}^{m}\left(\phi^{(i)} - y^{(i)}\right)x_j^{(i)} }$$
77
78
*Remarque :* le perceptron, la régression linéaire et la régression logistique partagent une seule mise à jour, le résidu fois l'entrée. Seule l'activation diffère (échelon, identité, sigmoïde ou softmax). Le cours de Deep Learning reprend précisément ce fil, en empilant de telles unités en couches.
79
80
*Les modèles linéaires étant couverts, le module suivant contrôle leur complexité : la régularisation et l'inférence quand les régresseurs sont nombreux.*
81
82
---
83
Suivant : [Régularisation et inférence en grande dimension](/fr/Machine%20Learning/07%20Regularization%20and%20high-dimensional%20inference) · [Vue d'ensemble du cours](/fr/Machine%20Learning)