Quand le déséquilibre des données pose-t-il vraiment un problème dans le Machine Learning?

53

Nous avions déjà plusieurs questions sur les données déséquilibrées lors de l'utilisation de la régression logistique , de la SVM , des arbres de décision , de la mise en sac et de plusieurs autres questions similaires, ce qui en fait un sujet très populaire! Malheureusement, chacune des questions semble être spécifique à un algorithme et je n'ai trouvé aucune directive générale pour traiter les données asymétriques.

Citant l' une des réponses de Marc Claesen , traitant de données non équilibrées

(...) dépend fortement de la méthode d'apprentissage. La plupart des approches générales ont un (ou plusieurs) moyen de gérer cela.

Mais quand devons-nous nous préoccuper des données déséquilibrées? Quels algorithmes sont le plus souvent affectés et lesquels sont capables de le gérer? Quels algorithmes auraient besoin de nous pour équilibrer les données? Je suis conscient que discuter de chacun des algorithmes serait impossible sur un site de questions-réponses comme celui-ci. Je cherche plutôt des directives générales sur les cas où cela pourrait poser problème.

Tim
la source
@ MatthewDrury merci, c'est une question intéressante, mais à mon humble avis, elle a une portée différente. Ce que je demande, ce sont des directives lorsque cela pose vraiment un problème. Bien sûr, répondre à la question pourquoi conduit à répondre à la question quand , mais je cherche une réponse précise pour la question quand .
Tim
9
C'est suffisant! Je suis d'accord. La "littérature" sur ce sujet semble être centrée sur la façon de résoudre un problème, sans chercher à vous convaincre qu’il ya effectivement un problème à résoudre, ni même à vous dire dans quelles situations un problème se produit ou non. Une des parties les plus frustrantes du sujet pour moi.
Matthew Drury
2
@ MatthewDrury c'est exactement le problème!
Tim
1
Une enquête complète sur les méthodes ne relève pas d'une question de SE. Voulez-vous préciser la question?
AdamO

Réponses:

29

Pas une réponse directe, mais il convient de noter que, dans la littérature statistique, certains préjugés contre des données non équilibrées ont des racines historiques.

De nombreux modèles classiques se simplifient nettement sous l'hypothèse de données équilibrées, en particulier pour les méthodes telles que l'ANOVA qui sont étroitement liées au plan expérimental - une motivation traditionnelle / originale pour développer des méthodes statistiques.

Mais l'arithmétique statistique / probabiliste devient assez moche, assez rapidement, avec des données déséquilibrées. Avant l’adoption généralisée des ordinateurs, les calculs manuels étaient si complexes qu’il était pratiquement impossible d’estimer des modèles sur des données non équilibrées.

Bien sûr, les ordinateurs ont fondamentalement éliminé ce problème. De même, nous pouvons estimer des modèles sur des jeux de données volumineux, résoudre des problèmes d'optimisation de grandes dimensions et extraire des échantillons de distributions de probabilités jointes analytiquement intraitables, qui étaient toutes fonctionnellement impossibles il y a cinquante ans.

C'est un vieux problème, et les universitaires ont mis beaucoup de temps à travailler sur le problème ... en attendant, de nombreux problèmes appliqués ont dépassé / empêché cette recherche, mais les vieilles habitudes ont la vie dure ...

Modifier pour ajouter:

Je me rends compte que je ne suis pas sorti et que je viens de le dire: l'utilisation de données non équilibrées ne pose pas de problème de bas niveau. D'après mon expérience, le conseil pour "éviter les données déséquilibrées" est soit une sagesse spécifique à un algorithme, soit héritée. Je conviens avec AdamO qu'en général, les données non équilibrées ne posent aucun problème conceptuel à un modèle bien spécifié.

Henri
la source
4
Bien que je semble avoir compris votre argument, vos prémisses manquent d'arguments les soutenant. Pourriez-vous donner des arguments et / ou des exemples sur les préjugés et sur la manière dont ils affectent l'apprentissage automatique?
Tim
1
Si ce que vous dites est généralement vrai, il est également vrai que des méthodes telles que anova sont plus robustes avec des données équilibrées, la non-normalité pose moins problème, par exemple, avec des données équilibrées. Mais je crois que tout ceci est orthogonal à l'intention de cette question ...
kjetil b halvorsen
7
Je me rends compte que je ne suis pas venu et juste dire: il n'y a pas un problème de bas niveau avec l' utilisation de données asymétriques. D'après mon expérience, le conseil pour "éviter les données déséquilibrées" est soit une sagesse spécifique à un algorithme, soit héritée. Je conviens avec AdamO qu'en général, les données non équilibrées ne posent aucun problème conceptuel à un modèle bien spécifié.
Henry
1
@ M.HenryL. Ce commentaire mérite d’être ajouté à votre réponse pour plus de précision.
Tim
16

