ML Learning Hub
Régressiondébutant

Régression Linéaire & Logistique

Trouver la droite optimale dans un nuage de points bruités

Exploration visuelle des moindres carrés au gradient descent, puis régression logistique : sigmoid, log loss, L1/L2 et frontières de décision.

45 min
15 diagrammes
8 Concepts Couverts

Prérequis

Linear Algebra
Probability & Statistics

Concepts Couverts

Least SquaresGradient DescentSigmoidL1/LassoL2/RidgeDecision BoundaryOverfitting

Formules Clés

Solution MCO

Solution en forme fermée minimisant les résidus au carré — s'applique quand XᵀX est inversible

Perte ECM

Erreur quadratique moyenne — l'objectif à minimiser ; pénalise les grands résidus quadratiquement

Mise à Jour Gradient

Règle de mise à jour de la descente de gradient — α est le taux d'apprentissage qui contrôle la taille du pas

Sigmoïde

Applique n'importe quel nombre réel dans (0,1) pour une interprétation probabiliste en régression logistique

Simulation Interactive

Loading visualization…

Architecture du Modèle

Loading visualization…
🎯

Pourquoi Est-ce Important ?

motivation

La régression est la base de tout système de prédiction. Votre score de crédit, les prévisions météo, l'estimation du prix d'une maison, le moteur de recommandation — tout commence ici. Avant les réseaux de neurones, avant les ensembles, il y avait la droite. Comprendre profondément la régression signifie comprendre ce que 'l'apprentissage' signifie mathématiquement.

La régression linéaire a remporté un prix Nobel (économie, 1978). Elle précède les ordinateurs de 200 ans — Gauss l'utilisait pour prédire les orbites planétaires.

💡

L'Intuition Géométrique

intuition

Imaginez lancer des fléchettes sur un mur. Chaque fléchette atterrit à une position (x, y). Vous voulez trouver la droite qui passe le plus près de toutes les fléchettes simultanément. 'Le plus près' signifie minimiser les distances verticales (résidus) de chaque fléchette à votre droite. Les résidus au carré transforment cela en un paysage en forme de bol — et le fond du bol est la solution MCO.

Les Mathématiques des Moindres Carrés

math

Nous modélisons la relation comme ŷ = Xβ + ε où ε ~ N(0, σ²). Minimiser la somme des résidus au carré a une belle solution en forme fermée appelée l'Équation Normale. Cela fonctionne parce que la surface de perte est un paraboloïde — un bol parfait avec exactement un minimum.

Équation Normale (MCO)
🔬

Pourquoi Maximiser la Vraisemblance = Minimiser les Erreurs Carrées

deepdive

Cette connexion est profonde. Si nous supposons un bruit gaussien ε ~ N(0, σ²), alors la vraisemblance de l'observation y sachant x est proportionnelle à exp(-(y - Xβ)²/2σ²). Prendre le log et nier donne exactement la somme des résidus au carré. MCO et EMV sont la même chose sous un bruit gaussien.

Le bruit gaussien est pourquoi les valeurs aberrantes font si mal — les erreurs carrées pénalisent les grands résidus quadratiquement. Utilisez la perte de Huber pour la robustesse.

⚙️

Descente de Gradient : Apprendre Étape par Étape

algorithm

Quand XᵀX n'est pas inversible (multicolinéarité) ou que le jeu de données est trop grand pour l'Équation Normale, nous utilisons la descente de gradient. Commencez n'importe où sur la surface de perte, mesurez la pente, faites un petit pas vers le bas. Répétez jusqu'à la convergence.

1

Initialiser les poids β = 0 (ou petites valeurs aléatoires)

2

Calculer la prédiction : ŷ = Xβ

3

Calculer les résidus : ε = y - ŷ

4

Calculer le gradient : ∇L = -(2/n) Xᵀε

5

Mise à jour : β ← β - α · ∇L

6

Répéter jusqu'à ||∇L|| < tolérance

Régression Logistique : Le Saut Binaire

math

Pour les résultats binaires, nous avons besoin de sorties dans (0,1). Nous passons la combinaison linéaire à travers la fonction sigmoïde σ(z) = 1/(1+e⁻ᶻ), qui applique ℝ → (0,1). La fonction de perte passe de MSE à l'Entropie Croisée Binaire (log loss).

Perte d'Entropie Croisée Binaire
</>

De Zéro avec NumPy

code

The full gradient descent implementation in 12 lines:

python36 lines
import numpy as np
from sklearn.datasets import make_regression

class="tok-comment"># ── Données d'exemple ──────────────────────────────────────────────────
X_brut, y = make_regression(n_samples=class="tok-num">200, n_features=class="tok-num">5, noise=class="tok-num">10, random_state=class="tok-num">42)
X = np.c_[np.ones(len(X_brut)), X_brut]   class="tok-comment"># ajouter colonne de biais
lam = class="tok-num">0.1                                   class="tok-comment"># intensité de la régularisation Ridge

class RegLineaire:
    def __init__(self, lr=class="tok-num">0.01, n_iter=class="tok-num">1000):
        self.lr, self.n_iter = lr, n_iter

    def ajuster(self, X, y):
        n, p = X.shape
        self.beta = np.zeros(p)
        for _ in range(self.n_iter):
            y_pred = X @ self.beta
            residus = y - y_pred
            grad = -(class="tok-num">2/n) * X.T @ residus
            self.beta -= self.lr * grad
        return self

    def predire(self, X):
        return X @ self.beta

class="tok-comment"># Démo
modele = RegLineaire(lr=class="tok-num">0.01, n_iter=class="tok-num">1000).ajuster(X, y)
print(class="tok-str">"Bêta GD :", modele.beta[:class="tok-num">3].round(class="tok-num">2))

class="tok-comment"># Forme fermée (Équation Normale) :
beta_mco = np.linalg.solve(X.T @ X, X.T @ y)
class="tok-comment"># Ridge (régularisation L2) :
p = X.shape[class="tok-num">1]
beta_ridge = np.linalg.solve(X.T @ X + lam * np.eye(p), X.T @ y)
print(class="tok-str">"Bêta MCO :  ", beta_mco[:class="tok-num">3].round(class="tok-num">2))
print(class="tok-str">"Bêta Ridge :", beta_ridge[:class="tok-num">3].round(class="tok-num">2))
⚠️

Pièges Critiques

pitfall

Quatre erreurs qui tuent les modèles de régression en production :

1

Multicolinéarité — Des caractéristiques corrélées rendent (XᵀX) quasi-singulière. VIF > 10 est un signal d'alarme. Solution : régularisation Ridge ou ACP.

2

Caractéristiques non mises à l'échelle — La descente de gradient converge 100× plus lentement si les caractéristiques ont des échelles différentes. Appliquez toujours StandardScaler d'abord.

3

Hétéroscédasticité — Variance des résidus non constante. Visualisez les résidus vs valeurs ajustées.

4

Extrapolation — Les modèles linéaires sont dangereusement confiants hors de la plage d'entraînement. N'extrapolez jamais sans connaissance du domaine.

?Vérification des Connaissances

La progression est sauvegardée dans votre navigateur — aucun compte requis.

Besoin d'un ingénieur IA ou data scientist ?

Je conçois des modèles ML sur mesure, des agents IA, de la vision par ordinateur et de l'automatisation — de l'idée à la production.