Accueil Thèmes Sous-échantillonnage Qu'est-ce que le sous-échantillonnage ?
Découvrir le sous-échantillonnage avec watsonx.ai S’inscrire pour recevoir les dernières informations sur l’IA
Illustration avec collage de pictogrammes de boîtes et de sphères représentant des données

Date de publication : 15 juin 2024
Contributeur : Jacob Murel Ph.D.

Le sous-échantillonnage réduit le nombre d’échantillons de données dans un jeu de données. Ce faisant, il vise à corriger les données déséquilibrées et à améliorer ainsi les performances du modèle.

Le sous-échantillonnage est une technique courante de traitement de données qui, en supprimant les déséquilibres d’un jeu de données, consiste à supprimer les données de la classe majoritaire pour qu’elles correspondent à la taille de la classe majoritaire. Cette approche s’oppose au suréchantillonnage, qui consiste à rééchantillonner les points de classe majoritaire. Python scikit-learn et Matlab contiennent tous deux des fonctions intégrées pour mettre en œuvre des techniques de sous-échantillonnage.

Le sous-échantillonnage pour la science des données est souvent confondu avec le sous-échantillonnage dans le traitement du signal numérique (DSP). Les deux sont similaires dans l'esprit. Le sous-échantillonnage pour le traitement du signal numérique (également appelé décimation) est le processus qui consiste à réduire la bande passante et le taux d’échantillonnage de l’échantillonneur, supprimant ainsi une partie des données d’origine du signal d’origine. Le processus de diminution de la fréquence d’échantillonnage consiste souvent à réduire le taux d’échantillonnage d’un facteur entier, en ne conservant qu’un échantillon sur énième . Pour ce faire, on utilise un filtre passe-bas, également appelé filtre anti-aliasing, pour réduire les composantes haute fréquence/bruit d'un signal en temps discret par le facteur entier mentionné précédemment.

Le sous-échantillonnage visant à rééquilibrer les données est parfois confondu avec le sous-échantillonnage utilisé dans le traitement d’images. Lorsque les données contiennent de nombreuses caractéristiques, comme dans le cas des images IRM de haute résolution, les calculs peuvent s’avérer coûteux. Le sous-échantillonnage employé dans le traitement d’images permet de réduire la dimensionnalité de chaque point de données par convolution. Contrairement au rééquilibrage des jeux de données, cette technique d’optimisation nécessite par la suite une interpolation pour récupérer les données d’origine.

Pourquoi la gouvernance de l’IA constitue un impératif pour déployer l’intelligence artificielle dans les entreprises

Découvrez les obstacles à l’adoption de l’IA, en particulier le manque de solutions de gouvernance de l’IA et de gestion des risques.

Contenu connexe

Obtenir le guide sur les modèles de fondation

Pourquoi utiliser le sous-échantillonnage ?

Le sous-échantillonnage est un moyen efficace de remédier aux déséquilibres d'un jeu de données. Un jeu de données déséquilibré est défini comme un jeu de données dans lequel une classe est fortement sous-représentée par rapport à la population réelle, ce qui crée un biais involontaire. Imaginez, par exemple, qu'un modèle soit formé pour classer les images selon qu'elles représentent un chat ou un chien. Le jeu de données utilisé est composé de 90 % de chats et de 10 % de chiens. Dans ce scénario, les chats sont surreprésentés, et si nous avons un classificateur qui prédit des chats à chaque fois, il obtiendra une précision de 90 % pour la classification des chats, mais une précision de 0 % pour la classification des chiens. Dans ce cas, le jeu de données déséquilibré amènera les classificateurs à favoriser la précision de la classe majoritaire au détriment de la classe minoritaire. Le même problème peut se poser avec les jeux de données multi-classes.1

Le processus de sous-échantillonnage permet de remédier au problème des jeux de données déséquilibrés. Il identifie les points de classe majoritaire à supprimer en fonction de critères spécifiés. Ces critères peuvent changer avec la technique de sous-échantillonnage choisie. Cette méthode permet d’équilibrer le jeu de données en diminuant efficacement le nombre d’échantillons pour une classe de majorité surreprésentée, jusqu’à ce que le jeu de données contienne un rapport égal de points dans toutes les classes.

