Classification : le biais de prédiction

Les prédictions d'une régression logistique ne doivent pas être affectées par des biais. En d'autres termes :

la valeur moyenne des prédictions doit approcher la valeur moyenne des valeurs observées.

Le biais de prédiction est une valeur quantifiant l'écart constaté entre ces deux moyennes. En d'autres termes :

$$\text{biais de prédiction} = \text{valeur moyenne des prédictions} - \text{valeur moyenne des étiquettes dans l'ensemble de données}$$

Un biais de prédiction très différent de zéro vous informe que votre modèle ne fonctionne pas correctement, puisqu'il n'identifie pas la fréquence réelle des étiquettes positives.

Admettons, par exemple, que nous savons que 1 % de tous les e-mails sont du spam. Si nous ignorons tout d'un e-mail donné, nous devrions prédire que la probabilité pour qu'il s'agisse de spam est de 1 %. Selon cette logique, un bon modèle de détection de spam doit prédire en moyenne que les e-mails ont 1 % de chances d'être du spam. En d'autres termes, si nous calculons la moyenne des prédictions de probabilité pour que chaque e-mail soit du spam, le résultat devrait être 1 %. Mais si la prédiction moyenne du modèle évalue la probabilité du spam à 20 %, nous pouvons en conclure que le modèle est affecté d'un biais de prédiction.

Plusieurs causes peuvent être à l'origine d'un biais de prédiction :

  • Un ensemble de caractéristiques incomplet
  • La présence de bruit dans l'ensemble de données
  • Un pipeline ne fonctionnant pas correctement
  • Un échantillon d'apprentissage non représentatif
  • Une régularisation excessive

Vous pourriez être tenté de corriger un biais de prédiction en ajustant le modèle après apprentissage, c'est-à-dire en ajoutant un niveau de calibration afin d'adapter les résultats de votre modèle et de diminuer le biais de prédiction. Par exemple, si votre modèle a un biais de prédiction de +3 %, vous pouvez ajouter un nouveau de calibration réduisant la prédiction moyenne de 3 %. Toutefois, l'ajout d'un niveau de calibration est déconseillé pour les raisons suivantes :

  • Vous intervenez sur le symptôme et non sur la cause du biais.
  • Votre système devient moins flexible et requiert désormais d'être tenu à jour.

Dans la mesure du possible, évitez les niveaux de calibration. Les projets qui ont recours aux niveaux de calibration ont tendance à en devenir dépendants, car ils les utilisent pour résoudre tous les défauts de leur modèle. La gestion de tous ces niveaux de calibration peut finir par tourner au cauchemar.

Groupement des données par classe et biais de prédiction

La régression logistique prévoit une valeur située entre 0 et 1. Toutefois, tous les exemples étiquetés ont une valeur égale à exactement 0 (signifiant, par exemple, "non spam") ou exactement 1 (signifiant, par exemple, "spam"). En conséquence, lorsque vous analysez un biais de prédiction, il est impossible d'en déterminer la valeur à partir d'un seul exemple : vous devez l'analyser dans une série d'exemples regroupés par classe. Le biais de prédiction pour une régression logistique n'est pertinent que s'il porte sur un groupe comportant suffisamment d'exemples pour permettre une comparaison avec une valeur prédite (par exemple, 0,392) à des valeurs observées (par exemple, 0.394).

Vous pouvez regrouper des données par classe selon les méthodes suivantes :

  • En séparant les prédictions ciblées de façon linéaire
  • En formant des quantiles

Examinez le tracé de calibration suivant pour un modèle particulier. Chaque point représente 1 000 valeurs regroupées par classe. Les axes ont les significations suivantes :

  • L'abscisse représente la moyenne des valeurs prédites par le modèle pour ce groupe des données de même classe.
  • L'ordonnée représente la moyenne des valeurs réelles de l'ensemble de données pour ce groupe.

Les deux axes sont gradués selon une échelle logarithmique.

L'abscisse correspond aux prédictions, l'ordonnée aux étiquettes. Pour les valeurs de prédiction moyennes et hautes, le biais de prédiction est négligeable. Pour les valeurs de prédiction basses, le biais de prédiction est relativement élevé.

Figure 8 : Courbe de biais de prédiction (échelles logarithmiques)

Pourquoi les prédictions sont-elles aussi mauvaises pour seulement une partie du modèle ? Voici quelques hypothèses :

  • L'ensemble d'apprentissage n'est pas représentatif de certains sous-ensembles des données existantes.
  • Certains sous-ensembles de données contiennent plus de bruit que d'autres.
  • Le modèle est faussé par une régularisation excessive. (Il est alors conseillé de réduire la valeur de lambda.)

Envoyer des commentaires concernant…

Cours d'initiation au machine learning