Skip to article frontmatterSkip to article content

Cours sur l’Apprentissage Supervisé : De la Régression Linéaire aux SVMs

Introduction à l’Apprentissage Supervisé

L’apprentissage supervisé est une branche de l’intelligence artificielle et de l’apprentissage automatique où l’on cherche à construire un modèle prédictif à partir de données d’entraînement. Chaque point de données dans l’ensemble d’entraînement est une paire constituée d’un objet en entrée (généralement un vecteur de caractéristiques, ou features) et d’une valeur de sortie désirée.

L’objectif de l’algorithme d’apprentissage supervisé est d’apprendre une fonction de mappage qui peut prédire la valeur de sortie pour de nouvelles données invisibles. On distingue principalement deux types de problèmes en apprentissage supervisé :

Ce cours explorera ces deux facettes, en commençant par la régression linéaire, puis en se concentrant sur les classifieurs linéaires comme le Perceptron et les Machines à Vecteurs de Support (SVM).

Partie I : Régression

Régression Linéaire

La régression linéaire est l’une des techniques les plus simples et les plus fondamentales en apprentissage supervisé. L’objectif est de modéliser une relation linéaire entre une variable de sortie (dépendante) et une ou plusieurs variables d’entrée (indépendantes). Le modèle cherche à trouver une ligne (ou un hyperplan dans des dimensions supérieures) qui s’ajuste au mieux aux données.

Optimisation avec la Descente de Gradient

Pour trouver la "meilleure" ligne, nous devons minimiser une fonction de coût (ou de perte), qui mesure à quel point les prédictions du modèle sont erronées. Une fonction de coût courante est l’erreur quadratique moyenne. La descente de gradient est un algorithme d’optimisation itératif utilisé pour trouver le minimum de cette fonction.

L’idée est de mettre à jour les paramètres du modèle (notés par le vecteur θ\vec{\theta}) dans la direction opposée au gradient de la fonction de coût J(θ,X)J(\theta, X). La formule de mise à jour est :

θθηθJ(θ,X)\vec{\theta} \leftarrow \vec{\theta} - \eta \nabla_{\vec{\theta}} J(\theta, X)

où :

L’Impact du Taux d’Apprentissage (η\eta)

Le choix de η\eta est crucial pour la convergence de l’algorithme.

Illustration de l’effet du taux d’apprentissage (\eta) sur la convergence de la régression linéaire. À gauche (\eta=0.02), la convergence est lente. Au centre (\eta=0.1), la convergence est bonne. À droite (\eta=0.5), l’algorithme dépasse la solution optimale.

Figure 1:Illustration de l’effet du taux d’apprentissage (η\eta) sur la convergence de la régression linéaire. À gauche (η=0.02\eta=0.02), la convergence est lente. Au centre (η=0.1\eta=0.1), la convergence est bonne. À droite (η=0.5\eta=0.5), l’algorithme dépasse la solution optimale.

Partie II : Classifieurs Linéaires

Nous passons maintenant de la prédiction de valeurs continues (régression) à la prédiction d’étiquettes discrètes (classification). Un classifieur linéaire atteint cet objectif en trouvant une ligne ou un hyperplan qui sépare les différentes classes dans l’espace des caractéristiques.

Une Approche Intuitive : Classer des Espèces de Poissons

Imaginons que nous ayons un ensemble de données sur deux espèces de poissons, où chaque poisson est décrit par deux caractéristiques : sa longueur et sa clarté. L’objectif est de trouver une règle pour les distinguer. Un classifieur linéaire chercherait une ligne droite qui sépare les deux nuages de points.

Un nuage de points montrant deux classes (espèces de poissons) basées sur la longueur et la clarté. Un classifieur linéaire vise à trouver une "séparatrice" linéaire comme la ligne noire.

Figure 2:Un nuage de points montrant deux classes (espèces de poissons) basées sur la longueur et la clarté. Un classifieur linéaire vise à trouver une "séparatrice" linéaire comme la ligne noire.

La question fondamentale est : Comment trouver cette séparatrice ?

Le Perceptron

Contexte Historique et Concept de Base

Le Perceptron, inventé par Frank Rosenblatt en 1957, est l’un des plus anciens et des plus simples algorithmes de classification binaire. C’est le précurseur des réseaux de neurones modernes.

L’idée globale est remarquablement simple :

  1. Démarrage aléatoire : On commence avec une ligne (hyperplan) de séparation placée aléatoirement.

  2. Mises à jour correctives : On parcourt les points de données un par un. Si un point est mal classé, on ajuste la ligne de séparation pour qu’elle se rapproche de la classification correcte pour ce point.

Formalisation du Classifieur Linéaire

Formalisons ce processus :

Intuitions derrière le Processus d’Apprentissage

L’apprentissage consiste à trouver les bons w\vec{w} et bb.

Le Perceptron comme Problème d’Optimisation

