Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

t-distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE bildet hochdimensionale Daten auf zwei oder drei Dimensionen ab, sodass benachbarte Punkte benachbart bleiben und Cluster sichtbar werden. Behandelt werden Funktionsweise, Perplexität, Fallstricke und Code.

Die t-verteilte stochastische Nachbareinbettung (t-SNE) ist ein nichtlineares Verfahren zur Dimensionsreduktion. Dabei werden hochdimensionale Datenpunkte auf einer zwei- oder dreidimensionalen Karte angeordnet, sodass Punkte, die im ursprünglichen Raum Nachbarn sind, auch auf der Karte Nachbarn bleiben. Laurens van der Maaten und Geoffrey Hinton stellten das Verfahren in einem 2008 im Journal of Machine Learning Research erschienenen Beitrag vor. Es ist ein gängiges Werkzeug zur Datenvisualisierung von Einbettungen, Bildmerkmalen und Einzelzell-Genexpressionsdaten, bei denen Hunderte von Dimensionen Gruppen verbergen, die in einem 2D-Streudiagramm sichtbar werden.

So funktioniert t-SNE#

t-SNE wandelt Abstände in beiden Räumen in Wahrscheinlichkeiten um und verschiebt dann die Kartenpunkte, bis die beiden Wahrscheinlichkeitsverteilungen übereinstimmen:

  • Ähnlichkeiten im hochdimensionalen Raum: Für jeden Punkt legt t-SNE eine Gauß-Verteilung über die Abstände zu allen anderen Punkten und wandelt diese in Wahrscheinlichkeiten um, mit denen jeder Punkt als Nachbar ausgewählt wird. Die Breite jeder Gauß-Verteilung wird so angepasst, dass die Perplexität der Verteilung – ungefähr die effektive Anzahl der Nachbarn – einem vom Nutzer festgelegten Wert entspricht. Dadurch erhalten dichte Bereiche schmale und dünn besetzte Bereiche breite Gauß-Verteilungen.
  • Ähnlichkeiten im niedrigdimensionalen Raum: Auf der Karte werden Ähnlichkeiten mit einer t-Verteilung von Student mit einem Freiheitsgrad berechnet. Ihre schweren Verteilungsschwänze ermöglichen es, dass Punkte mit mittlerem Abstand weit auseinanderliegen. So wird das Überfüllungsproblem gemildert: Eine 2D-Karte bietet nicht genug Platz für alle mäßig nahen Nachbarn, die ein hochdimensionaler Punkt haben kann.
  • Optimierung: Der Gradientenabstieg verschiebt die Kartenpunkte, um die Kullback-Leibler-Divergenz zwischen den beiden Verteilungen zu minimieren. In einer Phase der frühen Übertreibung werden die Ähnlichkeiten im hochdimensionalen Raum vervielfacht – in scikit-learn um den Faktor 12 –, sodass sich natürliche Cluster früh zu engen, klar getrennten Gruppen formen.

Exaktes t-SNE vergleicht jedes Punktpaar, weshalb der Rechenaufwand quadratisch mit der Größe des Datensatzes wächst. Die Barnes-Hut-Näherung, die in scikit-learn standardmäßig verwendet wird, reduziert den Aufwand für 2D- und 3D-Karten auf O(N log N). FFT-beschleunigte Implementierungen wie openTSNE verarbeiten Millionen von Punkten.

Perplexität und Interpretation eines t-SNE-Diagramms#

Die Perplexität ist die wichtigste Einstellung. Typische Werte liegen zwischen 5 und 50, der Standardwert in scikit-learn ist 30, und der Wert muss kleiner als die Anzahl der Punkte sein. Eine niedrige Perplexität konzentriert sich auf sehr lokale Strukturen und kann eine Gruppe in Fragmente aufspalten. Eine hohe Perplexität lässt benachbarte Gruppen ineinander übergehen und zeigt mehr von der globalen Anordnung. Da die Optimierung nicht konvex ist, können verschiedene Zufallsstartwerte zu unterschiedlichen Karten führen.

