Quelle est la cause profonde du problème de déséquilibre de classe?

30

J'ai beaucoup réfléchi au «problème de déséquilibre de classe» dans l'apprentissage machine / statistique ces derniers temps, et j'approfondis de plus en plus le sentiment que je ne comprends tout simplement pas ce qui se passe.

Permettez-moi d'abord de définir (ou d'essayer de) définir mes termes:

Le problème de déséquilibre des classes dans l'apprentissage machine / statistique est l'observation que certains algorithmes de classification binaire (*) ne fonctionnent pas bien lorsque la proportion de 0 classes à 1 classe est très biaisée.

Ainsi, dans ce qui précède, par exemple, s'il y avait cent classes 0 pour chaque classe 1 unique , je dirais que le déséquilibre de classe est de 1 à 100 , ou 1% .

La plupart des déclarations du problème que j'ai vu manquent de ce que je considérerais comme une qualification suffisante (quels modèles ont du mal, à quel point le déséquilibre est un problème), et c'est une source de ma confusion.

Une étude des textes standard en apprentissage machine / statistique s'avère peu:

  • Les éléments du penchement statistique et de l' introduction à l'apprentissage statistique ne contiennent pas de «déséquilibre de classe» dans l'indice.
  • L'apprentissage automatique pour Predictive Data Analytics ne contient pas non plus de «déséquilibre de classe» dans l'index.

  • Murphy Machine Learning: une perspective probabilistes ne contient « déséquilibre de classe * dans l'index La référence est à une section sur SVM, où je trouve le commentaire suivant alléchant.:

    Il convient de rappeler que toutes ces difficultés, et la pléthore d'heuristiques qui ont été proposées pour les résoudre, surviennent fondamentalement parce que les SVM ne modélisent pas l'incertitude en utilisant des probabilités, de sorte que leurs scores de sortie ne sont pas comparables entre les classes.

Ce commentaire concorde avec mon intuition et mon expérience: dans mon travail précédent, nous ajustions régulièrement les régressions logistiques et les modèles d'arbres boostés par le gradient (pour minimiser la vraisemblance logarithmique binomiale) aux données non équilibrées (de l'ordre d'un déséquilibre de classe de 1% ), sans problèmes évidents de performances.

J'ai lu (quelque part) que les modèles d'arbre de classification (arbres eux-mêmes et forêt aléatoire) souffrent également du problème de déséquilibre de classe. Cela brouille un peu les eaux, les arbres renvoient, dans un certain sens, des probabilités: le record de vote pour la classe cible dans chaque nœud terminal de l'arbre.

Donc, pour conclure, ce que je recherche vraiment, c'est une compréhension conceptuelle des forces qui conduisent au problème de déséquilibre de classe (s'il existe).

  • Est-ce quelque chose que nous nous faisons avec des algorithmes mal choisis et des seuils de classification par défaut paresseux?
  • Cela disparaît-il si nous ajustons toujours des modèles de probabilité qui optimisent les critères de notation appropriés? Autrement dit, la cause est-elle simplement un mauvais choix de la fonction de perte, c'est-à-dire l'évaluation du pouvoir prédictif d'un modèle sur la base de règles de classification strictes et d'une précision globale?
  • Dans l'affirmative, les modèles qui n'optimisent pas les règles de notation appropriées sont-ils alors inutiles (ou du moins moins utiles)?

(*) Par classification, j'entends tout modèle statistique adapté aux données de réponse binaire. Je ne suppose pas que mon objectif est une affectation difficile à une classe ou à l'autre, bien qu'il puisse l'être.

Matthew Drury
la source
1
Un problème évident peut survenir lorsque l'apprenant pénalise la perte de chaque classe de la même manière. Renvoyer tout la même classe pourrait, en théorie, minimiser la perte totale.
Firebug
1
J'ai oublié d'ajouter poor choice of loss functiondans ma liste. Alors, pensez-vous que cela est vrai même pour les règles de notation appropriées en tant que fonctions de perte?
Matthew Drury
Je le pense. Je suppose que nous pouvons formuler un problème où la minimisation de la perte de la plus grande classe ne minimise que la perte de l'ensemble du problème, alors qu'en général la classe minoritaire présente un plus grand intérêt.
Firebug
3
Je suis d'accord avec les sentiments de la question. J'ai eu une hypothèse de travail (bien que heureuse de le rejeter) qu'il n'y a pas de problème de déséquilibre de classe en soi, juste que nous nous entraînons avec des fonctions de perte qui ne représentent pas ce que nous utiliserons pour mesurer le succès sur les données de test. Et il est difficile d'appeler cela une erreur, car c'est une pratique presque standard: par exemple, il n'est pas standard d'optimiser directement le score AUC ou F1, mais ce sont des mesures de succès courantes pour les problèmes de déséquilibre de classe. Alors peut-être que c'est le problème du déséquilibre de classe?
DavidR
9
La cause du problème de déséquilibre de classe est la convention d'utilisation de la précision comme fonction de perte. le déséquilibre des classes est une caractéristique du problème (diagnostic des maladies rares par exemple), qui peut être traité à l'aide de plusieurs stratégies. L'utilisation d'un poids de classe inversement proportionnel à la taille de la classe lors du calcul de la fonction de perte en fait partie. En dehors de cela, l'ASC en tant que fonction de perte est une bonne idée car elle fait une distinction spécifique entre vrai-positif et faux-positif. Par conséquent, le problème central du problème de déséquilibre de classe est la fonction de perte. Grande question cependant, à laquelle je n'ose pas répondre.
Nikolas Rieble

