Opinions sur le suréchantillonnage en général, et l'algorithme SMOTE en particulier [fermé]

18

Quelle est votre opinion sur le suréchantillonnage dans la classification en général, et l'algorithme SMOTE en particulier? Pourquoi n'appliquerions-nous pas simplement un coût / une pénalité pour corriger le déséquilibre des données de classe et tout coût déséquilibré des erreurs? Pour mes besoins, l'exactitude de la prédiction d'un futur ensemble d'unités expérimentales est la mesure ultime.

Pour référence, l'article SMOTE: http://www.jair.org/papers/paper953.html

Dave Cummins
la source
1
Un problème avec le suréchantillonnage d'une classe minoritaire dans un ensemble de données déséquilibré est que vous finiriez par en apprendre trop sur le spécifique des quelques exemples, et cela ne se généraliserait pas bien. SMOTE est censé apprendre les propriétés topologiques du voisinage de ces points dans la classe minoritaire, de sorte que vous êtes moins susceptible de surcharger.
horaceT
2
C'est un excellent sujet pour une question, mais pourriez-vous le rendre un peu plus ciblé? "Quel est ton opinion?" invite à une discussion sans fin, mais nous avons tendance à nous concentrer davantage sur un format de question / réponse.
Sycorax dit Réintégrer Monica le

Réponses:

19

{1} donne une liste des avantages et des inconvénients de l'apprentissage sensible aux coûts par rapport à l'échantillonnage:

2.2 Échantillonnage

Le suréchantillonnage et le sous-échantillonnage peuvent être utilisés pour modifier la distribution des classes des données de formation et les deux méthodes ont été utilisées pour traiter le déséquilibre de classe [1, 2, 3, 6, 10, 11]. La raison pour laquelle la modification de la distribution des classes des données de formation facilite l'apprentissage avec des ensembles de données très asymétriques est qu'elle impose effectivement des coûts de classification erronée non uniformes. Par exemple, si l'on modifie la distribution des classes de l'ensemble de formation de sorte que le rapport des exemples positifs aux négatifs passe de 1: 1 à 2: 1, alors on a effectivement attribué un rapport de coût de mauvaise classification de 2: 1. Cette équivalence entre la modification de la distribution des classes des données de formation et la modification du rapport des coûts de mauvaise classification est bien connue et a été formellement décrite par Elkan [9].

Il existe des inconvénients connus associés à l'utilisation de l'échantillonnage pour mettre en œuvre un apprentissage sensible aux coûts. L' inconvénient du sous-échantillonnage est qu'il supprime les données potentiellement utiles . Le principal inconvénient du suréchantillonnage , de notre point de vue, est qu'en faisant des copies exactes des exemples existants, cela rend le sur-ajustement probable . En fait, avec un suréchantillonnage, il est assez courant qu'un apprenant génère une règle de classification pour couvrir un seul exemple répliqué. Un deuxième inconvénient du suréchantillonnage est qu'il augmente le nombre d'exemples de formation, augmentant ainsi le temps d'apprentissage .

2.3 Pourquoi utiliser l'échantillonnage?

Étant donné les inconvénients de l'échantillonnage, il convient de se demander pourquoi quelqu'un l'utiliserait plutôt qu'un algorithme d'apprentissage sensible au coût pour traiter des données avec une distribution de classe asymétrique et des coûts de classification erronée non uniformes. Il y a plusieurs raisons à cela. La raison la plus évidente est qu'il n'y a pas d'implémentations sensibles aux coûts de tous les algorithmes d'apprentissage et donc une approche basée sur un wrapper utilisant l'échantillonnage est la seule option. Bien que cela soit certainement moins vrai aujourd'hui que par le passé, de nombreux algorithmes d'apprentissage (par exemple, C4.5) ne gèrent toujours pas directement les coûts du processus d'apprentissage.

Une deuxième raison d'utiliser l'échantillonnage est que de nombreux ensembles de données très asymétriques sont énormes et que la taille de l'ensemble d'apprentissage doit être réduite pour que l'apprentissage soit possible. Dans ce cas, le sous-échantillonnage semble être une stratégie raisonnable et valable. Dans cet article, nous ne considérons pas la nécessité de réduire la taille de l'ensemble de formation. Nous tenons à souligner, cependant, que si l'on a besoin de supprimer certaines données de formation, il pourrait être avantageux de supprimer certains des exemples de classe majoritaire afin de réduire la taille de l'ensemble de formation à la taille requise, puis d'employer également un algorithme d'apprentissage sensible, de sorte que la quantité de données d'entraînement rejetées soit minimisée.

Une dernière raison qui a peut-être contribué à l'utilisation de l'échantillonnage plutôt que d'un algorithme d'apprentissage sensible aux coûts est que les coûts de mauvaise classification sont souvent inconnus. Cependant, ce n'est pas une raison valable pour utiliser l'échantillonnage sur un algorithme d'apprentissage sensible aux coûts, car le problème analogue se pose avec l'échantillonnage - quelle devrait être la distribution des classes des données de formation finales? Si ces informations sur les coûts ne sont pas connues, une mesure telle que l'aire sous la courbe ROC pourrait être utilisée pour mesurer les performances du classificateur et les deux approches pourraient alors déterminer empiriquement le bon rapport coût / distribution de classe.

Ils ont également fait une série d'expériences, qui n'a pas été concluante:

Sur la base des résultats de tous les ensembles de données, il n'y a pas de gagnant définitif entre l'apprentissage sensible aux coûts, le suréchantillonnage et le sous-échantillonnage

Ils essaient ensuite de comprendre quels critères des ensembles de données peuvent indiquer quelle technique est la mieux adaptée.

Ils remarquent également que SMOTE peut apporter des améliorations:

Il existe une variété d'améliorations que les gens ont apportées pour améliorer l'efficacité de l'échantillonnage. Certaines de ces améliorations incluent l'introduction de nouveaux exemples «synthétiques» lors du suréchantillonnage [5 -> SMOTE], la suppression d'exemples de classe majoritaire moins utiles lors du sous-échantillonnage [11] et l'utilisation de plusieurs sous-échantillons lors du sous-échantillonnage tel que chaque exemple est utilisé dans au moins un sous-échantillon [3]. Bien que ces techniques aient été comparées au suréchantillonnage et au sous-échantillonnage, elles n'ont généralement pas été comparées à des algorithmes d'apprentissage sensibles aux coûts. Cela mériterait d'être étudié à l'avenir.


{1} Weiss, Gary M., Kate McCarthy et Bibi Zabar. "Apprentissage sensible aux coûts vs échantillonnage: Quel est le meilleur pour gérer des classes déséquilibrées avec des coûts d'erreur inégaux?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=en&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Franck Dernoncourt
la source
2
Lorsque vous dites «algorithme d'apprentissage sensible aux coûts», mon cerveau devrait-il penser «pénaliser les classes à hautes fréquences d'occurrence et éventuellement attribuer plus d'importance aux classes à basses fréquences»? Ce concept équivaut-il à attribuer des poids de classe?
Jarad