Ensembles de données: ensembles de données déséquilibrés

Prenons l'exemple d'un ensemble de données contenant un libellé catégoriel dont la valeur est Positif ou Négatif. Dans un ensemble de données équilibré, le nombre d'étiquettes Positive et Negative est à peu près égal. Toutefois, si une étiquette est plus courante que l'autre étiquette, l'ensemble de données déséquilibré. L'étiquette prédominante dans un ensemble de données déséquilibré est appelée classe majoritaire. L'étiquette la moins courante est appelée classe minoritaire.

Le tableau suivant fournit des noms et des plages généralement acceptés pour différents degrés d'imbalance :

Pourcentage de données appartenant à la classe minoritaire Degré de déséquilibre
20 à 40% de l'ensemble de données Niveau modéré
1 à 20 % de l'ensemble de données Modérée
< 1 % de l'ensemble de données Extrême

Prenons l'exemple d'un ensemble de données de détection de virus dans lequel la classe minoritaire représente 0,5 % de l'ensemble de données et la classe majoritaire 99,5 %. Les ensembles de données extrêmement déséquilibrés comme celui-ci sont courants en médecine, car la plupart des sujets ne sont pas infectés par le virus.

Figure 5. Graphique à barres avec deux barres. Une barre affiche environ 200 classes négatives, l&#39;autre une classe positive.
Figure 5 : Ensemble de données extrêmement déséquilibré.

 

Les ensembles de données déséquilibrés ne contiennent parfois pas assez de classes minoritaires pour entraîner correctement un modèle. Autrement dit, avec si peu d'étiquettes positives, le modèle s'entraîne presque exclusivement sur sur les étiquettes négatives et en apprendre davantage sur les étiquettes positives. Par exemple, si la taille de lot est de 50, de nombreux lots ne contiennent aucun libellé positif.

Souvent, en particulier pour les ensembles de données légèrement déséquilibrés et certains ensembles de données modérément déséquilibrés, le déséquilibre n'est pas un problème. Vous devez donc d'abord essayer l'entraînement sur l'ensemble de données d'origine. Si le modèle fonctionne bien, vous avez terminé. Si ce n'est pas le cas, au moins le modèle sous-optimal référence pour les futurs tests. Ensuite, vous pouvez essayer les techniques suivantes pour résoudre les problèmes en raison d'ensembles de données déséquilibrés.

Échantillonnage et pondération

Une façon de gérer un ensemble de données déséquilibré consiste à réduire l'échantillonnage et à augmenter le poids de la classe majoritaire. Voici la définition de ces deux nouveaux termes :

  • Le sous-échantillonnage (dans ce contexte) désigne l'entraînement sur un sous-ensemble disproportionnellement faible des exemples de la classe majoritaire.
  • La surpondération consiste à ajouter de pondération à la classe sous-échantillonnée égale au facteur utilisé pour sous-échantillonnés.

Étape 1 : Réduisez l'échantillon de la classe majoritaire. Prenons l'exemple de l'ensemble de données sur les virus présenté dans la figure 5, qui présente un ratio de 1 libellé positif pour 200 libellés négatifs. Le sous-échantillonnage d'un facteur de 10 améliore l'équilibre à 1 positif pour 20 négatifs (5 %). Bien que l'ensemble d'entraînement obtenu soit toujours modérément déséquilibrée, la proportion de positifs par rapport aux négatifs est bien meilleure que la proportion d'origine extrêmement déséquilibrée (0,5%).

Figure 6. Graphique à barres avec deux barres. Une barre indique 20 négatifs
            classes; l&#39;autre barre indique 1 classe positive.
Figure 6 : Échantillonnage par réduction

 

Étape 2 : Augmentez la pondération de la classe sous-échantillonnée : ajoutez des exemples de pondérations à la classe sous-échantillonnée. Après un sous-échantillonnage avec un facteur de 10, la pondération de l'exemple doit être égale à 10. (Oui, cela peut sembler contre-intuitif, mais expliquer pourquoi plus tard.)

Figure 7. Schéma en deux étapes de sous-échantillonnage et de pondération
            Étape 1 : Le sous-échantillonnage extrait des exemples aléatoires de la classe majoritaire. Étape 2 : L&#39;augmentation de la pondération ajoute de la pondération aux exemples réduits.
Figure 7. Surpondération.

 

Le terme poids ne fait pas référence aux paramètres du modèle (comme w1 ou w2). Ici, le poids fait référence à exemples de pondérations, ce qui augmente l'importance d'un exemple individuel pendant l'entraînement. Un exemple de poids de 10 signifie que le modèle considère l'exemple comme 10 fois plus important (lors du calcul de la perte) qu'un exemple de poids 1.

La pondération doit être égale au facteur que vous avez utilisé pour le sous-échantillonnage:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Il peut sembler étrange d'ajouter des exemples de pondérations après la réduction de la taille. Après tout, vous essayez d'améliorer le modèle pour la classe minoritaire. Pourquoi donner plus de poids à la classe majoritaire ? En fait, l'accentuation de la classe majoritaire tend à réduire le biais de prédiction. En d'autres termes, la surpondération après le sous-échantillonnage a tendance à réduire le delta entre la valeur moyenne des prédictions de votre modèle et la moyenne des étiquettes de votre ensemble de données.

Ratios de rééquilibrage

Dans quelle mesure devez-vous sous-échantillonner et surcharger pour rééquilibrer votre ensemble de données ? Pour déterminer la réponse, vous devez expérimenter le ratio de rééquilibrage, comme vous le feriez avec d'autres hyperparamètres. Toutefois, la réponse dépend des facteurs suivants:

  • Taille du lot
  • Le rapport de déséquilibre
  • Nombre d'exemples dans l'ensemble d'entraînement

Dans l'idéal, chaque lot doit contenir plusieurs exemples de classes minoritaires. Les lots qui ne contiennent pas suffisamment de classes minoritaires seront très mal entraînés. La taille de lot doit être plusieurs fois supérieure au ratio d'imbalance. Par exemple, si le ratio d'imbalancement est de 100:1, la taille de lot doit être d'au moins 500.

Exercice : Vérifiez votre compréhension

Prenons la situation suivante :

  • L'ensemble d'entraînement contient un peu plus d'un milliard d'exemples.
  • La taille de lot est de 128.
  • Le rapport de déséquilibre est de 100:1. L'ensemble d'entraînement est donc divisé comme suit: <ph type="x-smartling-placeholder">
      </ph>
    • Environ 1 milliard d'exemples de classes majoritaires.
    • Environ 10 millions d'exemples de classe minoritaire
Parmi les affirmations suivantes, lesquelles sont vraies ?
Augmenter la taille de lot à 1 024 améliorera le résultat obtenu du modèle.
Avec une taille de lot de 1 024, chaque lot comprendra en moyenne 10 exemples de classe minoritaire, ce qui devrait aider à entraîner un modèle beaucoup plus performant.
Conserver une taille de lot de 128, mais sous-échantillonnage (et surpondération) à 20:1 améliore le modèle obtenu.
Grâce au sous-échantillonnage, chaque lot de 128 lots donnera une moyenne d'environ 21 des exemples de classes minoritaires, ce qui devrait suffire à l'entraînement. un modèle utile. Notez que le sous-échantillonnage réduit le nombre d'exemples de l'ensemble d'entraînement d'un peu plus d'un milliard à environ 60 millions.
Les hyperparamètres actuels sont corrects.
Avec une taille de lot de 128, chaque lot aura une moyenne d'environ une minorité qui peut s'avérer insuffisante pour entraîner du modèle.