Devrais-je choisir un jeu de données «équilibré» ou un jeu de données «représentatif»?

48

Ma tâche d'apprentissage automatique consiste à séparer le trafic Internet bénin du trafic malveillant. Dans le scénario réel, la majorité (par exemple 90% ou plus) du trafic Internet est bénigne. Ainsi, j’ai pensé que je devrais également choisir une configuration de données similaire pour la formation de mes modèles. Mais je suis tombé sur un ou deux travaux de recherche (dans mon domaine de travail) qui utilisaient une approche de données "équilibrage de classe" pour former les modèles, impliquant un nombre égal d'instances de trafic bénin et malveillant.

En général, si je construis des modèles d’apprentissage automatique, devrais-je choisir un jeu de données représentatif du problème du monde réel ou un jeu de données équilibré mieux adapté à la construction des modèles (étant donné que certains classificateurs ne se comportent pas bien avec un déséquilibre de classe, ou pour d'autres raisons que je ne connais pas)?

Quelqu'un peut-il nous éclairer davantage sur les avantages et les inconvénients des choix et sur la manière de décider lequel choisir?

pnp
la source

Réponses:

38

Je dirais que la réponse dépend de votre cas d'utilisation. Basé sur mon expérience:

  • Si vous essayez de créer un modèle représentatif - un modèle qui décrit les données plutôt que de prévoir nécessairement -, je vous suggérerais alors d'utiliser un échantillon représentatif de vos données.
  • Si vous souhaitez créer un modèle prédictif, en particulier un modèle performant par mesure de l’AUC ou de l’ordre de rang et prévoyez d’utiliser un cadre de base du ML (par exemple, Arbre de décision, SVM, Naive Bayes, etc.), je vous suggère de le nourrir cadre un ensemble de données équilibré. Une grande partie de la littérature sur le déséquilibre des classes révèle que le sous-échantillonnage aléatoire (réduction de la taille de la classe majoritaire à la taille de la classe minoritaire) peut entraîner des gains de performances.
  • Si vous construisez un modèle prédictif, mais que vous utilisez un cadre plus avancé (c’est-à-dire quelque chose qui détermine les paramètres d’échantillonnage via un wrapper ou une modification du l'algorithme s'occupe d'équilibrer les données pour la formation.
DSea
la source
2
Si vous essayez de construire un modèle représentatif - un modèle qui décrit les données plutôt que de prédire nécessairement … qui construit un modèle qui ne prédit pas ?? Je ne vous ai pas fait arriver ...
pnp
8
L'apprentissage non supervisé serait un exemple où vous construisez un modèle qui n'est pas nécessairement conçu pour prédire. Dans certains cas, vous voudrez peut-être explorer ou résumer vos données.
DSea
1
Je dirais qu'il est plus prudent d'équilibrer votre échantillon, mais également de collecter des poids d'échantillonnage afin que vous puissiez ultérieurement pondérer à nouveau vos données afin qu'elles soient représentatives, le cas échéant. @pnp De nombreux spécialistes des sciences sociales construisent des modèles non prédictifs, par exemple pour confirmer des théories.
shadowtalker
Comment un modèle équilibré se compare-t-il à un modèle représentatif utilisant des observations pondérées pour imiter un modèle équilibré?
JenSCDC
1
L'AUC n'est pas affectée par le déséquilibre de classe, c'est-à-dire la probabilité que votre modèle classe une classe positive choisie au hasard plus élevée qu'une classe négative choisie au hasard. Je suis tout à fait en désaccord avec votre conseil ici à des fins générales. Si vous avez un échantillon représentatif, par exemple un échantillon aléatoire simple, laissez-le rester.
Matthew Drury
8

Je pense que cela dépend toujours du scénario. L'utilisation d'un ensemble de données représentatif n'est pas toujours la solution. Supposons que votre ensemble de formation comporte 1000 exemples négatifs et 20 exemples positifs. Sans aucune modification du classifieur, votre algorithme aura tendance à classer tous les nouveaux exemples comme des négatifs. Dans certains cas, cela ne pose pas de problème, mais dans de nombreux cas, le coût des exemples manquants manquants est élevé et vous devez donc trouver une solution.

Dans de tels cas, vous pouvez utiliser un algorithme d'apprentissage machine sensible aux coûts. Par exemple dans le cas d'une analyse de données de diagnostic médical.

En résumé: les erreurs de classification n'ont pas le même coût!

Pasmod Turing
la source
7

Il y a toujours la solution pour essayer les deux approches et garder celle qui maximise les performances attendues.

Dans votre cas, je suppose que vous préférez minimiser les faux négatifs au détriment de certains faux positifs, vous voulez donc biaiser votre classificateur contre le fort négatif antérieur et corriger le déséquilibre en réduisant le nombre d'exemples négatifs dans votre ensemble de formation.

Puis, calculez la précision / le rappel, ou la sensibilité / la spécificité, ou le critère qui vous convient le mieux pour un jeu de données complet et déséquilibré, afin de vous assurer que vous n'avez pas ignoré un schéma significatif présent dans les données réelles lors de la création du modèle avec les données réduites.

damienfrancois
la source
4

Séparez les scénarios opérationnels et les scénarios de formation.

Le scénario opérationnel est celui dans lequel votre classificateur sera mesuré. C'est là que vous devriez bien performer. Utiliser doit avoir un jeu de données représentatif de ce scénario.

Le scénario de formation correspond à tout ce que vous faites pour créer un classificateur qui fonctionnera bien avec le scénario opérationnel.

Souvent, les jeux de données dans les deux scénarios sont de la même nature, il n’est donc pas nécessaire de les distinguer. Par exemple, vous avez une boutique en ligne, vous utilisez donc pour former une utilisation antérieure afin de bien utiliser l’utilisation future. Cependant, pendant la formation, vous pouvez utiliser un jeu de données différent de celui qui représente le scénario opérationnel. En fait, si vous dormez, rêvez d’un classificateur, validez-le sur votre scénario opérationnel (cette étape doit être effectuée après le réveil), vous êtes aussi bon qu’après avoir suivi le chemin d’apprentissage machine habituel.

La distinction entre les scénarios opérationnels et de formation devient importante lorsque l'ensemble de données est déséquilibré. La plupart des algorithmes ne fonctionneront pas bien avec un tel jeu de données.

Alors, n'hésitez pas à utiliser deux jeux de données - Vous pouvez utiliser un jeu de données équilibré pour la formation. Une fois que vous avez terminé, validez votre classificateur du jeu de données opérationnel.

DaL
la source
3

Je pense qu'il faut tenir compte de deux problèmes distincts: le temps de formation et l'exactitude des prévisions.

Prenons un exemple simple: considérons que vous avez deux classes, qui ont une distribution normale à plusieurs variables. Fondamentalement, vous devez estimer les moyennes et les covariances de classe respectives. Maintenant, la première chose qui compte pour vous, c’est votre estimation de la différence de classe: mais votre performance est limitée par l’exactitude de la pire moyenne estimée: il n’est pas bon d’estimer une moyenne à la centième décimale - si l’autre moyenne n’est que estimé à 1 décimale. Ainsi, utiliser toutes les données est un gaspillage de ressources informatiques. Vous pouvez plutôt sous-échantillonner la classe la plus commune ET repondérer les classes de manière appropriée. (ces ressources informatiques peuvent ensuite être utilisées pour explorer différentes variables d'entrée, etc.)

Le deuxième problème concerne l’exactitude prédictive: différents algorithmes utilisent différentes mesures d’erreur, qui peuvent ou non correspondre à vos objectifs. Par exemple, la régression logistique pénalisera l’erreur de probabilité globale. Ainsi, si la plupart de vos données proviennent d’une classe, elles auront tendance à essayer d’améliorer les estimations de probabilité précises (probabilité de 90% à 95%, par exemple) plutôt que d’identifier la classe rare. Dans ce cas, vous voudrez certainement essayer de repondérer pour mettre l'accent sur la classe rare (et ensuite ajuster l'estimation [en ajustant le terme de biais] pour obtenir un réalignement des estimations de probabilité).

seanv507
la source