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 pour chaque classe unique , je dirais que le déséquilibre de classe est de à , ou .
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 ), 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.
poor choice of loss function
dans 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?