Si les déséquilibres peuvent être observés en traçant simplement le nombre de points de données dans chaque classe, cela ne nous permet pas de savoir s'ils auront une incidence importante sur le modèle. Heureusement, nous pouvons utiliser des indicateurs de performance pour évaluer dans quelle mesure une technique de sous-échantillonnage corrige le déséquilibre des classes. La plupart de ces indicateurs seront destinées à la classification binaire, où il n'y a que deux classes : une positive et une négative. En général, la classe positive est la classe de la minorité, tandis que la classe négative est la classe de la majorité. Deux indicateurs populaires sont les courbes ROC (Receiver Operating Characteristic) et les courbes de précision et de rappel.1

Avantages et inconvénients du sous-échantillonnage
Avantages
  • Moins d'exigences de stockage : lorsque le stockage coûte cher, par exemple pour le stockage dans le cloud, le sous-échantillonnage est préférable au suréchantillonnage pour éviter d'augmenter les coûts.2
  • Entraînement plus rapide: le sous-échantillonnage réduit les jeux de données et rend l'entraînement moins intensif sur le processeur ou le GPU, ce qui est plus économique et plus écologique.
  • Moins de risques de surajustement : le suréchantillonnage génère de nouvelles données à partir des anciennes données, ce qui peut entraîner un surajustement des modèles aux données données. Le sous-échantillonnage, étant le contraire (supprime les données), ne souffre pas de ce problème.2
Inconvénients
  • Perte d’informations : la suppression de points de la classe majoritaire peut entraîner une perte d’informations importante. Cela peut poser problème si la classification de la classe majoritaire doit être précise. Un autre problème se pose si le jeu de données devient trop petit pour que le modèle puisse s’y entraîner.2
  • Biais introduit : les points d’échantillon de classe majoritaire restants peuvent être un ensemble biaisé des données d’origine, ce qui a un impact négatif sur les performances du classificateur.
Techniques de sous-échantillonnage
Échantillonnage aléatoire

Le sous-échantillonnage aléatoire est une technique de suppression qui consiste à choisir des points aléatoires dans la classe majoritaire sans remplacement et supprimés du jeu de données jusqu’à ce que la taille de la classe majoritaire soit égale à la taille de la classe majoritaire. Il s’agit d’un moyen simple de supprimer de manière aléatoire un sous-ensemble de données à des fins d’équilibrage. Cependant, cette technique peut faire disparaître des modèles ou des distributions importants dans la classe majoritaire, ce qui affecte négativement les performances du classificateur.2

Sous-échantillonnage Near Miss

Le sous-échantillonnage évité de justesse est une technique qui consiste à rééquilibrer la distribution des classes en éliminant au hasard certains exemples de classes majoritaires.

Conceptuellement, Near Miss fonctionne sur le principe selon lequel les données doivent être conservées dans des endroits où les classes majoritaires et présidées sont très proches, car ces endroits nous fournissent des informations clés pour distinguer les deux classes.3 Ces points sont généralement connus sous le nom de points de données « difficiles » à apprendre. Le sous-échantillonnage Near Miss s'opère généralement en deux étapes :

  • Étape 1 : calculez la distance par paires entre toutes les instances de classe majoritaire-minoritaire.
  • Étape 2 : en fonction des distances calculées, supprimez les instances de la classe majoritaire qui sont plus éloignées des points marginalisés.

Il existe trois variantes de l’algorithme de Near Miss qui offrent un moyen plus simple de sélectionner les instances de classe majoritaire à supprimer.

  • Version 1 : cette version conserve les instances de classe majoritaire avec la distance moyenne la plus petite par rapport à leurs instances de classe majoritaire N plus proches. Les données résultantes peuvent potentiellement être réparties de manière inégale, certains points de classe majoritaire étant proches de nombreux points de classe minoritaire et d’autres étant proches de très peu, ce qui entraîne à la fois une faible précision et un faible rappel.4
  • Version 2 : cette version du sous-échantillonnage Near Miss conserve les instances de classe majoritaires avec la plus petite distance moyenne par rapport à leurs instances de classe minoritaires N les plus éloignées . Contrairement à la première version, cette version crée une distribution plus uniforme de la classe majoritaire, produisant de meilleurs résultats du classificateur 4.
  • Version 3 : cette version conserve les échantillons de la classe majoritaire les plus proches pour les instances de la classe minoritaire les plus proches de la classe majoritaire. Elle opère en deux étapes. Tout d’abord, les M plus proches voisins de classe majoritaire de chaque instance de classe majoritaire sont conservés. Ensuite, parmi les instances de classes majoritaires restantes, celles dont la distance moyenne est la plus élevée sont identifiées et conservées. Comme cette version conserve les instances de classe majoritaire qui sont proches de nombreuses instances de classe majoritaire, elle peut offrir une précision élevée mais un faible rappel.4
