Un ensemble de données de classification avec des proportions de classe asymétriques est appelé déséquilibré. Les classes qui constituent une grande partie de l'ensemble de données sont appelées classes de majorité. Ceux qui en représentent une plus petite sont des classes de minorité.
Qu'est-ce qui est considéré comme déséquilibré ? La réponse peut être légère à extrême, comme le montre le tableau ci-dessous.
Niveau de déséquilibre | Proportion de minorités |
---|---|
Niveau modéré | 20 à 40% de l'ensemble de données |
Modérée | 1 à 20% de l'ensemble de données |
Extrême | Moins de 1% de l'ensemble de données |
Pourquoi faire attention aux données déséquilibrées ? Vous devrez peut-être appliquer une technique d'échantillonnage particulière si vous avez une tâche de classification dont l'ensemble de données est déséquilibré.
Prenons l'exemple suivant d'un modèle qui détecte une fraude. Les instances de fraude se produisent une fois pour 200 transactions dans cet ensemble de données.Dans la distribution réelle, environ 0,5% des données sont positives.
Pourquoi cela ? Avec si peu de positifs par rapport aux négatifs, le modèle d'entraînement passera la majeure partie de son temps sur des exemples négatifs et ne tirera pas suffisamment de leçons des exemples positifs. Par exemple, si votre taille de lot est de 128, de nombreux lots n'auront pas d'exemples positifs. Les gradients seront donc moins informatifs.
Si votre ensemble de données est déséquilibré, commencez par entraîner le modèle sur la véritable distribution. Si le modèle fonctionne bien et se prête bien à la généralisation, vous avez terminé. Si ce n'est pas le cas, essayez la technique suivante de sous-échantillonnage et de surpondération.
Sous-échantillonnage et surpondération
Un moyen efficace de gérer les données déséquilibrées consiste à sous-échantillonner et à surpondérer la classe de majorité. Commençons par définir ces deux nouveaux termes:
- Le sous-échantillonnage (dans ce contexte) consiste à effectuer un entraînement sur un sous-ensemble extrêmement faible des exemples de classes majoritaires.
- La surpondération correspond à l'ajout d'un exemple de pondération à la classe sous-échantillonnée par rapport au facteur de sous-échantillonnage.
Étape 1: Sous-échantillonnez la classe majoritaire Revenons à notre exemple d'ensemble de données de fraude, avec 1 à 200 négatifs. Le sous-échantillonnage d'un facteur de 10 réduit le solde à 1 pour être positif à 20 (5%). Bien que l'ensemble d'entraînement résultant soit toujours déséquilibré modérément, 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: Effectuez une augmentation de la classe sous-échantillonnée: la dernière étape consiste à ajouter des exemples de pondérations à la classe sous-échantillonnée. Puisque nous avons effectué un sous-échantillonnage avec un facteur de 10, l'exemple de pondération doit être de 10.
Vous avez peut-être l'habitude d'entendre le terme pondération lorsqu'il fait référence à des paramètres de modèle, tels que des connexions dans un réseau de neurones. Nous parlons ici des exemples de pondérations, ce qui signifie qu'un exemple individuel est plus important à prendre en compte pendant l'entraînement. Avec un exemple de pondération de 10, le modèle considère l'exemple comme 10 fois plus important (lors du calcul de la perte) qu'avec un exemple de pondération de 1.
La pondération doit être égale au facteur utilisé pour le sous-échantillonnage:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Pourquoi sous-échantillonner et augmenter la taille ?
Il peut sembler étrange d'ajouter des exemples de pondérations après le sous-échantillonnage. Nous avons essayé d'améliorer notre modèle sur la classe minoritaire. Pourquoi augmenter la pondération de la majorité ? Voici les modifications apportées:
- Convergence plus rapide: pendant l'entraînement, la classe minoritaire est plus souvent représentée, ce qui accélère la convergence du modèle.
- Espace disque: en consolidant la classe majoritaire dans moins d'exemples avec des pondérations plus importantes, nous consacrons moins d'espace disque à leur stockage. Cette économie permet à la classe minoritaire d'augmenter son espace disque, ce qui nous permet de collecter un plus grand nombre et un plus grand nombre d'exemples à partir de cette classe.
- Calibrage: la surpondération garantit que notre modèle est toujours calibré. Les résultats peuvent toujours être interprétés comme des probabilités.