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

Prenons l'exemple d'un ensemble de données contenant une étiquette catégorielle dont la valeur est : positive ou négative. Dans un ensemble de données équilibré, le nombre de valeurs positives et les étiquettes négatives sont à peu près égales. 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 majority class (classe majoritaire) l'étiquette la moins courante est appelée classe minoritaire.

Le tableau suivant indique les noms et plages généralement acceptés pour différents degrés de déséquilibre:

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 représente 99,5%. Les jeux de données extrêmement déséquilibrés comme celui-ci sont courants en médecine car la plupart des sujets n’auront pas le virus.

Figure 5. Graphique à barres avec deux barres. Un bar affiche environ 200
            les classes négatives ; l&#39;autre barre indique 1 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 contiendraient aucune étiquette positive.

Souvent, en particulier dans les cas suivants : jeux de données, 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.

Sous-échantillonnage et surpondération

Pour gérer un ensemble de données déséquilibré, vous pouvez sous-échantillonner et surcharger à la classe majoritaire. Voici les définitions de ces deux nouveaux termes:

  • Sous-échantillonnage (dans ce contexte) implique un entraînement sur un sous-ensemble disproportionné de la classe majoritaire exemples.
  • La surpondération consiste à ajouter de pondération à la classe sous-échantillonnée égale au facteur utilisé pour sous-échantillonnés.

Étape 1: Sous-échantillonnez la classe majoritaire. Tenez compte des points suivants : ensemble de données sur les virus dont le ratio est de 1 étiquette positive pour 200 étiquettes négatives étiquettes. Sous-échantillonnage selon un facteur de 20 améliore le solde, passant de 1 positif à 10 négatifs (10%). Bien que le l'ensemble d'entraînement qui en résulte est toujours modérément déséquilibré, la proportion de le rapport entre les positifs et les négatifs est bien meilleur que celui d'origine, extrêmement déséquilibré. (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 : Sous-échantillonnage.

 

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

Figure 7. Schéma en deux étapes du sous-échantillonnage et de la surpondération.
            Étape 1: Le sous-échantillonnage extrait des exemples aléatoires de la majorité
            . Étape 2: La surpondération ajoute une pondération au sous-échantillonné
            exemples.
Figure 7. Surpondération.

 

Le terme pondération 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. Avec une pondération de 10, le modèle traite l'exemple comme 10 fois plus importante (en cas de perte de calcul) qu'un exemple 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 un sous-échantillonnage. Après tout, vous êtes essayer d'améliorer le modèle par rapport à la classe minoritaire. Pourquoi surcharger parmi les plus majoritaires ? En fait, la surpondération de la classe majoritaire a tendance à réduire 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:

  • La taille de 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 s'entraîneront très mal. La taille de lot doit être plusieurs fois supérieure au ratio de déséquilibre. Par exemple, si le ratio de déséquilibre est de 100:1, la taille de lot doit être d'au moins 500.

Exercice: tester vos connaissances

Prenons la situation suivante :

  • La taille de lot est de 128.
  • Le rapport de déséquilibre est de 100:1.
  • L'ensemble d'entraînement contient un milliard d'exemples.
Parmi les affirmations suivantes, lesquelles sont vraies ?
Augmenter la taille de lot à 1 024 améliorera le résultat obtenu du modèle de ML.
Avec une taille de lot de 1 024, chaque lot compte en moyenne des exemples de classes minoritaires, qui devraient suffire à l'entraînement. Sans sous-échantillonnage, l'ensemble d'entraînement continue d'en contenir un milliards d'exemples.
Sous-échantillonnage (et surpondération) à 20:1 tout en conservant la taille de lot à 128 améliore le modèle obtenu.
Chaque lot comprendra en moyenne neuf exemples de classes minoritaires, ce qui devrait suffisant pour l'entraînement. Le sous-échantillonnage réduit efficacement les données le nombre d'exemples dans l'ensemble d'entraînement, 40 millions.
La situation actuelle ne pose pas de problème.
La plupart des lots ne contiennent pas assez de classes minoritaires pour entraîner un modèle du modèle de ML.