Sous-échantillonnage de la règle des plus proches voisins condensé

Les plus proches voisins condensé (CNN, à ne pas confondre avec les réseaux neuronaux convolutifs) cherchent à trouver un sous-ensemble d’un jeu de données qui peut être utilisé pour un entraînement sans perte de performance du modèle. Pour ce faire, on identifie un sous-ensemble de données qui peut être utilisé pour former un modèle qui prédit correctement l'ensemble des données.

Le sous-échantillonnage CNN peut être décomposé en plusieurs étapes :5

  1. Créez un nouveau jeu de données, S, qui contient toutes les instances de la classe majoritaire et une seule instance de la classe majoritaire échantillonnée de manière aléatoire.
  2. Entraîner un classificateur 1-NN sur le nouveau jeu de données S.
  3. Pour tous les points de données de la classe majoritaire qui ne figure pas dans S, utilisez le classificateur 1-NN pour prédire leur étiquette. Si le classificateur 1-NN prédit correctement l'étiquette, écartez le point. Sinon, ajoutez-le à S.

Comme Near Miss, ce processus supprime essentiellement toutes les instances de la classe majoritaire situées loin de la limite de décision, qui, encore une fois, sont des points faciles à classer. Elle garantit également que chaque donnée de notre jeu de données original peut être correctement prédite en utilisant uniquement les données de S. De cette façon, le jeu de données peut être réduit de manière significative tout en préservant raisonnablement la limite de décision.

Cette image montre un exemple d'application des plus proches voisins condensés en utilisant 1 plus proche voisin et 21 plus proches voisins à deux jeux de données. Les deux images du premier sont avant l'application des plus proches voisins condensés tandis que les deux du bas sont après. Comme on peut le voir, la limite de décision est raisonnablement bien conservée.

Tomek Link

Le sous-échantillonnage Tomek Link consiste à réduire le bruit dans les données en supprimant les points proches de la limite de décision et à augmenter la séparation des classes. Il s’agit d’identifier les « liens Tomek », c’est-à-dire un regroupement de deux points provenant de différentes classes, sans troisième point existant qui soit le plus proche de l’un ou de l’autre.2

Pour toutes les liaisons de tomek, le point de la classe majoritaire est supprimé. En supprimant un point de classe majoritaire qui est proche d’un point de classe majoritaire, la séparation des classes augmente. L'inconvénient de cette méthode est la complexité de calcul de toutes les distances par paires entre les points des classes majoritaires et des classes minoritaires.2 Le sous-échantillonnage de Tomek Link est plus efficace lorsqu'il est combiné à d'autres techniques.

Edited Nearest Neighbors

Le sous-échantillonnage Edited Nearest Nearest Neighbors (ENN) est similaire au sous-échantillonnage de Tomek Link, où l'objectif est de supprimer les exemples situés près de la limite de décision afin d'améliorer la séparation des classes. En général, cette méthode supprime les points de données dont la classe diffère de celle d'une majorité de leurs voisins.2 Cela signifie que le processus supprime les points de données de la classe majoritaire dont la majorité des voisins les plus proches appartiennent à la classe minoritaire, et vice versa. Dans ce contexte, la majorité peut être définie librement : elle peut signifier qu'au moins un voisin appartient à une classe différente ou que la proportion de voisins appartenant à une classe différente dépasse un certain seuil.

Le sous-échantillonnage ENN est généralement effectué avec les 3 plus proches voisins, comme illustré ci-dessous.