Drei Eigenschaften machen es leicht, t-SNE-Diagramme falsch zu interpretieren. Die Clustergrößen auf der Karte sagen wenig über die Streuung der ursprünglichen Cluster aus, denn t-SNE weitet dichte Gruppen aus und zieht dünn besetzte zusammen. Auch die Abstände zwischen Clustern sind nicht zuverlässig, und bei niedriger Perplexität kann sogar zufälliges Rauschen wie Cluster aussehen. Die TSNE von scikit-learn bietet außerdem keine Methode transform. Daher lassen sich neue Punkte nicht auf einer berechneten Karte platzieren, ohne sie neu zu berechnen. t-SNE-Koordinaten werden nur selten als Eingabemerkmale für andere Modelle verwendet.

t-SNE im Vergleich zu PCA und UMAP#

Die Hauptkomponentenanalyse (PCA) ist linear und deterministisch, erhält die Richtungen mit der größten globalen Varianz und projiziert neue Punkte sofort. t-SNE ist nichtlinear und stochastisch und erhält lokale Nachbarschaften. Die beiden Verfahren werden häufig kombiniert: Werden sehr hochdimensionale Daten vor der Ausführung von t-SNE mit PCA auf etwa 50 Dimensionen reduziert, wird das Rauschen unterdrückt und die Berechnung beschleunigt. Außerdem initialisiert t-SNE in scikit-learn die Karte standardmäßig anhand von PCA, wodurch mehr von der globalen Anordnung erhalten bleibt. UMAP, 2018 vorgestellt, erstellt ebenfalls einen Nachbarschaftsgraphen, läuft bei großen Datensätzen meist schneller, bewahrt häufig mehr globale Struktur und kann neue Punkte in eine bestehende Karte einbetten.

Dieses Beispiel projiziert die im Lieferumfang von scikit-learn enthaltenen handgeschriebenen Ziffern mit 64 Pixeln mithilfe beider Verfahren in einen 2D-Raum und misst die Vertrauenswürdigkeit: Sie gibt an, in welchem Umfang die nächsten Nachbarn eines Punkts auf der Karte auch in 64 Dimensionen seine Nachbarn waren:

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}")

Das Skript gibt für PCA 0.830 und für t-SNE 0.993 aus. Werden 64 Dimensionen auf zwei lineare Richtungen reduziert, landen viele Punkte neben Ziffern, die in 64 Dimensionen weit von ihnen entfernt waren. Die t-SNE-Karte erhält hingegen fast alle ursprünglichen Beziehungen zu den jeweils 10 nächsten Nachbarn.

Anwendungen in der Praxis#

  • Erlernte Merkmale untersuchen: Werden die Ausgaben der Merkmalsextraktion eines Netzwerks projiziert, lässt sich erkennen, ob sich visuell ähnliche Klassen zu getrennten Gruppen zusammenfinden. YOLO26-Modelle geben über model.embed() einen Merkmalsvektor pro Bild zurück, standardmäßig aus der vorletzten Ebene. Eine t-SNE-Karte dieser Vektoren zeigt, wie ein speziell trainiertes Modell seine Klassen trennt.
  • Datensatzpflege: Bilder, die auf der Insel einer anderen Klasse landen, sind häufig falsch beschriftet. Enge Gruppen fast identischer Punkte weisen auf Duplikate hin. Das Clustering-Panel der Ultralytics Platform projiziert die Bildeinbettungen eines Datensatzes in eine ähnliche 2D-Punktwolke, um diese Fälle zu prüfen.
  • Wort- und Dokumenteinbettungen: Karten von Wortvektoren gruppieren verwandte Wörter, etwa Ländernamen oder Zahlen, in benachbarten Bereichen.
  • Genomik einzelner Zellen: Forschende reduzieren die Expression Tausender Gene pro Zelle auf 2D, um Zelltypen zu bestimmen. t-SNE war für diese Analyse lange das Standardverfahren, bevor viele Gruppen zu UMAP wechselten.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens