Quand dois-je équilibrer les classes dans un ensemble de données dentraînement?

Jai suivi un cours en ligne, où jai appris, que des classes déséquilibrées dans les données dentraînement pouvaient entraîner des problèmes, car les algorithmes de classification adoptent la règle de la majorité, car cela donne de bons résultats si le déséquilibre est trop important. Dans un devoir, il fallait équilibrer les données en sous-échantillonnant la classe majoritaire.

Dans ce blog, cependant, quelquun affirme que léquilibre des données est encore pire:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

Alors, lequel est-ce? Dois-je équilibrer les données ou non? Cela dépend-il de lalgorithme utilisé, car certains pourraient être capables de maîtriser les proportions déséquilibrées des classes? Si oui, lesquels sont fiables sur des données déséquilibrées?

Réponse

Le raisonnement intuitif a été expliqué dans larticle du blog:

Si notre objectif est la prédiction, cela entraînera un biais certain. Et pire, ce sera un biais permanent, dans le sens où nous naurons pas destimations cohérentes à mesure que la taille de léchantillon augmente.

Donc, on peut soutenir que le problème des données équilibrées (artificiellement) est pire que le cas non équilibré .

Les données équilibrées sont bonnes pour la classification, mais vous perdez évidemment des informations sur les fréquences dapparition, ce qui affectera les mesures de précision elles-mêmes, ainsi que les performances de production .

Disons que vous reconnaissez des lettres manuscrites de lalphabet anglais (26 lettres). Surbalancer chaque apparence de lettre donnera à chaque lettre une probabilité dêtre classée (correctement ou non) denviron 1/26, de sorte que le classificateur oubliera la distribution réelle des lettres dans léchantillon dorigine. Et cest ok quand le classificateur est capable de généraliser et de reconnaître chaque lettre avec une grande précision .

Mais si la précision et surtout la généralisation ne sont pas « t » si élevées « (je ne peux » pas vous donner de définition – vous pouvez la considérer comme le « pire des cas ») – les points mal classés seront le plus -distribuer probablement également entre toutes les lettres, quelque chose comme:

"A" was misclassified 10 times "B" was misclassified 10 times "C" was misclassified 11 times "D" was misclassified 10 times ...and so on 

Par opposition à sans équilibrage (en supposant que « A » et « C » ont des probabilités beaucoup plus élevées de Apparence dans le texte)

"A" was misclassified 3 times "B" was misclassified 14 times "C" was misclassified 3 times "D" was misclassified 14 times ...and so on 

Les cas fréquents entraîneront moins derreurs de classification. Que ce soit bon ou non dépend de votre tâche. Pour la reconnaissance de texte naturel, on pourrait soutenir que les lettres avec des fréquences plus élevées sont plus viables, car elles préserveraient la sémantique du texte original, rapprochant la tâche de reconnaissance de la prédiction (où la sémantique représente tendances ). Mais si vous « essayez de reconnaître quelque chose comme une capture décran de clé ECDSA (plus dentropie -> moins de prédiction), garder les données déséquilibrées ne vous aiderait pas. Donc, encore une fois, cela dépend.

La distinction la plus importante est que lestimation de la précision est, elle-même, biaisée (comme vous pouvez le voir dans lexemple de lalphabet équilibré), vous ne savez donc pas comment le comportement du modèle est affecté par les points les plus rares ou les plus fréquents.

PS Vous pouvez toujours suivre les performances de la classification déséquilibrée avec les métriques Précision / Rappel dabord et décider si vous devez ajouter un équilibrage ou non.


EDIT : Il y a une confusion supplémentaire qui réside dans théorie de lestimation précisément dans la différence entre la moyenne de léchantillon et la moyenne de la population. Par exemple, vous connaissez peut-être (sans doute) la distribution réelle des lettres anglaises dans lalphabet $ p (x_i | \ theta) $ , mais votre échantillon (ensemble dapprentissage) nest pas assez grand pour estimer correctement (avec $ p (x_i | \ hat \ theta) $ ). Ainsi, afin de compenser un $ \ hat \ theta_i – \ theta_i $ , il est parfois recommandé de rééquilibrer les classes en fonction soit de la population elle-même, soit de paramètres connus de un échantillon plus large (donc meilleur estimateur). Cependant, dans la pratique, il ny a aucune garantie que « plus grand échantillon » soit distribué de manière identique en raison du risque dobtenir des données biaisées à chaque étape (disons des lettres anglaises collectées dans la littérature technique par rapport à la fiction par rapport à lensemble de la bibliothèque), de sorte que léquilibrage pourrait encore être nuisible .

Cette réponse devrait également clarifier les critères dapplicabilité pour léquilibrage:

Le problème du déséquilibre de classe est causé par le manque de modèles appartenant à la classe minoritaire, et non par le rapport des modèles positifs et négatifs en soi.Généralement si vous avez suffisamment de données, le « problème de déséquilibre de classe » ne se pose « pas

En conclusion, léquilibrage artificiel est rarement utile si lensemble dapprentissage est suffisamment grand. Absence de données statistiques provenant dun distribué de manière identique léchantillon suggère également quil ny a pas besoin déquilibrage artificiel (surtout pour la prédiction), sinon la qualité de lestimateur est aussi bonne que la « probabilité de rencontrer un dinosaure »:

Quelle est la probabilité de rencontrer un dinosaure dans la rue?

1/2 soit vous rencontrez un dinosaure, soit vous ne rencontrez pas de dinosaure