Il s’agit d’une stratégie à granularité plus grossière, puisqu’elle consiste à examiner le voisinage des points, et non un seul voisin, et qui s’avère efficace pour éliminer le bruit dans les données. Le sous-échantillonnage ENN est plus efficace lorsqu’il est combiné à d’autres techniques.

Recherches récentes

Les développements actuels en matière de sous-échantillonnage s’articulent autour des intégrations d’apprentissage profond. Elle est utilisée dans des domaines tels que le traitement d’images et les données médicales, qui impliquent l’utilisation de neural networks pour sous-échantillonner les données.6 Un exemple de ceci est le SOM-US, qui utilise un Neural Networks à deux couches.7 Ces dernières années, l’apprentissage actif a également été appliqué au sous-échantillonnage pour essayer d’atténuer les effets des données déséquilibrées.8 Les expérimentations ont montré que ces modèles sont nettement plus performants que les techniques traditionnelles.

Les recherches actuelles sur le sous-échantillonnage visent également à le combiner avec d'autres techniques afin de créer des techniques hybrides. Une des combinaisons consiste à sous-échantillonner et à suréchantillonner les données pour bénéficier des avantages des deux systèmes : SMOTE+Tomek Link, Agglomerative Hierarchical Clustering (AHC) et SPIDER en sont quelques exemples.9 Les techniques au niveau de l’algorithme peuvent également incorporer les idées des techniques traditionnelles de sous-échantillonnage, comme le Hard Example Mining, où l’entraînement se concentre uniquement sur les points de données « les plus difficiles ».2 Tous montrent de meilleures performances que l'utilisation de chaque technique individuellement.

Ressources connexes Qu'est-ce que le sur-échantillonnage ?

Le sur-échantillonnage augmente le nombre d’échantillons de données dans un jeu de données. Ce faisant, il vise à corriger les données déséquilibrées et à améliorer ainsi les performances du modèle.

Qu'est-ce qu'un convolutional neural networks (CNN) ?

Les réseaux neuronaux convolutifs utilisent des données tridimensionnelles pour les tâches de classification d’images et de reconnaissance d’objets.

Qu’est-ce que la segmentation d’instances ?

La segmentation d’instances est une tâche de vision par ordinateur alimentée par l’apprentissage profond qui prédit les limites exactes par pixel de chaque instance d’objet individuel dans une image.

Passer à l’étape suivante

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio professionnel de nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai Réserver une démo en direct
Notes de bas de page

1 Haobo He et Edwardo Garcia, Learning from Imbalanced Data, IEEE, septembre 2009, https://ieeexplore.ieee.org/document/5128907 (lien externe à ibm.com).

2 Kumar Abhishek et Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembre 2023

3 Ajinkya More, Survey of resampling techniques for improving classification performance in unbalanced datasets, 22 août 2016, https://arxiv.org/pdf/1608.06048 (lien externe à ibm.com).

4 Jianping Zhang et Inderjeet Mani, kNN Approach to Unbalanced Data Distributions : A Case Study involving Information Extraction, 2003, https://www.site.uottawa.ca/~nat/Workshop2003/jzhang.pdf (lien externe à ibm.com).

5 More, Survey of resampling techniques for improving calssification performance in unbalanced datasets, 22 août 2016, https://arxiv.org/pdf/1608.06048 (lien externe à ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.

6 Md Adnan Arefeen, Sumaiya Tabassum Nimi et M. Sohel Rahman, Neural Network-Based Undersampling Techniques, IEEE, 2 septembre 2020, https://ieeexplore.ieee.org/abstract/document/9184909?casa_token=RnLRvnqyiF8AAAAA:iyxPWT06HX6a9g8X1nhShrllo_ht9ZM1cqHMWjET5wOopeR5dqizBF29cSSmFMRPo9V1D7XBIwg (lien externe à ibm.com).

7 Ajay Kumar, SOM-US : A Novel Under-Sampling Technique for Handling Class Imbalance Problem, hrcak, 30 janvier 2024, https://hrcak.srce.hr/clanak/454006 (lien externe à ibm.com).

8 Wonjae Lee and Kangwon Seo, Downsampling for Binary Classification with a Highly Imbalanced Dataset Using Active Learning, Science Direct, 26 avril 2022, https://www.sciencedirect.com/science/article/pii/S2214579622000089 (lien externe à ibm.com).

9 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.