L’algorithme du Perceptron peut être vu comme la minimisation d’une fonction de coût spécifique, souvent appelée le critère du Perceptron (ou Hinge Loss) :

J(Θ,X,T)=nM(wxn)tnJ(\Theta, X, T) = \sum_{n \in \mathcal{M}} -(\vec{w} \cdot \vec{x}_n)t_n

M\mathcal{M} est l’ensemble de tous les points mal classés. La fonction de coût est la somme des "scores" des points mal classés, où un score négatif indique une classification correcte. Minimiser JJ revient donc à réduire le nombre d’erreurs et leur ampleur.

En appliquant la descente de gradient sur cette fonction, on obtient la règle de mise à jour du Perceptron. Pour un seul point mal classé (xn,tn)(\vec{x}_n, t_n):

θθ+ηxntn\vec{\theta} \leftarrow \vec{\theta} + \eta \cdot \vec{x}_n t_n

Cette mise à jour "pousse" l’hyperplan à se déplacer pour mieux classer le point xn\vec{x}_n.

Stratégies d’Optimisation

La manière dont nous utilisons les données pour calculer le gradient et mettre à jour les poids définit la stratégie d’optimisation.

Batch vs. Online Learning

Stochastic et Mini-Batch Gradient Descent

Visualisation des Chemins d’Optimisation

Le choix de la stratégie d’optimisation influence la manière dont les paramètres convergent vers la solution optimale.

Chemins de convergence des paramètres pour différentes stratégies. Batch (bleu) : chemin lisse et direct. Mini-batch (vert) : chemin moins bruyant que le SGD. Stochastic (rouge) : chemin très bruyant mais qui converge néanmoins vers la bonne région.

Figure 3:Chemins de convergence des paramètres pour différentes stratégies. Batch (bleu) : chemin lisse et direct. Mini-batch (vert) : chemin moins bruyant que le SGD. Stochastic (rouge) : chemin très bruyant mais qui converge néanmoins vers la bonne région.

Le Défi des Données Non-Séparables

Le théorème de convergence du Perceptron garantit que si les données sont linéairement séparables, l’algorithme trouvera une solution en un nombre fini d’itérations. Cependant, les données réelles sont rarement "propres" et parfaitement séparables.

En pratique, même si quelques points sont mal classés, le Perceptron trouve souvent une solution "raisonnable" qui sépare la majorité des données correctement.

Un ensemble de données plus réaliste où les classes se chevauchent. Il n’existe pas de ligne parfaite, mais le Perceptron peut trouver une bonne approximation.

Figure 4:Un ensemble de données plus réaliste où les classes se chevauchent. Il n’existe pas de ligne parfaite, mais le Perceptron peut trouver une bonne approximation.

Partie III : Trouver le Séparateur Optimal : Machines à Vecteurs de Support (SVM)

Le Perceptron s’arrête dès qu’il trouve une solution qui sépare les données (s’il en existe une). Mais parmi une infinité de solutions possibles, laquelle est la meilleure ?

Le Principe de la Maximisation de la Marge

Les Machines à Vecteurs de Support (SVM) répondent à cette question en cherchant l’hyperplan qui maximise la marge, c’est-à-dire la distance entre l’hyperplan et les points les plus proches de chaque classe. L’intuition est qu’un séparateur avec une grande marge est plus robuste et généralisera mieux aux nouvelles données.

Le Rôle des Vecteurs de Support

Seuls les points qui se trouvent sur le bord de la marge influencent la position de l’hyperplan optimal. Ces points sont appelés les vecteurs de support. Tous les autres points pourraient être déplacés ou supprimés sans affecter la solution.

À gauche, un classifieur SVM avec une marge maximale. Les points cerclés avec des croix rouges sont les vecteurs de support. À droite, une illustration du concept de marge. Les points mal classés (à l’intérieur de la marge ou du mauvais côté) sont tolérés en payant un "prix" dans la fonction de coût.

Figure 5:À gauche, un classifieur SVM avec une marge maximale. Les points cerclés avec des croix rouges sont les vecteurs de support. À droite, une illustration du concept de marge. Les points mal classés (à l’intérieur de la marge ou du mauvais côté) sont tolérés en payant un "prix" dans la fonction de coût.

Les SVMs peuvent également gérer les données non-linéairement séparables en autorisant certains points à violer la marge (concept de "marge souple").

Conclusion

Ce cours a couvert les concepts fondamentaux de la régression et de la classification linéaires en apprentissage supervisé. Nous avons commencé par la régression linéaire optimisée par descente de gradient. Ensuite, nous avons exploré le Perceptron, l’un des premiers algorithmes de classification, en le considérant sous l’angle de l’optimisation. Nous avons discuté des différentes stratégies d’optimisation (Batch, Mini-Batch, SGD) qui sont essentielles en apprentissage automatique moderne. Enfin, nous avons introduit les SVMs comme une méthode puissante pour trouver le meilleur séparateur linéaire en maximisant la marge.

Références et Lectures Complémentaires