Découvrez comment la réduction de dimensionnalité optimise les workflows ML. Explorez des techniques telles que PCA et t-SNE pour améliorer les performances Ultralytics et la visualisation des données.
La réduction de dimensionnalité est une technique transformative utilisée dans l' apprentissage automatique (ML) et la science des données pour réduire le nombre de variables d'entrée (souvent appelées caractéristiques ou dimensions) dans un ensemble de données tout en conservant les informations les plus critiques. À l'ère du big data, les ensembles de données contiennent souvent des milliers de variables, ce qui conduit à un phénomène connu sous le nom de malédiction de la dimensionnalité. Ce phénomène peut rendre l' apprentissage des modèles coûteux en termes de calcul, sujet au surajustement et difficile à interpréter. En projetant des données de haute dimension dans un espace de dimension inférieure, les praticiens peuvent améliorer l'efficacité, la visualisation et les performances prédictives.
La réduction de la complexité des données est une étape fondamentale dans les pipelines de prétraitement des données. Elle offre plusieurs avantages concrets pour la création de systèmes d'intelligence artificielle (IA) robustes :
Les méthodes de réduction des dimensions sont généralement classées selon qu'elles préservent la structure linéaire globale ou la variété non linéaire locale des données.
La technique linéaire la plus répandue est l' analyse en composantes principales (ACP). L'ACP fonctionne en identifiant les « composantes principales », c'est-à-dire les axes orthogonaux qui capturent la variance maximale dans les données. Elle projette les données d'origine sur ces nouveaux axes, éliminant ainsi efficacement les dimensions qui apportent peu d'informations. Il s'agit d'un élément essentiel dans les processus d'apprentissage non supervisé.
Pour les structures de données complexes, telles que les images ou les intégrations de texte, des méthodes non linéaires sont souvent nécessaires. Des techniques telles que l'intégration stochastique distribuée t (t-SNE) et l'UMAP (approximation et projection uniformes de variétés) excellent dans la préservation des voisinages locaux, ce qui les rend idéales pour la visualisation de clusters à haute dimension. De plus, les auto-encodeurs sont des réseaux neuronaux entraînés à compresser les entrées en une représentation dans un espace latent et à les reconstruire, apprenant ainsi efficacement un encodage compact des données.
La réduction de la dimensionnalité est essentielle dans divers domaines de l' apprentissage profond (DL):
Il est important de distinguer ce concept de la sélection de caractéristiques, car ils atteignent des objectifs similaires par des mécanismes différents :
L'exemple suivant illustre comment prendre une sortie à haute dimension (simulant un vecteur d'intégration d'image) et la réduire à l'aide de l'ACP. Il s'agit d'un workflow courant pour visualiser comment un modèle tel que YOLO26 regroupe des classes similaires.
import numpy as np
from sklearn.decomposition import PCA
# Simulate high-dimensional embeddings (e.g., 10 images, 512 features each)
# In a real workflow, these would come from a model like YOLO26n
embeddings = np.random.rand(10, 512)
# Initialize PCA to reduce from 512 dimensions to 2
pca = PCA(n_components=2)
reduced_data = pca.fit_transform(embeddings)
# Output shape is now (10, 2), ready for 2D plotting
print(f"Original shape: {embeddings.shape}") # (10, 512)
print(f"Reduced shape: {reduced_data.shape}") # (10, 2)