Ce document constitue la quatrième série d'exercices (Série D’EXERCICES 04) élaborée pour les étudiants du Département d'Informatique de l'Université M'hamed Bougara de Boumerdès. Il vise à consolider les connaissances fondamentales en apprentissage automatique, particulièrement autour des techniques de classification.
Cette série couvre des notions essentielles, incluant :
- Les problèmes de classification binaire et multi-classe.
- Le fonctionnement et l'application de la régression logistique.
- L'interprétation des fonctions d'hypothèse et des frontières de décision.
- Les problématiques de sur-ajustement et l'importance de la régularisation.
Exercices TD Classification Data mining
Télécharger PDFSérie d'exercices 04 : Régression Logistique et Classification
Cette série d'exercices, proposée par le Département d'Informatique de la Faculté des Sciences de l'Université M’hamed Bougara de Boumerdès, explore des concepts fondamentaux liés à la régression logistique et aux problèmes de classification en apprentissage automatique.
1. Exemples de problèmes de classification binaire et de multi-classification
La classification est une tâche d'apprentissage supervisé qui consiste à attribuer une catégorie ou une classe à des données d'entrée. Selon le nombre de catégories possibles, on distingue deux types principaux :
- Classification binaire : La variable cible ne peut prendre que deux valeurs distinctes.
- Exemples :
- Détection d'e-mails indésirables (spam / non-spam).
- Diagnostic médical (malade / non-malade pour une maladie spécifique).
- Détection de fraude bancaire (fraude / non-fraude).
- Prédiction de l'acceptation d'un prêt (accepté / refusé).
- Exemples :
- Multi-classification : La variable cible peut prendre plus de deux valeurs distinctes.
- Exemples :
- Reconnaissance de chiffres manuscrits (0, 1, 2, ..., 9).
- Classification d'espèces animales ou végétales.
- Catégorisation de documents textuels (sport, politique, économie).
- Prédiction de la notation d'un restaurant (1 à 5 étoiles).
- Exemples :
2. Codage de la variable cible et ses implications
Dans un problème de classification binaire comme celui du Spam/Non Spam, la variable cible (y) peut être codée de différentes manières. Par exemple :
{y = 0 → Spam et y = 1 → Non Spam}{y = 1 → Spam et y = 0 → Non Spam}
Y a-t-il une différence entre les deux codages ?
Non, il n'y a pas de différence fondamentale. Le choix du codage est une convention. L'algorithme de régression logistique apprendra à associer une probabilité élevée à la classe désignée par 1 et une faible probabilité à la classe désignée par 0. L'essentiel est de bien définir et de maintenir l'interprétation de ces valeurs tout au long du processus d'apprentissage et de prédiction.
Que peut-on dire de la codification y ∈ {−1, +1} ?
Cette codification est également courante dans certains algorithmes d'apprentissage automatique, notamment les machines à vecteurs de support (SVM). Pour la régression logistique, qui modélise la probabilité P(y=1|x) sur l'intervalle [0, 1], un codage {-1, +1} nécessiterait une étape de transformation ou une adaptation de la fonction de coût pour correspondre à l'interprétation probabiliste naturelle de la sigmoïde. Cependant, il est tout à fait possible de l'utiliser en adaptant les seuils de décision ou les fonctions de perte.
3. Rôle de la fonction sigmoïde dans le problème de la régression logistique
La fonction sigmoïde, ou fonction logistique, est cruciale en régression logistique pour plusieurs raisons :
- Transformation en probabilité : L'objectif de la régression logistique est de prédire la probabilité qu'une instance appartienne à une classe donnée. La combinaison linéaire des caractéristiques et des poids du modèle (
z = θTx) peut prendre n'importe quelle valeur réelle. La fonction sigmoïde,σ(z) = 1 / (1 + e-z), transforme cette valeur en une probabilité comprise entre 0 et 1. - Interprétation probabiliste : La sortie de la fonction d'hypothèse,
hθ(x) = σ(θTx), est directement interprétable comme la probabilité que la variable cibleysoit égale à 1, étant donné les caractéristiquesxet les paramètresθ, c'est-à-direP(y=1|x;θ).
4. Que représente la fonction d'hypothèse hθ(x) dans un problème de régression logistique ? Interpréter hθ(x) = 0.70 dans un problème de classification Spam/Non Spam ?
Dans un problème de régression logistique, la fonction d'hypothèse hθ(x) représente la probabilité estimée que la variable cible y soit égale à 1 (la classe positive) pour un ensemble de caractéristiques d'entrée x, étant donné les paramètres du modèle θ. Formellement, hθ(x) = P(y=1|x;θ).
Interprétation de hθ(x) = 0.70 dans un problème de classification Spam/Non Spam :
Si hθ(x) = 0.70, cela signifie que le modèle estime qu'il y a 70% de chances que l'e-mail analysé soit un "Spam" (si la classe y=1 correspond au spam). Par conséquent, il y a 30% de chances que l'e-mail soit un "Non Spam" (1 - 0.70 = 0.30). Habituellement, si cette probabilité dépasse un certain seuil (souvent 0.5), l'e-mail serait classé comme spam.
5. Pourquoi la fonction de coût utilisée en régression linéaire ne peut être utilisée dans le cas de la régression logistique ?
La fonction de coût de la régression linéaire est l'erreur quadratique moyenne (MSE), définie par J(θ) = (1/2m) Σ (hθ(x(i)) - y(i))2. Si nous utilisions cette fonction de coût avec la fonction d'hypothèse de la régression logistique hθ(x) = σ(θTx), la fonction de coût résultante serait non convexe.
- Non-convexité : Une fonction de coût non convexe présente de multiples minimums locaux. Cela poserait un problème majeur pour les algorithmes d'optimisation comme la descente de gradient, qui pourraient converger vers un minimum local et non vers le minimum global. Il serait alors impossible de garantir que le modèle trouve les paramètres optimaux.
- Fonction de coût de l'entropie croisée : Pour la régression logistique, on utilise une fonction de coût basée sur l'entropie croisée (également appelée "Log Loss"), qui est une fonction convexe. Cette convexité garantit que la descente de gradient convergera toujours vers le minimum global, permettant d'apprendre les meilleurs paramètres possibles du modèle.
6. Frontière de décision et prédiction avec la régression logistique
Supposons que le modèle de régression logistique recherché a trois paramètres, avec une fonction d'hypothèse hθ(x) = σ(z) où z = θ0 + θ1x1 + θ2x2. La méthode de descente de gradient a donné le vecteur de paramètres θ = (-2, 1, 1).
Quelle est la frontière de la décision (Decision Boundary) correspondante ?
La frontière de décision est la ligne (ou l'hyperplan en dimensions supérieures) qui sépare les régions où le modèle prédit une classe de celles où il prédit l'autre classe. En régression logistique, la classe positive est prédite lorsque hθ(x) ≥ 0.5, ce qui correspond à σ(z) ≥ 0.5. Étant donné que la fonction sigmoïde est supérieure ou égale à 0.5 lorsque son argument z est supérieur ou égal à 0, la frontière de décision est définie par l'équation z = 0.
Avec θ = (-2, 1, 1) et en considérant les caractéristiques x = [1, x1, x2]T (où x0 = 1 pour le terme de biais θ0), l'équation de la frontière de décision est :
θ0 + θ1x1 + θ2x2 = 0
-2 * 1 + 1 * x1 + 1 * x2 = 0
-2 + x1 + x2 = 0
Ainsi, la frontière de décision est la droite d'équation : x1 + x2 = 2.
Quelle est la prédiction pour un nouveau patient ayant (x1 = 1 et x2 = 3) comme caractéristiques de sa tumeur (dans un problème de diagnostic médical) ?
Pour prédire la classe pour ce nouveau patient, nous devons calculer la valeur de z = θTx et ensuite appliquer la fonction sigmoïde.
En utilisant les paramètres θ = (-2, 1, 1) et les caractéristiques x1 = 1, x2 = 3 (avec x0 = 1) :
z = θ0x0 + θ1x1 + θ2x2
z = (-2 * 1) + (1 * 1) + (1 * 3)
z = -2 + 1 + 3
z = 2
Maintenant, nous appliquons la fonction sigmoïde pour obtenir la probabilité :
hθ(x) = σ(z) = 1 / (1 + e-z) = 1 / (1 + e-2)
En calculant la valeur : e-2 ≈ 0.1353
hθ(x) ≈ 1 / (1 + 0.1353) = 1 / 1.1353 ≈ 0.8808
Avec une probabilité de hθ(x) ≈ 0.8808, si le seuil de classification est de 0.5 (et que y=1 représente une tumeur maligne), le modèle prédit que le patient a environ 88.08% de chances d'avoir une tumeur maligne. Le patient serait donc classé dans la classe "tumeur".
7. Solutions au sur-ajustement (Overfitting) avec beaucoup d'attributs et peu de données
Le sur-ajustement (overfitting) est un problème courant en apprentissage automatique, particulièrement lorsque le modèle est trop complexe par rapport à la quantité de données d'entraînement disponibles. Cela se manifeste par d'excellentes performances sur les données d'entraînement, mais de mauvaises performances sur les nouvelles données (généralisation).
Voici des solutions pour y remédier, surtout en présence de nombreux attributs et de peu de données :
- Réduction du nombre d'attributs (Feature Selection / Dimensionality Reduction) :
- Sélection de caractéristiques : Identifier et retenir uniquement les attributs les plus pertinents pour le problème, en éliminant les redondants ou non informatifs.
- Extraction de caractéristiques : Utiliser des techniques comme l'Analyse en Composantes Principales (ACP ou PCA) pour transformer les attributs originaux en un ensemble plus petit de nouvelles caractéristiques qui capturent la majeure partie de l'information.
- Augmentation du jeu de données (Data Augmentation) :
- Si possible, collecter plus de données d'entraînement pour donner plus d'exemples au modèle.
- Générer de nouvelles données d'entraînement à partir des données existantes (par exemple, par rotation, zoom, etc., pour les images).
- Régularisation :
- Ajouter un terme de pénalité à la fonction de coût pour décourager les paramètres du modèle de prendre des valeurs trop grandes. Cela rend le modèle plus simple et moins susceptible de sur-apprendre les données d'entraînement. (Voir question 8).
- Utilisation de modèles plus simples :
- Opter pour un algorithme d'apprentissage intrinsèquement moins complexe ou configurer le modèle avec moins de degrés de liberté (par exemple, un arbre de décision moins profond).
- Validation croisée (Cross-validation) :
- Permet d'évaluer la performance du modèle sur des sous-ensembles de données non vues pendant l'entraînement, aidant ainsi à détecter et à quantifier le sur-ajustement. Cela guide le choix des hyperparamètres ou des modèles.
8. Rôle du paramètre de régularisation λ et son influence sur le sur-ajustement et le sous-ajustement
Le paramètre de régularisation λ (lambda) est un hyperparamètre clé dans les modèles régularisés. Il contrôle la force de la pénalité appliquée aux poids (paramètres θ) du modèle.
Rôle du paramètre λ :
Le terme de régularisation est ajouté à la fonction de coût originale pour décourager les grandes valeurs de poids. Pour une régularisation L2 (Ridge), par exemple, la fonction de coût régularisée est :
Jrégularisée(θ) = J(θ) + (λ / 2m) Σj=1n θj2
(Note : Le terme θ0, le biais, n'est généralement pas régularisé.)
Influence des valeurs de λ sur les phénomènes de sur-ajustement et de sous-ajustement :
λélevé (forte régularisation) :- Effet sur le sur-ajustement : Un
λélevé impose une forte pénalité aux poids, les forçant à prendre des valeurs très petites, voire proches de zéro. Cela réduit considérablement la complexité du modèle, le rendant moins susceptible de "mémoriser" le bruit des données d'entraînement et donc de sur-ajuster. - Effet sur le sous-ajustement : Si
λest trop élevé, le modèle devient trop simple. Il peut ne pas être capable de capturer les relations essentielles et les motifs sous-jacents dans les données, même les plus simples. Le modèle aura de mauvaises performances tant sur les données d'entraînement que sur les données nouvelles, ce qui est caractéristique du sous-ajustement (underfitting).
- Effet sur le sur-ajustement : Un
λfaible (faible régularisation) :- Effet sur le sur-ajustement : Un
λfaible exerce une faible contrainte sur les poids. Le modèle conserve une grande liberté pour s'ajuster aux données d'entraînement. Si le modèle est complexe ou si les données sont bruyantes, cela augmente le risque de sur-ajustement. - Effet sur le sous-ajustement : Un
λfaible ne contribue pas directement au sous-ajustement ; au contraire, il permet au modèle de devenir plus complexe. Cependant, si le modèle est intrinsèquement trop simple pour la tâche, même unλfaible ne pourra pas le rendre performant.
- Effet sur le sur-ajustement : Un
λ = 0(pas de régularisation) :- La fonction de coût n'a pas de terme de pénalité. Le modèle est libre d'apprendre des poids très grands. Le risque de sur-ajustement est maximal, en particulier avec un modèle complexe et/ou peu de données.
Le choix d'un λ optimal est crucial et est généralement déterminé par des techniques de validation croisée pour trouver l'équilibre idéal entre le biais (sous-ajustement) et la variance (sur-ajustement).
Foire Aux Questions (FAQ) sur la Régression Logistique et la Classification
Qu'est-ce que la classification binaire et comment diffère-t-elle de la multi-classification ?
La classification binaire est un problème où la variable cible ne peut prendre que deux valeurs, comme "oui/non" ou "spam/non-spam". La multi-classification, quant à elle, implique que la variable cible peut prendre plus de deux valeurs distinctes, par exemple, la reconnaissance de chiffres manuscrits (0 à 9) ou la classification de types de fruits.
Pourquoi la régression logistique utilise-t-elle la fonction sigmoïde ?
La fonction sigmoïde est essentielle en régression logistique car elle transforme une valeur réelle (la combinaison linéaire des caractéristiques) en une probabilité comprise entre 0 et 1. Cette probabilité peut ensuite être interprétée comme la chance qu'une instance appartienne à une classe spécifique, ce qui est fondamental pour la prise de décision en classification.
Comment la régularisation aide-t-elle à combattre le sur-ajustement dans les modèles d'apprentissage automatique ?
La régularisation combat le sur-ajustement en ajoutant un terme de pénalité à la fonction de coût du modèle. Ce terme décourage les paramètres (poids) du modèle de prendre des valeurs trop grandes, ce qui tend à simplifier le modèle. En limitant sa complexité, la régularisation réduit la capacité du modèle à "mémoriser" le bruit des données d'entraînement, améliorant ainsi sa généralisation à de nouvelles données.