Accueil Thèmes Suréchantillonnage Qu'est-ce que le sur-échantillonnage ?
Découvrir le sur-échantillonnage avec watsonx.ai S’inscrire pour recevoir les dernières informations sur l’IA
Illustration avec collage de pictogrammes représentant un écran d’ordinateur, un serveur, des nuages et des points

Date de publication : le 29 avril 2024
Contributeurs : Jacob Murel Ph.D.

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.

Le sur-échantillonnage, également connu sous le nom d'oversampling, est une technique de traitement et d’optimisation des données qui corrige le déséquilibre de classe dans un jeu de données en ajoutant des données. Le sur-échantillonnage ajoute des données en utilisant des échantillons originaux provenant de classes minoritaires jusqu'à ce que toutes les classes soient de taille égale. Python scikit-learn et Matlab contiennent tous deux des fonctions intégrées pour mettre en œuvre des techniques de sur-échantillonnage.

Le sur-échantillonnage pour la science des données est souvent confondu avec le sur-échantillonnage dans le traitement du signal numérique (DSP). Les deux sont similaires dans leur esprit mais distincts. À l'instar du sur-échantillonnage en science des données, le sur-échantillonnage pour le traitement numérique du signal crée artificiellement plus d'échantillons dans un domaine de fréquence à partir d'un signal d'entrée (spécifiquement un signal temporel discret) en interpolant des taux d'échantillonnage plus élevés. Ces nouveaux échantillons sont générés en insérant des zéros dans le signal original et en utilisant un filtre passe-bas pour l'interpolation. Cette méthode diffère de la manière dont les données sont échantillonnées lors de l’équilibrage des données.

Le sur-échantillonnage pour l’équilibrage des données est également différent du sur-échantillonnage dans le traitement d’images. Dans ce dernier cas, la résolution des images haute résolution est d'abord réduite (suppression de pixels) pour des calculs plus rapides, après quoi la convolution ramène l'image à ses dimensions d'origine (ajout de pixels).

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 sur-échantillonnage ?

Le sur-échantillonnage est un moyen efficace de remédier au déséquilibre d'un jeu de données. Un jeu de données déséquilibré est défini comme un ensemble 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 sur-échantillonnage permet de remédier au problème des jeux de données déséquilibrés. Il remplit le jeu de données avec des points synthétisés à partir des caractéristiques de la classe minoritaire du jeu de données d’origine. Cette méthode permet d’équilibrer le jeu de données en augmentant efficacement le nombre d’échantillons pour une classe de sous-représentation, 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 sur-échantillonnage corrige le déséquilibre des classes. La plupart de ces mesures 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 mesures populaires sont les courbes ROC (Receiver Operating Feature) et les courbes de précision et de rappel.1

Avantages et inconvénients du sur-échantillonnage
Avantages
  • Aucune perte d’informations : contrairement au sous-échantillonnage, qui supprime des points de données de la classe majoritaire, le sur-échantillonnage génère de nouveaux points de données, évitant ainsi toute perte d’informations.
  • Augmenter les données à faible coût : l'échantillonnage est particulièrement efficace, et est souvent le seul moyen d'augmenter la taille des jeux de données à la demande dans les cas où les données ne peuvent être acquises que par observation. Par exemple, certaines conditions médicales sont tout simplement trop rares pour permettre de collecter davantage de données.
Inconvénients
  • Sur-ajustement : comme le sur-échantillonnage crée de nouvelles données sur la base des données existantes sur les classes minoritaires, le classificateur peut être sur-adapté aux données. Le sur-échantillonnage suppose que les données existantes reflètent correctement la réalité ; si ce n'est pas le cas, le classificateur ne sera peut-être pas en mesure de généraliser très bien.
  • Bruit des données : le sur-échantillonnage peut augmenter la quantité de bruit dans les données, réduisant ainsi la fiabilité et les performances du classificateur.2
  • Complexité de calcul: en augmentant la quantité de données, l’entraînement du classificateur sera plus coûteux en calcul, ce qui peut être un problème lors de l’utilisation du cloud computing.2
Techniques de sur-échantillonage
Sur-échantillonnage aléatoire

Le sur-échantillonnage aléatoire est le processus qui consiste à dupliquer des points de données aléatoires dans la classe de la minorité jusqu’à ce que la taille de la classe de la population soit égale à celle de la classe de la majorité.