Commentaires

  • Je pense quoutre lexplication du problème, ce quil faut retenir de cette réponse est quil faut essayez dabord le déséquilibré et vérifiez ses résultats et seulement si nécessaire, faites léquilibrage et vérifiez son résultat. +1
  • Donc, en dautres termes, avec des classes uniformément réparties dans le sous-ensemble dentraînement, le modèle perdra sa précision dans les données invisibles, nest-ce pas? Mais, dans le cas contraire, où vous essayez dextraire au hasard les entrées dun ensemble de données pour vos sous-ensembles dentraînement / test, votre classificateur fonctionnera-t-il mieux?
  • @ChristosK. Comme beaucoup lont dit, lorsque vous voyez le problème comme une classification, il est difficile de raisonner sur la prédiction. Dans tous les cas, si vous supprimez le biais (échantillon «au hasard»), vous avez besoin dun échantillon plus grand pour améliorer les performances. C’est juste «généralement» que l’échantillon est assez grand pour préserver la sémantique, donc le suréquilibrage ne ferait que blesser et agirait comme un marteau de régularisation qui «aplatit» tout sans considération appropriée. De plus, comme le suggère la métaphore des dinosaures, «équilibré» ne signifie pas «pair» – vous ne faites un bon équilibrage que lorsque vous savez que certaines probabilités sont mal représentées dans un échantillon «aléatoire».
  • @ChristosK. Merci pour quelques éclaircissements. Ce n’est pas la même chose que je voulais dire, mais l’approche est très similaire. La recommandation habituelle pour lapplicabilité du pli k est de le faire lorsque votre échantillon initial est «un peu petit». Pas sûr, mais le pliage ne devrait pas faire de mal de toute façon – il faut juste plus de courses, et moins vous vous souciez de la prédiction, moins vous vous souciez de la généralisation / des performances aussi tautologiques que cela puisse paraître :). Mais dans lensemble – k-fold signifie essentiellement moins de biais.
  • @ChristosK. Oh, et comme avertissement, le rapport spam / non-spam pourrait être une variable aléatoire non stationnaire en soi. Avec toutes ces « fausses nouvelles », « trolls russes » et autres choses, je ferais attention à ces hypothèses – le ratio pourrait aussi être biaisé. Vous voudrez peut-être dabord estimer PrecisionRecall sur vos classificateurs, si quelque chose est sous-échantillonné – je préfère collecter / générer (?) Plus de données.

Réponse

Conformément au commentaire de @ kjetil-b-halvorsen « , ladoption rapide de lapprentissage automatique a dérouté les chercheurs sur la prédiction et la classification. Comme je lai décrit plus en détail ici , la classification nest appropriée que dans une minorité de cas. Lorsque lissue est rare (ou trop courante), les probabilités sont tout car dans ce cas on peut ne parlez raisonnablement que de tendances , pas de prédiction doccurrences individuelles.

Dans les statistiques, nous avons appris il y a quelque temps que toute méthode qui nécessite dexclure certaines données est hautement suspecte. Lobjectif déquilibrage des résultats est donc déplacé. La prédiction des tendances (probabilités) ne lexige pas. Et une fois que vous estimez une probabilité, vous pouvez prendre une décision optimale en appliquant les Fonction dutilité / coût / perte au risque prévu.

Réponse

Cela dépend de ce que vous voulez réaliser à partir de la classification?

Disons quil sagit dun cancer ou non dun cancer, alors le dépistage du cancer est vital. Cependant, comme le non-cancer constituera la majorité de vos données, le classificateur peut essentiellement envoyer tous les cas dans une classe non cancéreuse et obtenir une très grande précision. Mais nous ne pouvons pas nous le permettre, donc nous avons essentiellement réduit léchantillon de cas non cancéreux, déplaçant essentiellement la limite de décision de la région cancéreuse vers la région non cancéreuse.

Même dans les cas dutilisation où la précision est notre seule objectif, léquilibrage peut être essentiel si le bilan de temps de test est censé être différent de lheure du train.

Par exemple, disons que vous voulez classer les mangues et les oranges, vous avez un ensemble de données dentraînement avec 900 mangues et 30 oranges, mais vous prévoyez de le déployer sur un marché avec des mangues et des oranges égales, alors idéalement, vous devriez échantillonner le ratio déchantillonnage attendu pour maximiser la précision.

Commentaires

  • Cest ce que jai compris des conférences que jai eues. Cependant, je ne ‘ pas comprendre quand léquilibrage peut être mauvais, comme le suggère cet article de blog. Pourquoi serait-il jamais mauvais de équilibre, sil reste suffisamment de points de données pour chaque classe?
  • Désolé, mais dans votre analogie, quest-ce que la distribution des fruits du marché a à voir avec le modèle ac la curiosité?Soit vous avez appris à séparer les mangues des oranges, soit pas. En dautres termes, vous devriez pouvoir déployer le même modèle sur un marché uniquement orange ou mangue.
  • Mais le problème avec lexemple du cancer est de le considérer comme une classification , il doit être traité comme une estimation du risque . Ensuite, le problème apparent des classes déséquilibrées disparaît, voir stats.stackexchange.com/questions/127042/…

Réponse

Lorsque vos données sont équilibrées, vous pouvez préférer vérifier la précision de la métrique. Mais dans une telle situation, vos données sont déséquilibrées, votre précision nest pas cohérente pour les différentes itérations. Vous devez concentrer plus de métriques comme la précision (PPR), le rappel (sensibilité). Ces deux mesures doivent être équilibrées lors de la comparaison. Vous devriez également avoir à vérifier F1-Score qui est la moyenne harmonique de la précision et du rappel. Cela sapplique à tous les algorithmes dapprentissage automatique

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *