La normalisation est une technique fondamentale de prétraitement des données très 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 fourchette commune et standard, souvent comprise entre 0 et 1 ou -1 et 1, sans fausser les différences dans les fourchettes de valeurs. Ce processus garantit que toutes les caractéristiques contribuent de manière plus égale à la formation du modèle, en empêchant les caractéristiques ayant des valeurs intrinsèquement plus importantes (comme le salaire dans un ensemble de données) d'influencer le résultat de manière disproportionnée par rapport aux caractéristiques ayant des valeurs plus petites (comme les années d'expérience). La normalisation est particulièrement cruciale pour les algorithmes sensibles à la mise à l'échelle des caractéristiques, comme les méthodes basées sur la descente de gradient utilisées dans l'apprentissage profond (DL) et divers algorithmes d'optimisation.
Pourquoi la normalisation est-elle importante ?
Les ensembles de données du monde réel contiennent souvent des caractéristiques avec des échelles et des unités très différentes. Par exemple, dans un ensemble de données visant à prédire le désabonnement des clients, le "solde du compte" peut aller de plusieurs centaines à plusieurs millions, tandis que le "nombre de produits" peut aller 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 son ampleur. Cela permet une convergence plus rapide pendant 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 la formation de modèles tels que Ultralytics YOLO pour des tâches telles que la détection d'objets ou la segmentation d'instances, ce qui permet d'améliorer les mesures telles que la précision moyenne (mAP).
Techniques de normalisation courantes
Il existe plusieurs méthodes pour remettre les données à l'échelle, chacune convenant à des situations différentes :
- Échelle Min-Max : Rééchelonne les caractéristiques sur 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 se calcule 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. Tu trouveras plus d'informations sur ces méthodes et sur d'autres dans la documentation Scikit-learn Preprocessing.
- Échelle robuste : Utilise des statistiques robustes aux valeurs aberrantes, comme l'intervalle interquartile (IQR), au lieu de 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 que l'on trouve dans les ensembles de donnéesUltralytics ) 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. normalisation vs. normalisation par lots
Il est important de distinguer la normalisation des concepts connexes :
- Normalisation : Souvent utilisée de façon 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, de 0 à 1), la standardisation centre les données autour de la moyenne et les met à l'échelle en fonction 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, plus précisément 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 permet de stabiliser et d'accélérer le processus de formation en réduisant le problème du 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, s'adaptant dynamiquement pendant la formation 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 aide le réseau à 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 comme 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 de balayage ou réglages peuvent produire des images avec des échelles d'intensité variables. La normalisation garantit que l'analyse est cohérente et comparable entre différents scans et patients, ce qui permet d'obtenir des modèles de diagnostic plus fiables. Cela est vital 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 en pieds carrés) 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 méthode est courante dans les domaines de la finance et de l'analyse des ventes au détail.
- Traitement du langage naturel (NLP) : Bien que moins courante 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, en particulier lorsqu'on les combine avec 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 HUBUltralytics . 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.