Réponses:

5

Une entrée de l' Encyclopedia of Machine Learning ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) explique utilement que ce qu'on appelle "le problème de déséquilibre de classe" est mieux compris comme trois problèmes distincts:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

Les auteurs expliquent:

Les ensembles de données de classe déséquilibrée se produisent dans de nombreuses applications du monde réel où les distributions de classe de données sont très déséquilibrées. Encore une fois, sans perte de généralité, nous supposons que la classe minoritaire ou rare est la classe positive, et la classe majoritaire est la classe négative. Souvent, la classe minoritaire est très petite, comme 1% de l'ensemble de données. Si nous appliquons les classificateurs les plus traditionnels (insensibles aux coûts) sur l'ensemble de données, ils sont susceptibles de tout prédire comme négatifs (la classe majoritaire). Cela était souvent considéré comme un problème dans l'apprentissage à partir d'ensembles de données très déséquilibrés.

Cependant, comme le souligne (Provost, 2000), deux hypothèses fondamentales sont souvent émises dans les classificateurs traditionnels insensibles aux coûts. Le premier est que le but des classificateurs est de maximiser la précision (ou de minimiser le taux d'erreur); la seconde est que la distribution des classes des jeux de données d'apprentissage et de test est la même. Selon ces deux hypothèses, tout prédire comme négatif pour un ensemble de données très déséquilibré est souvent la bonne chose à faire. (Drummond et Holte, 2005) montrent qu'il est généralement très difficile de surclasser ce classificateur simple dans cette situation.

Ainsi, le problème de classe déséquilibrée ne devient significatif que si l'une ou les deux hypothèses ci-dessus ne sont pas vraies; c'est-à-dire si le coût de différents types d'erreur (faux positif et faux négatif dans la classification binaire) n'est pas le même, ou si la distribution des classes dans les données de test est différente de celle des données d'apprentissage. Le premier cas peut être traité efficacement en utilisant des méthodes de méta-apprentissage sensibles aux coûts.

Dans le cas où le coût de la mauvaise classification n'est pas égal, il est généralement plus cher de classer incorrectement un exemple minoritaire (positif) dans la classe majoritaire (négative), qu'un exemple majoritaire dans la classe minoritaire (sinon il est plus plausible de tout prévoir comme négatif). Autrement dit, FN> FP. Ainsi, étant donné les valeurs de FN et FP, une variété de méthodes de méta-apprentissage sensibles au coût peuvent être et ont été utilisées pour résoudre le problème de déséquilibre de classe (Ling et Li, 1998; Japkowicz et Stephen, 2002). Si les valeurs de FN et FP ne sont pas inconnues explicitement, FN et FP peuvent être attribuées pour être proportionnelles à p (-): p (+) (Japkowicz et Stephen, 2002).

Dans le cas où les distributions de classes des ensembles de données de formation et de test sont différentes (par exemple, si les données de formation sont fortement déséquilibrées mais que les données de test sont plus équilibrées), une approche évidente consiste à échantillonner les données de formation de telle sorte que leur distribution de classe soit la même que les données des tests (en suréchantillonnant la classe minoritaire et / ou en sous-échantillonnant la classe majoritaire) (Provost, 2000).

Notez que parfois le nombre d'exemples de la classe minoritaire est trop petit pour que les classificateurs apprennent correctement. C'est le problème des données de formation insuffisantes (petites), différentes de celles des jeux de données déséquilibrés.

Ainsi, comme le suggère Murphy, il n'y a rien de fondamentalement problématique à utiliser des classes déséquilibrées, à condition d'éviter ces trois erreurs. Les modèles qui produisent des probabilités postérieures permettent d'éviter plus facilement l'erreur (1) que les modèles discriminants comme SVM car ils vous permettent de séparer l'inférence de la prise de décision. (Voir la section 1.5.4 de Bishop's Inférence et décision pour plus de détails sur ce dernier point.)

J'espère que ça t'as aidé.

