Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

t-distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE mappa dati ad alta dimensionalità in 2D o 3D, mantenendo vicini i punti vicini e rivelando i cluster. Scopri come funziona, la perplessità, le insidie e il codice.

L'embedding stocastico dei vicini t-distribuito (t-SNE) è un metodo non lineare di riduzione della dimensionalità che colloca punti dati ad alta dimensionalità su una mappa bidimensionale o tridimensionale, in modo che i punti vicini nello spazio originale restino vicini sulla mappa. Laurens van der Maaten e Geoffrey Hinton lo hanno introdotto in un articolo del 2008 pubblicato sul Journal of Machine Learning Research. È uno strumento standard per la visualizzazione dei dati di embedding, feature delle immagini e dati di espressione genica a cellula singola, in cui centinaia di dimensioni nascondono gruppi che un grafico a dispersione 2D rende visibili.

Come funziona t-SNE#

t-SNE converte le distanze in probabilità in entrambi gli spazi e poi sposta i punti sulla mappa finché le due distribuzioni di probabilità non corrispondono:

  • Similarità ad alta dimensionalità: per ogni punto, t-SNE colloca una distribuzione gaussiana sulle distanze da tutti gli altri punti e le converte in probabilità di scegliere ciascuno di essi come vicino. La larghezza di ogni gaussiana viene regolata affinché la perplexity della distribuzione, approssimativamente il numero effettivo di vicini, corrisponda a un valore scelto dall'utente: in questo modo le regioni dense hanno gaussiane strette e quelle sparse gaussiane ampie.
  • Similarità a bassa dimensionalità: sulla mappa, le similarità derivano da una distribuzione t di Student con un grado di libertà, le cui code pesanti permettono ai punti moderatamente distanti di rimanere molto separati. Questo allevia il problema dell'affollamento: una mappa 2D ha troppo poco spazio per contenere tutti i vicini moderatamente prossimi che un punto ad alta dimensionalità può avere.
  • Ottimizzazione: la discesa del gradiente sposta i punti sulla mappa per minimizzare la divergenza di Kullback-Leibler tra le due distribuzioni. Una fase iniziale di esagerazione moltiplica le similarità ad alta dimensionalità, per un fattore pari a 12 in scikit-learn, così i gruppi naturali formano presto cluster compatti e ben separati.

t-SNE esatto confronta ogni coppia di punti, quindi il costo cresce in modo quadratico rispetto al dataset. L'approssimazione di Barnes-Hut, predefinita in scikit-learn, riduce il costo a O(N log N) per le mappe 2D e 3D; implementazioni accelerate con FFT come openTSNE gestiscono milioni di punti.

Perplexity e interpretazione dei grafici t-SNE#

La perplexity è la principale impostazione. Sono tipici valori tra 5 e 50; il valore predefinito di scikit-learn è 30 e deve essere inferiore al numero di punti. Una perplexity bassa si concentra sulla struttura molto locale e può dividere un gruppo in frammenti, mentre una perplexity alta fonde gruppi vicini e mostra meglio la struttura globale. Poiché l'ottimizzazione non è convessa, semi casuali diversi possono produrre mappe diverse.

Tre proprietà rendono facile interpretare male i grafici t-SNE. Le dimensioni dei cluster sulla mappa dicono poco sulla dispersione dei cluster originali, perché t-SNE espande i gruppi densi e contrae quelli sparsi. Neanche le distanze tra cluster sono affidabili e, con una perplexity bassa, persino il rumore casuale può sembrare formare cluster. Inoltre, TSNE di scikit-learn non dispone del metodo transform, quindi una mappa già calcolata non può collocare nuovi punti senza essere ricalcolata; le coordinate t-SNE vengono usate di rado come feature di input per altri modelli.

t-SNE, PCA e UMAP a confronto#

L'analisi delle componenti principali (PCA) è lineare e deterministica, preserva le direzioni di massima varianza globale e proietta immediatamente i nuovi punti. t-SNE è non lineare e stocastico e preserva i vicinati locali. I due metodi vengono spesso combinati: ridurre i dati ad altissima dimensionalità a circa 50 dimensioni con PCA prima di eseguire t-SNE attenua il rumore e velocizza il calcolo; inoltre, t-SNE di scikit-learn inizializza la mappa a partire da PCA per impostazione predefinita, preservando una parte maggiore della disposizione globale. Anche UMAP, introdotto nel 2018, costruisce un grafo dei vicini, in genere è più veloce sui dataset grandi, spesso preserva meglio la struttura globale e può proiettare nuovi punti su una mappa esistente.

Questo esempio proietta in 2D le cifre scritte a mano di 64 pixel incluse in scikit-learn, usando entrambi i metodi, e misura l'attendibilità: la misura in cui i vicini più prossimi di ciascun punto sulla mappa erano anche suoi vicini in 64 dimensioni:

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE, trustworthiness

# 1,797 handwritten digits, each an 8x8 image flattened to 64 features
X, y = load_digits(return_X_y=True)

# Project to 2D with a linear method and with t-SNE
X_pca = PCA(n_components=2).fit_transform(X)
X_tsne = TSNE(n_components=2, perplexity=30, random_state=0).fit_transform(X)

# Trustworthiness near 1.0 means a point's 2D neighbors were also its 64D neighbors
print(f"PCA trustworthiness:   {trustworthiness(X, X_pca, n_neighbors=10):.3f}")
print(f"t-SNE trustworthiness: {trustworthiness(X, X_tsne, n_neighbors=10):.3f}")

Lo script stampa 0.830 per PCA e 0.993 per t-SNE. Comprimere 64 dimensioni in due direzioni lineari colloca molti punti accanto a cifre che erano lontane da loro nello spazio a 64 dimensioni, mentre la mappa t-SNE conserva quasi tutte le relazioni originali tra i 10 vicini più prossimi.

Applicazioni nel mondo reale#

  • Ispezione delle feature apprese: proiettare gli output di estrazione delle feature di una rete mostra se le classi visivamente simili formano gruppi distinti. I modelli YOLO26 restituiscono un vettore di feature per immagine tramite model.embed(), ricavato per impostazione predefinita dal penultimo layer; una mappa t-SNE di questi vettori mostra come un modello addestrato su misura separa le proprie classi.
  • Selezione dei dataset: Le immagini che finiscono nell'isola di un'altra classe sono spesso etichettate in modo errato; gruppi compatti di punti quasi identici segnalano possibili duplicati. Il pannello Clustering di Ultralytics Platform proietta gli embedding delle immagini di un dataset in un grafico a dispersione 2D simile per aiutarti a svolgere queste verifiche.
  • Embedding di parole e documenti: le mappe dei vettori delle parole collocano parole correlate, come nomi di paesi o numeri, in gruppi vicini.
  • Genomica a cellula singola: i ricercatori riducono a 2D l'espressione di migliaia di geni per cellula per identificare i tipi cellulari; in questa analisi t-SNE è stato a lungo lo standard, prima che molti gruppi passassero a UMAP.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning