Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

t-distributed Stochastic Neighbor Embedding (t-SNE)

Scopri come t-SNE visualizza i dati ad alta dimensionalità. Impara a rivelare i cluster nelle caratteristiche di visione artificiale per Ultralytics e ottimizza i modelli di machine learning.

Il t-distributed Stochastic Neighbor Embedding (t-SNE) è un metodo statistico per visualizzare dati ad alta dimensionalità assegnando a ciascun punto dati una posizione in una mappa bidimensionale o tridimensionale. Questa tecnica, una forma di riduzione della dimensionalità non lineare, è ampiamente utilizzata nell'apprendimento automatico per esplorare set di dati che contengono centinaia o migliaia di caratteristiche. A differenza dei metodi lineari che si concentrano sulla conservazione delle strutture globali, il t-SNE eccelle nel mantenere vicine le istanze simili, rivelando cluster e varietà locali che altrimenti potrebbero rimanere nascosti. Questo lo rende uno strumento prezioso per tutto, dalla ricerca genomica alla comprensione della logica interna delle reti neurali profonde.

Come funziona t-SNE

L'idea alla base del t-SNE consiste nel convertire le somiglianze tra i punti dati in probabilità congiunte. Nello spazio originario ad alta dimensionalità, l'algoritmo misura la somiglianza tra i punti utilizzando una distribuzione gaussiana. Se due punti sono vicini, hanno un'alta probabilità di essere "vicini". L'algoritmo quindi tenta di mappare questi punti in uno spazio a dimensione inferiore (di solito 2D o 3D) mantenendo queste probabilità.

Per ottenere questo risultato, definisce una distribuzione di probabilità simile nella mappa a dimensione inferiore utilizzando una distribuzione t di Student . Questa distribuzione specifica ha code più pesanti rispetto a una distribuzione gaussiana normale, il che aiuta ad affrontare il "problema dell'affollamento", un fenomeno in cui i punti nello spazio ad alta dimensione tendono a collassare l'uno sull'altro quando vengono proiettati verso il basso. Allontanando i punti dissimili nella visualizzazione, t-SNE crea cluster distinti e leggibili che rivelano la struttura sottostante dei dati di addestramento. L'algoritmo apprendono efficacemente la migliore rappresentazione della mappa attraverso l' apprendimento non supervisionato, riducendo al minimo la divergenza tra le distribuzioni di probabilità ad alta e bassa dimensionalità.

Applicazioni del mondo reale nell'IA

t-SNE è uno strumento standard per l' analisi esplorativa dei dati (EDA) e la diagnostica dei modelli. Consente agli ingegneri di "vedere" ciò che un modello sta apprendendo.

  • Verifica delle caratteristiche della visione artificiale: nei flussi di lavoro di rilevamento degli oggetti che utilizzano modelli come YOLO26, gli sviluppatori devono spesso verificare se la rete è in grado di distinguere tra classi visivamente simili. Estraendo le mappe delle caratteristiche dagli strati finali della rete e proiettandole con t-SNE, gli ingegneri possono visualizzare se le immagini dei "gatti" si raggruppano separatamente da quelle dei "cani". Se i cluster sono misti, ciò suggerisce che le capacità di estrazione delle caratteristiche del modello devono essere migliorate.
  • Elaborazione del linguaggio naturale (NLP): t-SNE è ampiamente utilizzato per visualizzare gli embedding delle parole . Quando vettori di parole ad alta dimensionalità (spesso oltre 300 dimensioni) vengono proiettati in 2D, le parole con significati semantici simili si raggruppano naturalmente. Ad esempio, un grafico t-SNE potrebbe mostrare un cluster contenente "re", "regina", "principe" e "monarca", dimostrando che il modello di elaborazione del linguaggio naturale (NLP) coglie il concetto di regalità.
  • Genomica e bioinformatica: i ricercatori utilizzano il t-SNE per visualizzare i dati del sequenziamento dell'RNA a singola cellula. Riducendo migliaia di valori di espressione genica in un grafico bidimensionale, gli scienziati possono identificare tipi cellulari distinti e tracciare traiettorie di sviluppo, contribuendo alla scoperta di nuove conoscenze biologiche e marcatori di malattie.

Confronto con PCA

È importante distinguere t-SNE dall' analisi delle componenti principali (PCA), un'altra tecnica di riduzione comune.

  • La PCA è una tecnica lineare che si concentra sulla conservazione della varianza globale dei dati. È deterministica ed efficiente dal punto di vista computazionale, il che la rende eccellente per la compressione iniziale dei dati o la riduzione del rumore.
  • t-SNE è una tecnica non lineare incentrata sulla conservazione dei vicinati locali. È probabilistica (stocastica) e computazionalmente più pesante, ma produce visualizzazioni di gran lunga migliori per varietà complesse e non lineari .

Una best practice comune nella pre-elaborazione dei dati consiste nell'utilizzare prima la PCA per ridurre i dati a una dimensione gestibile (ad esempio, 50 dimensioni) e poi applicare la t-SNE per la visualizzazione finale . Questo approccio ibrido riduce il carico computazionale e filtra il rumore che potrebbe degradare il risultato della t-SNE .

Python : Visualizzazione delle caratteristiche

L'esempio seguente mostra come utilizzare scikit-learn applicare t-SNE a un set di dati sintetici. Questo flusso di lavoro rispecchia il modo in cui si potrebbero visualizzare le caratteristiche estratte da un modello di deep learning.

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

Considerazioni chiave

Sebbene potente, t-SNE richiede un'attenta messa a punto degli iperparametri. Il parametro "perplessità" è fondamentale; essenzialmente ipotizza quanti vicini ravvicinati ha ogni punto. Impostarlo su un valore troppo basso o troppo alto può portare a visualizzazioni fuorvianti. Inoltre, t-SNE non preserva bene le distanze globali, il che significa che la distanza tra due cluster distinti sul grafico non riflette necessariamente la loro distanza fisica nello spazio originale. Nonostante queste sfumature, rimane una tecnica fondamentale per convalidare le architetture di visione artificiale (CV) e comprendere set di dati complessi. Gli utenti che gestiscono set di dati su larga scala spesso sfruttano Ultralytics per organizzare i propri dati prima di eseguire tali analisi approfondite.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora