Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

t-distributed Stochastic Neighbor Embedding (t-SNE) (Intégration de voisins stochastique t-distribuée)

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.

Comment fonctionne le t-SNE

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.

Applications de l'IA dans le monde réel

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.

  • Vérification des caractéristiques de la vision par ordinateur : dans les flux de travail de détection d'objets utilisant des modèles tels que YOLO26, les développeurs doivent souvent vérifier si le réseau est capable de distinguer des classes visuellement similaires. En extrayant les cartes de caractéristiques des couches finales du réseau et en les projetant avec t-SNE, les ingénieurs peuvent visualiser si les images de « chats » sont regroupées séparément de celles de « chiens ». Si les regroupements sont mélangés, cela suggère que les capacités d'extraction des fonctionnalités du modèle doivent être améliorées.
  • Traitement du langage naturel (NLP) : le t-SNE est largement utilisé pour visualiser les imbrications de mots. Lorsque des vecteurs de mots à haute dimension (souvent plus de 300 dimensions) sont projetés en 2D, les mots ayant des significations sémantiques similaires se regroupent naturellement. Par exemple, un graphique t-SNE peut montrer un cluster contenant « roi », « reine », « prince » et « monarque », démontrant que le modèle de traitement du langage naturel (NLP) comprend le concept de royauté.
  • Génomique et bio-informatique : les chercheurs utilisent le t-SNE pour visualiser les données de séquençage d'ARN unicellulaire. En réduisant des milliers de valeurs d'expression génétique à un graphique en 2D, les scientifiques peuvent identifier différents types de cellules et suivre leur trajectoire de développement, ce qui facilite la découverte de nouvelles connaissances biologiques et de nouveaux marqueurs de maladies.

Comparaison avec l'ACP

Il est important de distinguer le t-SNE de l' analyse en composantes principales (ACP), une autre technique de réduction couramment utilisée.

  • La PCA est une technique linéaire qui vise à préserver la variance globale des données. Elle est déterministe et efficace sur le plan informatique, ce qui la rend excellente pour la compression initiale des données ou la réduction du bruit.
  • t-SNE est une technique non linéaire axée sur la préservation des voisinages locaux. Elle est probabiliste (stochastique) et plus lourde en termes de calcul, mais elle produit de bien meilleures visualisations pour les variétés complexes et non linéaires .

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 .

Python : visualisation des caractéristiques

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()

Considérations clés

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.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant