Ce document didactique est destiné aux étudiants universitaires en informatique et présente une étude détaillée de la régression linéaire, un concept fondamental du Data Mining. Il explore les principes de cette méthode prédictive supervisée, depuis sa représentation graphique jusqu'à l'optimisation de la fonction de coût.
Le contenu couvre la méthode des moindres carrés, l'algorithme de descente de gradient, y compris ses variantes et l'approche basée sur le momentum. Des illustrations pratiques, notamment la prédiction des prix de logements, viennent appuyer les explications théoriques.
Cours Data Mining Régression Linéaire
Télécharger PDFDATA MINING
La Régression Linéaire : Méthode Prédictive Supervisée
La régression linéaire est une méthode prédictive supervisée utilisée pour modéliser la relation entre une variable dépendante (cible) et une ou plusieurs variables indépendantes (prédicteurs).
Dans ce modèle, les données consistent en attributs (variables) quantitatives continues. Pour chaque observation 'i', nous avons un ensemble de variables d'entrée `x` (x1, x2, ..., xj, ..., xn) et une variable de sortie `y`.
Les paires (xi, yi) représentent des exemples d'apprentissage, pour `i = 1 ... m` (où `m` est le nombre total d'exemples d'apprentissage).
Régression Linéaire Simple (Univariée)
La régression linéaire simple (univariée) utilise une seule variable indépendante pour prédire la variable dépendante. Voici un exemple pour la prédiction des prix de logements en fonction de leurs superficies :
| Appartement | Superficie (x) | Prix (y) |
|---|---|---|
| 1 | 45 | 600 |
| 2 | 110 | 1110 |
| 3 | 75 | 950 |
| ... | ... | ... |
| m | 80 | 800 |
Chaque paire (xi, yi) est un exemple d'apprentissage, où xi est la superficie et yi est le prix réel (observé) pour l'appartement i.
Représentation Graphique du Nuage de Points
Le nuage de points obtenu en traçant les données d'apprentissage (superficie en abscisse, prix en ordonnée) est approximativement assimilable à une droite. Cette droite est appelée la droite de régression. Elle permet, par exemple, de prédire le prix d'un nouvel appartement de 68 m2.
La Fonction d'Hypothèse (ou d'Approximation) h(x)
La fonction d'hypothèse `h(x)` est utilisée pour approximer la relation sous-jacente dans les données. Pour une régression linéaire, elle est représentée par l'équation d'une droite :
`h(x) = θ0 + θ1x`
Où :
- `x` est la variable d'entrée (superficie).
- `h(x)` est la valeur prédite (prix).
- `θ0` est l'ordonnée à l'origine.
- `θ1` est le coefficient de pente.
L'objectif est de trouver les valeurs de `θ0` et `θ1` qui minimisent les écarts entre les prédictions `h(xi)` et les valeurs réelles `yi`. L'écart pour un exemple `i` est donné par :
`ei = h(xi) - yi`
La méthode des Moindres Carrés (M.M.C.) vise à rendre ces écarts globalement les plus faibles possibles.
La Fonction de Coût (J)
La fonction de coût `J` mesure la performance du modèle en quantifiant l'erreur globale des prédictions. Pour la régression linéaire, la fonction de coût la plus courante est l'erreur quadratique moyenne (MSE - Mean Squared Error) :
`J(θ0, θ1) = (1 / m) ∑i=1m (h(xi) - yi)2`
Où :
- `m` est le nombre d'exemples d'apprentissage.
- `h(xi)` est le prix prédit par la fonction d'hypothèse pour l'appartement `i`.
- `yi` est le prix réel (observé) pour l'appartement `i` de surface `xi`.
Le problème d'optimisation consiste à trouver les valeurs des paramètres `θ0` et `θ1` qui minimisent cette fonction de coût `J(θ0, θ1)`.
Illustration de la Fonction de Coût avec une Seule Variable (θ1)
Pour simplifier, considérons le cas où `θ0 = 0`. La fonction d'hypothèse devient `h(x) = θ1x`. La fonction de coût `J(θ1)` dépend alors uniquement de `θ1` :
`J(θ1) = (1/m) ∑i=1m (h(xi) - yi)2`
Voici un exemple avec quatre points d'entraînement, illustrant `y` réel et les prédictions pour différentes valeurs de `θ1` :
| x | Y (réel) | h(x) = 1.x | h(x) = 0.5.x | h(x) = 0.x |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0.5 | 0 |
| 2 | 2 | 2 | 1 | 0 |
| 3 | 3 | 3 | 1.5 | 0 |
Remarques :
- La fonction de coût `J(θ1)` est une parabole.
- Son minimum correspond à la valeur de `θ1` qui génère la fonction d'hypothèse (pente) la plus adaptée à l'ensemble des données d'apprentissage. Dans cet exemple simplifié, le minimum est atteint pour `θ1 = 1`.
La Fonction de Coût avec Deux Variables (θ0, θ1)
Lorsque la fonction d'hypothèse `h(x) = θ0 + θ1x` est utilisée, la fonction de coût `J(θ0, θ1)` est une surface en 3D. Le problème d'optimisation consiste toujours à trouver les valeurs de `θ0` et `θ1` qui minimisent cette surface.
L'Algorithme de la Descente de Gradient (Gradient Descent)
La Descente de Gradient est une famille de méthodes itératives utilisées pour trouver le minimum d'une fonction, en ajustant progressivement ses paramètres.
Principe de la Descente de Gradient
- Donner des valeurs initiales aux paramètres (par exemple, `θ0`, `θ1`, ..., `θn`).
- Continuer à changer ces valeurs en effectuant des pas proportionnels à l'opposé du gradient de la fonction de coût, jusqu'à atteindre un minimum (convergence).
L'algorithme de la Descente de Gradient met à jour simultanément chaque paramètre `θj` comme suit :
`θj := θj - α * &partial;J(θ0, θ1, ..., θn) / &partial;θj`
Ce processus est répété (itération) pour `j = 0, 1, ..., n` jusqu'à convergence.
- `α` (alpha) est le taux d'apprentissage.
- `&partial;J(θ0, θ1, ..., θn) / &partial;θj` représente la dérivée partielle de la fonction de coût `J` par rapport au paramètre `θj`.
Le Taux d'Apprentissage (α)
Le taux d'apprentissage `α` est un hyperparamètre crucial qui définit la taille de chaque "pas" lors de la descente le long de la pente de la fonction de coût :
- Si `α` est trop grand, l'algorithme peut "sauter" par-dessus le minimum et diverger, ou osciller sans jamais converger.
- Si `α` est trop petit, l'algorithme converge lentement, nécessitant un grand nombre d'itérations.
- Une valeur adéquate de `α` permet à l'algorithme de converger efficacement vers le minimum.
Application à la Prédiction des Prix de Logements
Pour la fonction d'hypothèse `h(x) = θ0 + θ1x` et la fonction de coût `J(θ0, θ1)`, les dérivées partielles nécessaires pour la Descente de Gradient sont :
- Dérivée par rapport à `θ0`:
`&partial;J(θ0, θ1) / &partial;θ0 = (1/m) ∑i=1m (h(xi) - yi)` - Dérivée par rapport à `θ1`:
`&partial;J(θ0, θ1) / &partial;θ1 = (1/m) ∑i=1m (h(xi) - yi) * xi`
L'algorithme du gradient appliqué à la régression linéaire met à jour les paramètres `θ0` et `θ1` de la manière suivante, en répétant les étapes jusqu'à convergence :
- `θ0 := θ0 - α * (1/m) ∑i=1m (h(xi) - yi)`
- `θ1 := θ1 - α * (1/m) ∑i=1m (h(xi) - yi) * xi`
Variantes de la Descente de Gradient
Il existe plusieurs variantes de l'algorithme de la Descente de Gradient, chacune ayant des caractéristiques différentes en termes de vitesse de convergence et de consommation de ressources :
- Descente de Gradient Batch (Batch Gradient Descent) : Calcule le gradient en utilisant l'intégralité de l'ensemble des données d'apprentissage à chaque itération. C'est la variante la plus classique.
- Descente de Gradient Stochastique (Stochastic Gradient Descent - SGD) : Met à jour les paramètres après avoir traité un seul exemple d'apprentissage à la fois. Cela peut être plus rapide mais les mises à jour sont plus "bruyantes".
- Descente de Gradient par Mini-Batch (Mini-Batch Gradient Descent) : Calcule le gradient et met à jour les paramètres en utilisant un petit sous-ensemble (un "mini-batch") d'exemples d'apprentissage à chaque itération. C'est un compromis entre la Descente de Gradient Batch et SGD, souvent privilégié en pratique.
Il est important de noter qu'aucune de ces solutions n'est universellement parfaite ; le choix de la variante dépend souvent des spécificités de la tâche, du volume des données et des contraintes de calcul.
Autres Remarques sur l'Optimisation
- Pour la régression linéaire avec la fonction de coût des moindres carrés (MSE), le paysage de la fonction de coût est convexe, ce qui signifie qu'il n'y a qu'un seul minimum global. Par conséquent, la Descente de Gradient convergera vers ce minimum, indépendamment des valeurs initiales des paramètres, à condition que le taux d'apprentissage soit choisi correctement.
- Outre les méthodes itératives comme la Descente de Gradient, il existe une solution analytique directe pour la régression linéaire, connue sous le nom de méthode des Moindres Carrés (par les Équations Normales), qui permet de trouver les paramètres optimaux en une seule étape, sans itérations.
- D'autres approches d'optimisation numérique existent, telles que le Golden Search, Line Search, Simulated Annealing, Gradient Conjugé, Levenberg-Marquardt et la Méthode de Newton.
Méthodes Basées sur le Momentum
On peut chercher à accélérer la convergence de la Descente de Gradient en lui ajoutant un terme appelé "momentum". Cette technique permet de mieux naviguer dans le paysage de la fonction de coût, en particulier dans les régions où la courbure est faible.
La mise à jour d'un paramètre `θ` au temps `t+1` inclut un terme de momentum et est définie comme :
`θt+1 = θt + Δθ`
Où `Δθ` est définie récursivement par :
`Δθ = - α * &partial;J / &partial;θ + γ * Δθt-1`
Ici, `γ` est le paramètre "momentum" (où `0 ≤ γ ≤ 1`). Lorsque `γ = 0`, on retrouve la descente de gradient standard. Un `γ > 0` ajoute une composante de la direction de mise à jour précédente `Δθt-1` à la direction courante `Δθ`. L'effet de `γ` est d'accélérer la convergence dans les régions de faible courbure de l'espace des paramètres et de réduire les oscillations, ce qui est particulièrement utile dans l'apprentissage de modèles complexes comme les réseaux de neurones.
Foire Aux Questions (FAQ)
Qu'est-ce que la régression linéaire simple ?
La régression linéaire simple est une méthode statistique qui modélise la relation entre une variable dépendante et une seule variable indépendante en ajustant une droite à un ensemble de données. Elle vise à prédire la valeur de la variable dépendante en fonction de la variable indépendante.
Quel est le rôle de la fonction de coût en régression linéaire ?
La fonction de coût (souvent l'erreur quadratique moyenne ou MSE) mesure l'écart global entre les valeurs prédites par le modèle de régression et les valeurs réelles observées. Son rôle est de quantifier la performance du modèle, permettant aux algorithmes d'optimisation de trouver les paramètres qui minimisent cette erreur, et ainsi d'améliorer la précision des prédictions.
Comment fonctionne l'algorithme de la Descente de Gradient ?
L'algorithme de la Descente de Gradient est une technique d'optimisation itérative. Il commence avec des paramètres initiaux aléatoires et les ajuste progressivement en se déplaçant dans la direction opposée au gradient (la pente la plus raide) de la fonction de coût. À chaque itération, les paramètres sont mis à jour par un petit pas (déterminé par le taux d'apprentissage) jusqu'à ce que la fonction de coût atteigne un minimum.