Der t-SNE-Algorithmus besteht darin, eine Wahrscheinlichkeitsverteilung zu erstellen, die die Ähnlichkeiten zwischen Nachbarn in einem hochdimensionalen Raum und in einem kleineren Raum darstellt. Mit Ähnlichkeit wollen wir versuchen, Entfernungen in Wahrscheinlichkeiten umzuwandeln. Sie besteht aus drei Schritten:
Schritt 1: Wir berechnen die Ähnlichkeiten der Punkte im großdimensionalen Ausgangsraum. Für jeden Punkt xi zentrieren wir eine Gaußsche Verteilung um diesen Punkt herum. Dann messen wir für jeden Punkt xj (i verschieden von j) die Dichte unter dieser zuvor definierten Gaußverteilung. Schließlich normalisieren wir für jeden Punkt.
Die Standardabweichung wird anhand eines Wertes definiert, der Perplexität genannt wird und der Anzahl der Nachbarn um jeden Punkt entspricht. Dieser Wert wird vom User vorab festgelegt und dient dazu, die Standardabweichung der Gaußschen Verteilungen zu schätzen, die für jeden Punkt xi definiert sind. Je größer die Perplexität, desto größer ist die Varianz.
Schritt 2: Wir müssen einen kleineren Raum erstellen, in dem wir unsere Daten darstellen. Natürlich kennen wir zu Beginn nicht die idealen Koordinaten auf diesem Raum. Daher werden wir die Punkte zufällig auf diesem neuen Raum verteilen. Der Rest ist ziemlich ähnlich wie in Schritt 1. Wir berechnen die Ähnlichkeiten der Punkte in dem neu erstellten Raum, allerdings unter Verwendung einer t-Student-Verteilung und nicht einer Gaußschen Verteilung.