WLOG, vous pouvez vous concentrer sur le déséquilibre dans un facteur unique plutôt que sur un concept plus nuancé de "fragmentation des données" ou de petites cellules.

Dans les analyses statistiques qui ne sont pas axées sur l'apprentissage, nous constatons souvent qu'une puissance similaire ou meilleure est obtenue lorsque des scores de propension sont utilisés pour faire correspondre le groupe le plus petit au groupe le plus large. C'est en partie parce que l'appariement sert un objectif similaire à l'ajustement de confusion en termes d '"équilibrage" des déterminants de l'appartenance à un groupe, bloquant ainsi leurs effets de confusion. La justification du nombre de facteurs de confusion à ajuster éventuellement dans une analyse à plusieurs variables dépend de la taille de l'échantillon. Certaines règles empiriques disent une variable pour 10 à 20 observations. Dans des données déséquilibrées, vous croyez naïvement que vos données sont suffisamment grandes, mais avec un nombre restreint de personnes présentant la condition la plus rare: une inflation par variance diminue considérablement le pouvoir. En fait, vous êtes en train de trop vous ajuster.

Par conséquent, du moins dans la régression (mais je suppose que dans toutes les circonstances), le seul problème avec les données déséquilibrées est que vous avez effectivement un échantillon de petite taille . Si une méthode convient au nombre de personnes appartenant à la classe la plus rare, il ne devrait pas y avoir de problème si leur proportion de membres est déséquilibrée.

AdamO
la source
13

Les données déséquilibrées ne sont un problème que selon votre application. Si, par exemple, vos données indiquent que A arrive 99,99% du temps et 0,01% du temps B se produit et que vous essayez de prédire un certain résultat, votre algorithme dira probablement toujours A. Ceci est bien sûr correct! Il est peu probable que votre méthode obtienne une précision de prédiction supérieure à 99,99%. Cependant, dans de nombreuses applications, nous ne nous intéressons pas uniquement à l'exactitude de la prédiction, mais également à la raison pour laquelle B se produit parfois. C’est là que les données déséquilibrées deviennent un problème. Parce qu'il est difficile de convaincre votre méthode qu'elle peut prédire mieux que 99,99% de réponses correctes. La méthode est correcte mais pas pour votre question. Résoudre des données non équilibrées revient donc à biaiser intentionnellement vos données pour obtenir des résultats intéressants au lieu de résultats précis.

En général, il y a trois cas:

  1. vous êtes purement intéressé par une prédiction précise et vous pensez que vos données sont représentatives. Dans ce cas, vous n'avez pas à corriger du tout, Dorez-vous dans la gloire de vos prédictions précises à 99,99% :).

  2. La prévision vous intéresse, mais vos données proviennent d'un échantillon correct, mais vous avez en quelque sorte perdu un certain nombre d'observations. Si vous avez perdu des observations de manière totalement aléatoire, vous vous en sortez bien. Si vous les avez perdues de manière biaisée mais que vous ne savez pas à quel point elles sont biaisées, vous aurez besoin de nouvelles données. Cependant, si ces observations ne sont perdues que sur la base d'une caractéristique. (Par exemple, vous avez trié les résultats dans A et B mais pas de toute autre manière mais perdu la moitié de B) Ypu peut amorcer vos données.

  3. Vous n'êtes pas intéressé par une prédiction globale précise, mais seulement dans un cas rare. Dans ce cas, vous pouvez gonfler les données de ce cas en amorçant les données ou si vous avez suffisamment de données en lançant des données de chemin des autres cas. Notez que cela biaise vos données et vos résultats, et donc les chances et ce genre de résultats sont faux!

En général, cela dépend principalement de l'objectif recherché. Certains objectifs souffrent de données déséquilibrées, d'autres non. Toutes les méthodes de prévision générales en souffrent, car sinon elles donneraient des résultats terribles en général.