Bill Vander Lugt
la source
2
J'allais poster quelque chose de similaire. un petit commentaire - je pense qu'il est fou de sous-échantillonner la classe plus grande. Cela jette vos données et ne fournira certainement pas de meilleurs résultats. J'aime la notion de division de l'inférence et de la classification. la partie inférence n'est pas affectée par le déséquilibre, mais la prise de décision (classification) peut être grandement affectée.
probabilités
@probabilityislogic (et Bill Vander Lugt): Il y a un autre problème possible qui n'est pas discuté dans ce texte: si un Ansatz discriminant est adéquat. L'adoption inadéquate d'un modèle discriminatoire où une classe unique serait plus appropriée peut également entraîner des «problèmes de déséquilibre de classe».
cbeleites prend en charge Monica
8

Tout ce qui implique une optimisation pour minimiser une fonction de perte donnera, s'il est suffisamment convexe, une solution qui est un minimum global de cette fonction de perte. Je dis «suffisamment convexe» car les réseaux profonds ne sont pas dans l'ensemble convexes, mais donnent des minimums raisonnables dans la pratique, avec des choix prudents de taux d'apprentissage, etc.

Par conséquent, le comportement de ces modèles est défini par tout ce que nous mettons dans la fonction de perte.

F

yF=F(X)

FgbFFbg

yg={Bsi F(X)>bUNEautrement

bg

Fgg .

Maintenant, disons que nous avons une fonction de perte qui est:

L=1Nn=1Njeyjeg(Xje)

jec1c0yjejeg(Xje)je , par le modèle G.

990,9=89,1990,1=9,910,9=0,910,1=0,1

L=(9,9+0,1)/100=0,1

g1/100

L=0,01

Dix fois plus faible que la perte lors de la définition du seuil de manière à attribuer un rappel et une précision égaux à chaque classe.

gg

g

Alternativement, nous pouvons modifier l'ensemble de données en clonant chaque exemple B 99 fois, ce qui entraînera également la fonction de perte de ne plus avoir un minimum à une position différente de notre seuil idéal précédent.

Hugh Perkins
la source
4
Pouvez-vous, s'il vous plaît, essayer de rendre votre réponse un peu plus particulière aux questions posées? Bien que clairement réfléchi, il se lit principalement comme un commentaire plutôt qu'une réponse. Par exemple, juste à des fins de commentaire, on pourrait faire valoir que l'utilisation d'une règle de notation incorrecte comme la fonction de perte définie est fondamentalement erronée et que l'analyse ultérieure n'est donc pas valide.
usεr11852 dit Réintégrer Monic
g
3
Je suis généralement d'accord; Je ne suis pas entièrement convaincu de la nécessité d'une règle de notation appropriée, mais d'un autre côté, le «but réel» de tout modèle de classification est la prévision utile de l'appartenance à une classe, c'est-à-dire. vous avez besoin d'une fonction utilitaire informée. Je dirais que généralement pour des problèmes déséquilibrées assignant coût / gain FP, TPetc. est probablement la meilleure façon d'avoir une fonction d'utilité raisonnable; en l'absence de connaissances pertinentes dans le domaine, cela peut être poilu. J'utilise presque toujours comme premier choix Cohen'sk
FFgFFg
3
Cela suppose implicitement (1) que le KPI que nous essayons de maximiser est l'exactitude, et (2) que l'exactitude est un KPI approprié pour l'évaluation du modèle de classification. Ce n'est pas le cas.
S.Kolassa - Rétablir Monica
0

Notez que les classificateurs à une classe n'ont pas de problème de déséquilibre car ils regardent chaque classe indépendamment de toutes les autres classes et ils peuvent faire face aux "non-classes" en ne les modélisant tout simplement pas. (Ils peuvent avoir un problème avec une taille d'échantillon trop petite, bien sûr).

De nombreux problèmes qui seraient mieux modélisés par des classificateurs à une seule classe conduisent à des modèles mal définis lorsque des approches discriminatoires sont utilisées, dont les «problèmes de déséquilibre de classe» sont un symptôme.

À titre d'exemple, considérons certains produits qui peuvent être bons à vendre ou non. Une telle situation se caractérise généralement par

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

Ainsi, la classe «bon» est bien définie tandis que la classe «non bon» est mal définie. Si une telle situation est modélisée par un classifieur discriminant, nous avons un "problème de déséquilibre" double: non seulement la classe "pas bonne" a un petit échantillon, mais elle a également une densité d'échantillons encore plus faible (moins d'échantillons répartis sur un une plus grande partie de l'espace des fonctionnalités).

Ce type de «problème de déséquilibre de classe» disparaîtra lorsque la tâche sera modélisée comme une reconnaissance d'une classe de la «bonne» classe bien définie.

cbeleites soutient Monica
la source