Découvrez comment l'analyse en composantes principales (ACP) simplifie les données à haute dimension pour l'apprentissage automatique. Découvrez comment utiliser l'ACP pour le prétraitement des données et la visualisation des intégrations YOLO26.
L'analyse en composantes principales (ACP) est une technique statistique largement utilisée dans l' apprentissage automatique (ML) qui simplifie la complexité des données à haute dimension tout en conservant leurs informations les plus essentielles. Elle fonctionne comme une méthode de réduction de la dimensionnalité, transformant de grands ensembles de données comportant de nombreuses variables en un ensemble plus petit et plus facile à gérer de « composantes principales ». En identifiant les directions dans lesquelles les données varient le plus, l'ACP permet aux scientifiques des données de réduire les coûts de calcul et d'éliminer le bruit sans perdre de modèles significatifs. Ce processus est une étape cruciale dans le prétraitement efficace des données et est fréquemment utilisé pour visualiser des ensembles de données complexes en deux ou trois dimensions.
À la base, l'ACP est une technique de transformation linéaire qui réorganise les données en fonction de la variance. Dans un ensemble de données comportant de nombreuses caractéristiques, telles que les valeurs de pixels dans une image ou les lectures de capteurs dans un réseau Internet des objets (IoT), les variables se recoupent souvent dans les informations qu'elles transmettent. L'ACP identifie de nouvelles variables non corrélées (composantes principales) qui maximisent successivement la variance. La première composante capture la plus grande quantité possible de variation dans les données, la deuxième capture la deuxième plus grande quantité (tout en étant perpendiculaire à la première), et ainsi de suite.
En ne conservant que les quelques composantes les plus importantes et en écartant les autres, les praticiens peuvent obtenir une compression significative. Cela permet d'atténuer le problème de la dimensionnalité, un phénomène où les performances de la modélisation prédictive se dégradent à mesure que le nombre de caractéristiques augmente par rapport aux échantillons d'apprentissage disponibles.
La PCA est polyvalente et prend en charge différentes étapes du cycle de vie du développement de l'IA, du nettoyage des données à la visualisation des composants internes des modèles.
Bien que la PCA soit un outil standard pour l' extraction de caractéristiques, il est utile de la distinguer des autres techniques de réduction :
L'exemple suivant montre comment utiliser scikit-learn pour réduire les vecteurs de caractéristiques à haute dimension.
Ce flux de travail simule la compression de la sortie d'un modèle de vision avant de la stocker dans un
base de données vectorielle ou l'utiliser pour le clustering.
import numpy as np
from sklearn.decomposition import PCA
# Simulate 100 image embeddings, each with 512 dimensions (features)
embeddings = np.random.rand(100, 512)
# Initialize PCA to reduce the data to 3 principal components
pca = PCA(n_components=3)
# Fit and transform the embeddings to the lower dimension
reduced_data = pca.fit_transform(embeddings)
print(f"Original shape: {embeddings.shape}") # Output: (100, 512)
print(f"Reduced shape: {reduced_data.shape}") # Output: (100, 3)
L'intégration de l'ACP dans les pipelines de la Ultralytics peut contribuer à rationaliser la formation des modèles en réduisant la complexité des entrées, ce qui permet d'accélérer les expériences et d'obtenir des solutions d'IA plus robustes.