Zen
la source
7
Comment cette histoire change-t-elle lorsque nous évaluons nos modèles de manière probabiliste?
Matthew Drury
@MatthewDrury Les probabilités du modèle d'origine sont généralement correctes pour les cas 1 et 3. Le problème est que seuls les très grands ensembles de données B deviennent correctement séparables de A et que la probabilité de B converge lentement vers sa valeur réelle. L'exception étant que si B est très clairement séparé de A ou complètement séparé de A, les probabilités convergeront presque immédiatement ou ne convergeront jamais.
Zen
Je ne suis pas du tout d'accord avec le fait que la régression logistique est moins vulnérable. La régression logistique est assez vulnérable au déséquilibre des données, elle crée un faible biais d'échantillon et les rapports de cotes logistiques tendent vers un facteur de 2. La régression logistique conditionnelle est une alternative à l'estimation des mêmes RUP sans biais.
AdamO
@AdamO Yes La régression logistique est toujours vulnérable. Mais pour les arbres, les petits cas peuvent être complètement ignorés. ce n'est pas juste une petite taille d'échantillon non plus. même pour les grands n et par exemple 80% -20% de répartition entre les options, les arbres peuvent toujours choisir de choisir l'option 80% même si la fraction de l'option 20% augmente clairement avec une variable x. Si une nouvelle observation plus extrême est trouvée ou si le nombre de branches est trop faible pour un point extrême, l’arbre prédira l’option de 80% alors que la régression logistique aura moins de chance de le faire. Vous avez raison au sujet de la régression logistique conditionnelle
zen
2
@MatthewDrury Stephen Senn a une excellente discussion sur ce point dans un document que je relis souvent . Heuristiquement, le rapport de cotes d'un tableau 2x2 avec les entrées abcd est estimé par ad / (bc) et présente une variance 1 / a + 1 / b + 1 / c + 1 / d. Vous pouvez échantillonner arbitrairement quelques cas (a et c) et le rapport de cotes est toujours non biaisé, mais la variance va jusqu'à l'infini. C'est un problème de précision.
AdamO
8

Supposons que nous avons deux classes:

  • A , représentant 99,99% de la population
  • B , représentant 0,01% de la population

Supposons que nous recherchions des éléments de classe B, qui pourraient être des personnes touchées par une maladie rare ou un fraudeur.

Juste en devinant Un apprenant serait un score élevé sur leur perte-fonctions et les très peu d' éléments mal classés pourraient ne pas se déplacer, numériquement, l'aiguille (dans une botte de foin, dans ce cas). Cet exemple apporte à l'intuition l'un des "trucs" permettant d'atténuer le problème de déséquilibre de classe: ajuster la fonction de coût.

Je pense que les données déséquilibrées sont un problème lorsque les modèles montrent une sensibilité proche de zéro et une spécificité proche de un. Voir l'exemple dans cet article sous la section "Ignorer le problème" .

Les problèmes ont souvent une solution. Outre le truc susmentionné, il existe d'autres options . Cependant, ils ont un prix: une augmentation de la complexité des modèles et des calculs.

La question demande quels modèles sont plus susceptibles de s’adapter à une sensibilité proche de zéro et à une spécificité proche de un. Je pense que cela dépend de quelques dimensions:

  • Moins de capacité, comme d'habitude.
  • Certaines fonctions de coût peuvent présenter plus de difficultés que d’autres: l’erreur quadratique moyenne (MSE) est moins exposée que Huber - MSE devrait être moins inoffensive vis-à-vis des éléments de classe B mal classés .
IcannotFixThis
la source
1
Cela suppose implicitement (1) que la précision de l'indicateur de performance clé que nous essayons de maximiser est celle-ci, et (2) que la précision est un indicateur de performance clé approprié pour l'évaluation du modèle de classification. Ce n'est pas.
S. Kolassa - Réintégrer Monica
5

Si vous y réfléchissez: sur un ensemble de données parfaitement déséquilibré parfaitement séparable, presque tous les algorithmes fonctionneront sans erreur.

Il s’agit donc plutôt d’un problème de bruit dans les données et moins lié à un algorithme particulier. Et vous ne savez pas au préalable quel algorithme compense le mieux un type de bruit particulier.

En fin de compte, il vous suffit d'essayer différentes méthodes et de décider par validation croisée.

Gerenuk
la source
Je pense que ce commentaire est un peu sous-estimé. Je passe juste un peu de temps à convaincre quelqu'un que le déséquilibre des classes n'est pas toujours un problème.
RDK
Cela ne répond pas à la question. Comment les classes non équilibrées sont-elles "davantage un problème de bruit dans les données"?
S. Kolassa - Réintégrer Monica le
2
@StephanKolassa C'est une réponse, car il dit que les données non équilibrées ne sont pas (directement) un problème. Par conséquent, vous ne pouvez pas demander "comment" c'est. Pour la question plus générale "comment traiter les problèmes de bruit dans l'analyse de données", la réponse est qu'il est spécifique à des ensembles de données individuels et que tout ce que vous pouvez faire est de configurer la validation et d'essayer ce qui fonctionne. Si vous souhaitez vraiment en discuter, je pense que ele.uri.edu/faculty/he/PDFfiles/ImbalancedLearning.pdf a des idées. Mais à la fin, vous ferez des échantillonnages / repondérations / seuils et il n’est pas utile de savoir ce qui s’est exactement passé dans cet ensemble de données.
Gerenuk