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.
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%).
É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.)
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