Bien qu'ils soient de nature similaire, le sur-échantillonnage aléatoire est différent du bootstrap. Le bootstrapping est une technique d'apprentissage par ensemble qui ré-échantillonne toutes les classes. En revanche, le sur-échantillonnage aléatoire ne ré-échantillonne que la classe minoritaire. Le sur-échantillonnage aléatoire peut donc être considéré comme une forme plus spécialisée de bootstrapping.

Malgré sa simplicité, le sur-échantillonnage aléatoire présente toutefois des limites. Étant donné que le sur-échantillonnage aléatoire ajoute uniquement des points de données en double, il peut conduire à un sur-ajustement.3 Mais il présente encore de nombreux avantages par rapport aux autres méthodes : sa facilité de mise en œuvre, l’absence d’hypothèses d’étirement sur les données et une faible complexité temporelle grâce à un algorithme simple.2

SMOTE

La technique de sur-échantillonnage synthétique des minorités, ou SMOTE, est une technique de sur-échantillonnage proposée pour la première fois en 2002 qui permet de synthétiser de nouveaux points de données à partir des points existants dans la classe de la minorité.4 Le processus est le suivant :2

  1. Trouvez les K voisins les plus proches pour tous les points de données de la classe de la minorité. K est généralement égal à 5.
  2. Répétez les étapes 3 à 5 pour chaque point de données de classe minoritaire :
  3. Choisissez l'un des K voisins les plus proches du point de données.
  4. Choisissez un point aléatoire sur le segment de ligne reliant ces deux points dans l’espace des fonctionnalités pour générer un nouvel échantillon de sortie. Ce processus est connu sous le nom d’interpolation.
  5. Selon le degré de sur-échantillonnage souhaité, répétez les étapes 3 et 4 en utilisant un autre voisin le plus proche.

SMOTE résout le problème du sur-ajustement dans le sur-échantillonnage aléatoire en ajoutant de nouvelles données inédites au jeu de données plutôt qu'en dupliquant simplement des données préexistantes. Pour cette raison, certains chercheurs considèrent que SMOTE est une meilleure technique de sur-échantillonnage que le sur-échantillonnage aléatoire.

D'un autre côté, la génération artificielle de points de données par SMOTE ajoute du bruit au jeu de données, ce qui rend le classificateur potentiellement plus instable.1 Les points synthétiques et le bruit de SMOTE peuvent également conduire par inadvertance à des chevauchements entre les classes minoritaires et majoritaires qui ne reflètent pas la réalité, ce qui conduit à ce que l’on appelle une généralisation excessive.5

Borderline SMOTE

Une extension populaire, Borderline SMOTE, est utilisée pour lutter contre le problème du bruit artificiel des jeux de données et pour créer des points de données plus « difficiles ». Les points de données plus « difficiles » sont des points de données proches de la limite de décision, et donc plus difficiles à classer. Ces points plus difficiles sont plus utiles pour l'apprentissage du modèle.2

Le système Borderline SMOTE identifie les points de la classe de la minorité qui sont proches de nombreux points de la classe de la majorité et les place dans un jeu DANGER. Les points DANGER sont les points de données les plus difficiles à apprendre, encore une fois parce qu’ils sont plus difficiles à classer que les points entourés de points appartenant à la classe de la minorité. Ce processus de sélection exclut les points dont les plus proches voisins sont uniquement des points de classe majoritaire, considérés comme du bruit. De là, l’algorithme SMOTE continue normalement en utilisant ce jeu DANGER.3

ADASYN

L’approche d’échantillonnage synthétique adaptatif (ADASYN) est similaire à l’approche Borderline SMOTE en ce sens qu’elle génère des données plus difficiles à apprendre pour le modèle. Mais elle vise également à préserver la distribution des données de la classe minoritaire.6 Pour ce faire, elle commence par créer une distribution pondérée de tous les points de la minorité en fonction du nombre d’exemples de la classe majoritaire dans son voisinage. De là, elle utilise plus souvent les points de la classe minoritaire qui sont plus proches de la classe majoritaire pour générer de nouvelles données.

