Normalisation
Découvrez la puissance de la normalisation dans l'apprentissage automatique ! Apprenez comment elle améliore la formation des modèles, booste les performances et garantit des solutions d'IA robustes.
La normalisation est une technique fondamentale de prétraitement des données largement utilisée dans l'apprentissage automatique (ML) et la science des données. Son objectif principal est de remettre à l'échelle les caractéristiques numériques des données dans une plage standard commune, souvent comprise entre 0 et 1 ou entre -1 et 1, sans fausser les différences entre les plages de valeurs. Ce processus garantit que toutes les caractéristiques contribuent de manière plus égale à la formation du modèle, en évitant que les caractéristiques ayant des valeurs intrinsèquement plus élevées (comme le salaire dans un ensemble de données) n'influencent le résultat de manière disproportionnée par rapport aux caractéristiques ayant des valeurs plus faibles (comme les années d'expérience). La normalisation est particulièrement cruciale pour les algorithmes sensibles à la mise à l'échelle des caractéristiques, tels que les méthodes basées sur la descente de gradient utilisées dans l'apprentissage profond (DL) et divers algorithmes d'optimisation.
L'importance de la normalisation
Les ensembles de données du monde réel contiennent souvent des caractéristiques dont les échelles et les unités sont très différentes. Par exemple, dans un ensemble de données destiné à prédire l'attrition de la clientèle, le "solde du compte" peut varier de plusieurs centaines à plusieurs millions, tandis que le "nombre de produits" peut varier de 1 à 10. Sans normalisation, les algorithmes de ML qui calculent des distances ou utilisent des gradients, comme les machines à vecteurs de support (SVM) ou les réseaux neuronaux (NN), pourraient percevoir à tort la caractéristique avec la plus grande plage comme plus importante simplement en raison de son échelle. La normalisation uniformise les règles du jeu, en veillant à ce que la contribution de chaque caractéristique soit basée sur son pouvoir prédictif, et non sur sa magnitude. Cela permet une convergence plus rapide lors de l'apprentissage (comme le montre la réduction du nombre d'époques), une meilleure précision du modèle et des modèles plus stables et plus robustes. Cette stabilité est bénéfique lors de l'apprentissage de modèles comme Ultralytics YOLO pour des tâches telles que la détection d'objets ou la segmentation d'instances, améliorant potentiellement des mesures telles que la précision moyenne (mAP).
Techniques de normalisation courantes
Il existe plusieurs méthodes de remise à l'échelle des données, chacune convenant à des situations différentes :
- Échelle Min-Max : Rééchelonne les caractéristiques dans une plage fixe, généralement [0, 1]. Elle est calculée comme suit : (valeur - min) / (max - min). Cette méthode préserve la forme de la distribution originale mais est sensible aux valeurs aberrantes.
- Normalisation du score Z (échelle standard) : Réévalue les caractéristiques pour qu'elles aient une moyenne de 0 et un écart-type de 1. Elle est calculée comme suit : (valeur - moyenne) / écart type. Contrairement à l'échelle Min-Max, elle ne lie pas les valeurs à une plage spécifique, ce qui peut être un inconvénient pour les algorithmes nécessitant des entrées dans un intervalle délimité, mais elle gère mieux les valeurs aberrantes. Vous trouverez plus d'informations sur ces méthodes et d'autres dans la documentation Scikit-learn Preprocessing.
- Échelle robuste : Utilise des statistiques robustes aux valeurs aberrantes, comme l'intervalle interquartile (IQR), au lieu des valeurs min/max ou moyenne/écart-type. Cette méthode est particulièrement utile lorsque l'ensemble de données contient des valeurs aberrantes importantes. En savoir plus sur l'échelle robuste.
Le choix entre ces techniques dépend souvent de l'ensemble de données spécifique (comme ceux trouvés dans les ensembles de données Ultralytics) et des exigences de l'algorithme de ML utilisé. Les guides sur le prétraitement des données annotées couvrent souvent les étapes de normalisation pertinentes pour des tâches spécifiques.
Normalisation vs. standardisation vs. normalisation par lots
Il est important de distinguer la normalisation des concepts connexes :
- Normalisation : Souvent utilisée de manière interchangeable avec la normalisation du score Z, cette technique transforme les données pour qu'elles aient une moyenne nulle et une variance unitaire. Alors que la normalisation met généralement les données à l'échelle d'un intervalle fixe (par exemple, 0 à 1), la standardisation centre les données autour de la moyenne et les met à l'échelle sur la base de l'écart type, sans nécessairement les contraindre à un intervalle spécifique.
- Normalisation par lots: Il s'agit d'une technique appliquée au sein d' un réseau neuronal pendant la formation, en particulier aux entrées des couches ou activations. Elle normalise les sorties d'une couche d'activation précédente pour chaque mini-lot, ce qui stabilise et accélère le processus de formation en réduisant le problème de décalage des covariables internes. Contrairement à la normalisation des caractéristiques (Min-Max ou Z-score) qui est une étape de prétraitement appliquée à l'ensemble de données initial, la normalisation par lots fait partie de l'architecture du réseau lui-même et s'adapte dynamiquement pendant l'apprentissage du modèle.
Applications de la normalisation
La normalisation est une étape omniprésente dans la préparation des données pour diverses tâches d'intelligence artificielle (IA) et de ML :
- Vision par ordinateur (VA): Les valeurs des pixels dans les images (généralement comprises entre 0 et 255) sont souvent normalisées à [0, 1] ou [-1, 1] avant d'être introduites dans les réseaux neuronaux convolutionnels (CNN). Cela garantit la cohérence entre les images et permet au réseau d'apprendre des caractéristiques plus efficacement pour des tâches telles que la classification d'images, la détection d'objets à l'aide de modèles tels que YOLO11 et la segmentation d'images. De nombreux ensembles de données CV standard bénéficient de cette étape de prétraitement.
- Analyse d'images médicales: Dans des applications telles que la détection de tumeurs à l'aide de modèles YOLO, la normalisation des valeurs d'intensité des IRM ou des tomodensitogrammes est cruciale. Différents équipements ou réglages de scanner peuvent produire des images avec des échelles d'intensité différentes. La normalisation garantit que l'analyse est cohérente et comparable entre les différents scanners et patients, ce qui permet d'obtenir des modèles de diagnostic plus fiables. Cet aspect est essentiel dans des domaines tels que l 'IA dans les soins de santé.
- Modélisation prédictive: Lors de l'élaboration de modèles visant à prédire les résultats en fonction de diverses caractéristiques (par exemple, prédire les prix des maisons en fonction de la taille, du nombre de pièces et des coordonnées de l'emplacement), la normalisation permet de s'assurer que les caractéristiques ayant des plages numériques plus importantes (comme la superficie) ne dominent pas les calculs basés sur la distance (par exemple, dans les k-voisins les plus proches) ou les mises à jour du gradient au cours de la formation. Cette pratique est courante dans les domaines de la finance et de l'analyse du commerce de détail.
- Traitement du langage naturel (NLP) : Bien que moins fréquente pour le texte brut, la normalisation peut être appliquée aux caractéristiques numériques dérivées, telles que les fréquences de mots ou les scores TF-IDF, en particulier lorsqu'elles sont combinées à d'autres types de caractéristiques dans un modèle plus large.
En résumé, la normalisation est une étape de prétraitement essentielle qui met à l'échelle les caractéristiques des données dans une fourchette cohérente, améliorant ainsi le processus de formation, la stabilité et les performances de nombreux modèles d'apprentissage automatique, y compris ceux développés et formés à l'aide d'outils tels que le HUB Ultralytics. Elle garantit une contribution équitable des caractéristiques et est essentielle pour les algorithmes sensibles à l'échelle d'entrée, contribuant ainsi à des solutions d'IA plus robustes et plus précises.