Découvrez comment t-SNE visualise les données à haute dimension. Apprenez à révéler les clusters dans les caractéristiques de vision par ordinateur pour Ultralytics et à optimiser les modèles d'apprentissage automatique.
Le t-SNE (t-distributed Stochastic Neighbor Embedding) est une méthode statistique permettant de visualiser des données à haute dimension en attribuant à chaque point de données un emplacement dans une carte à deux ou trois dimensions. Cette technique, qui est une forme de réduction de dimensionnalité non linéaire, est largement utilisée dans l'apprentissage automatique pour explorer des ensembles de données contenant des centaines ou des milliers de caractéristiques. Contrairement aux méthodes linéaires qui se concentrent sur la préservation des structures globales, le t-SNE excelle à garder les instances similaires proches les unes des autres, révélant ainsi des clusters et des variétés locales qui, autrement, pourraient rester cachés. Cela en fait un outil précieux pour tout, de la recherche génomique à la compréhension de la logique interne des réseaux neuronaux profonds.
L'idée centrale derrière t-SNE consiste à convertir les similitudes entre les points de données en probabilités conjointes. Dans l' espace original à haute dimension, l'algorithme mesure la similitude entre les points à l'aide d'une distribution gaussienne. Si deux points sont proches l'un de l'autre, ils ont une forte probabilité d'être « voisins ». L'algorithme tente ensuite de mapper ces points dans un espace de dimension inférieure (généralement 2D ou 3D) tout en conservant ces probabilités.
Pour ce faire, il définit une distribution de probabilité similaire dans la carte à dimension réduite à l'aide d'une distribution t de Student. Cette distribution spécifique présente des queues plus lourdes qu'une distribution gaussienne normale, ce qui permet de résoudre le « problème d'encombrement », un phénomène où les points dans un espace à haute dimension ont tendance à s'effondrer les uns sur les autres lorsqu'ils sont projetés vers le bas. En éloignant les points dissemblables dans la visualisation, t-SNE crée des clusters distincts et lisibles qui révèlent la structure sous-jacente des données d'apprentissage. L'algorithme apprend efficacement la meilleure représentation cartographique grâce à un apprentissage non supervisé en minimisant la divergence entre les distributions de probabilité à haute dimension et à faible dimension.
Le t-SNE est un outil standard pour l' analyse exploratoire des données (EDA) et le diagnostic des modèles. Il permet aux ingénieurs de « voir » ce qu'un modèle apprend.
Il est important de distinguer le t-SNE de l' analyse en composantes principales (ACP), une autre technique de réduction couramment utilisée.
Une bonne pratique courante dans le prétraitement des données consiste à utiliser d'abord l'ACP pour réduire les données à une taille gérable (par exemple, 50 dimensions), puis à appliquer le t-SNE pour la visualisation finale . Cette approche hybride réduit la charge de calcul et filtre le bruit susceptible de dégrader le résultat du t-SNE .
L'exemple suivant montre comment utiliser scikit-learn Appliquer t-SNE à un ensemble de données synthétiques. Ce
workflow reflète la manière dont on pourrait visualiser les caractéristiques extraites d'un modèle d'apprentissage profond.
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE
# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)
# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)
# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()
Bien que puissant, le t-SNE nécessite un réglage minutieux des hyperparamètres. Le paramètre « perplexité » est essentiel ; il estime essentiellement le nombre de voisins proches de chaque point. Un réglage trop bas ou trop élevé peut entraîner des visualisations trompeuses. De plus, le t-SNE ne préserve pas bien les distances globales, ce qui signifie que la distance entre deux clusters distincts sur le graphique ne reflète pas nécessairement leur distance physique dans l'espace d'origine. Malgré ces nuances, il reste une technique fondamentale pour valider les architectures de vision par ordinateur (CV) et comprendre les ensembles de données complexes. Les utilisateurs qui gèrent des ensembles de données à grande échelle utilisent souvent Ultralytics pour organiser leurs données avant d'effectuer une telle analyse approfondie.