Le processus se déroule comme suit :2

  1. Créez un modèle KNN pour l'ensemble du jeu de données.
  2. Chaque point de la classe minoritaire se voit attribuer un « facteur de dureté », noté r, qui est le rapport entre le nombre de points de la classe majoritaire et le nombre total de voisins dans le réseau KNN.
  3. Comme SMOTE, les points générés synthétiquement sont une interpolation linéaire entre les données de la minorité et leurs voisins, mais le nombre de points générés est proportionnel au facteur de dureté d’un point. Cela génère plus de points dans les zones où les données sont plus faibles et moins de points dans celles qui en contiennent davantage.
Transformation/augmentation des données

L’augmentation des données crée de nouvelles données en créant des variations de celles-ci. L’augmentation des données s’applique à divers domaines du machine learning.

La forme la plus élémentaire d'augmentation des données consiste à transformer les entrées brutes du jeu de données. Par exemple, dans le domaine de la vision par ordinateur, les augmentations d'images (recadrage, flou, miroir, etc.) peuvent être utilisées pour créer davantage d'images à classer par le modèle. De même, l’augmentation des données peut également être utilisée dans des tâches de traitement automatique du langage naturel, comme le remplacement de mots par leurs synonymes ou la création de phrases sémantiquement équivalentes.

Les chercheurs ont constaté que l’augmentation des données augmentait efficacement la précision des modèles pour les tâches de vision par ordinateur et de NLP, car elle ajoute des données similaires à faible coût. Cependant, il est important de noter quelques précautions avant d’exécuter ces techniques. Pour les augmentations géométriques classiques, la « sécurité » des transformations doit être vérifiée avant de les exécuter. Par exemple, si vous faites pivoter l’image d’un « 9 », vous obtiendrez un « 6 », ce qui modifiera sa signification sémantique.7

Recherches récentes

Les extensions SMOTE et l'apprentissage profond ont fait l'objet de techniques de sur-échantillonnage ces dernières années. Ces méthodes visent à améliorer les performances des modèles et à remédier à certaines des lacunes liées au sur-échantillonnage, comme l'introduction d'un biais dans la distribution de la classe minoritaire.

Parmi les évolutions du SMOTE, citons le SMOTE à probabilité prédictive des minorités (MPP-SMOTE), qui sur-échantillonne en fonction des probabilités estimées de voir les échantillons de chaque classe minoritaire.8 La technique de sur-échantillonnage multi-label Borderline (MLBOTE) a été proposée pour étendre le SMOTE à la classification multi-classe.9 Les deux ont surperformé toutes les variantes SMOTE existantes et ont conservé les modèles des données d'origine.

Les réseaux neuronaux ont également été utilisés pour développer des techniques de sur-échantillonnage. Les réseaux antagonistes génératifs ont suscité un certain intérêt et ont produit des résultats prometteurs, bien que le temps de formation rende cette technique plus lente que d’autres méthodes de sur-échantillonnage classiques.10

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

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.

Qu’est-ce que le surajustement ?

Dans le machine learning, on parle de surajustement lorsqu’un algorithme s’adapte trop étroitement, voire trop, à ses données d’entraînement, ce qui génère un modèle incapable de faire des prédictions ou de tirer des conclusions précises à partir de données autres que les données d’entraînement.

Qu’est-ce que le machine learning (ML) ?

Le Machine learning (ML) est une branche de l'intelligence artificielle et de l'informatique qui se concentre sur l'utilisation de données et d'algorithmes pour permettre à l'IA d'imiter la façon dont les humains apprennent, en améliorant progressivement sa précision.

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). (1,2,10)

2 Kumar Abishek et Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembre 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (lien externe à ibm.com). (3,4,6,8,9,12,14-17)

3 Kumar Abishek et Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembre 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (lien externe à ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, 2018.

4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 1 juin 2002, https://www.jair.org/index.php/jair/article/view/10302 (lien externe à ibm.com).

5 Kumar Abishek et Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembre 2023. Haobo He et Edwardo Garcia, Learning from Imbalanced Data, IEEE, septembre 2009, https://ieeexplore.ieee.org/document/5128907 (lien externe à ibm.com).

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

7 Connor Shorten et Taghi Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Springer, 6 juillet 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (lien externe à ibm.com).

8 Zhen Wei, Li Zhang, et Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 6 décembre 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (lien externe à ibm.com).

9 Zeyu Teng, et al., Multi-label borderline oversampling technique, ScienceDirect, 14 septembre 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (lien externe à ibm.com).

10 Justin Engelmann et Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 15 juillet 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (lien externe à ibm.com). Shuai Yang, et al., Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 12 janvier 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (lien externe à ibm.com).