date-created: 2024-06-09 01:14:58 date-modified: 2024-06-09 01:16:32

t-SNE | t-Distributed Stochastic Neighbor Embedding

anchored to 116.00_anchor_machine_learning Tags: #machinelearning #computerscience #Study


Overview:

This requires 116.10_Dimensionsreduktion_von_Daten !

Wir wollen eine Alternative zur Datenvisualisierung via PCA Anwendungen der PCA betrachten, die stärkerer Clusterung und daher sinnigere Darstellungen erzeugt.

Wir schauen uns dafür die T-SNE (tiseni) ( T-distributed stochastic Neighbor Embedding) an.

Bildet eine Alternative Idee, um besser bzw. mit mehr Fraktionierung der Datenpunkte –> also Aufteilung dieser in Cluster <– resultieren zu können.

(Man sieht schon, dass sie besser aufteilen kann, als die PCA!)

Kernidee

[!Idea] Kernidee der t-SNE Einbettung

Es handelt sich bei der t-SNE primär um eine Methode der Dimensionrsreduktion rein zu Visualisierungszwecken! 116.10_Dimensionsreduktion_von_Daten

Was ist die Grundidee, die die t-SNE verfolgt und anwendet, um Datenpunkte in eine niedrigere Dimension visualisieren zu können? #card

  1. Die T-SNE versucht lokale Ähnlichkeiten zwischen diversen Punkten zu bewahren (also etwa die Distanz zueinander)
  2. Sie verwendet dafür Verteilungen um eine Ähnlichkeit auszudrücken / charakterisieren

Algorithmus

Den Beschreibende Algorithmus dieses obig skizzierten Vorgehens möchten wir folgenden definieren:

[!Definition] Algorithmus für t-SNE

Als Prämisse haben wir eine Datenmatrix der Größe , wobei die ursprüngliche Dimension ist, die Anzahl der Datenpunkte beschreibt. Wir wollen jetzt in eine niedere Dimension abbilden!

Wie gehen wir mit der Prämisse vor? Was berechnen wir für jedes Datenpaar? Was wenden wir hierfür an? Sobald wir in die niedrigere Dimension abgebildet haben, was folgt dann zwischen beiden Räumen? #card

Nachdem wir die Datenmatrix erhalten haben:

  1. Berechnen wir die paarweise Ähnlichkeit im hochdimensionalen Raum mithilfe von der Gauß-Verteilung –> welche dann in jedem Datenpunkt zentriert wird. ( also wir wollen etwa die Distanz zwischen jedem Punkt zu einem anderen berechnen und damit dann später arbeiten) Visuell: Wir packen also eine Gaußverteilung auf den Punkt und schauen uns dann die Abstände zu anderen Punkten an. (Das wird für alle Punkte berechnet!) Werte die nah beieinander liegen werden einen hohen Wert haben, die anderen niedrigere

  2. Wir bilden jetzt jeden hochdimensionalen Datenpunkt auf einen Punkt in einem niedrigdimensionalen Raum () , wodurch wir dann die reduzierten Daten in speichern

  3. Anschließend wird jetzt die paarweise Ähnlichkeit im *niedrigdim. Raum mithilfe der Student-T-Verteilung berechnet (auch wieder zentriert zu jedem Datenpunkt) (Also wir prüfen auch hier die Abstände zwischen den Punkten nochmal. Wir zielen jetzt darauf ab, dass die Zieldimension in den Abständen und den Werten ähnlich der Ursprungsdimension ist )

  4. Wir minimieren jetzt die Divergenz (Distanz) zwischen den hoch- und niedrigdim. Verteilungen pro Punkt Wir wollen also jeden Punkt in der Ziel-Dim uungefähr mit gleichen Abstand zu den anderen Punkten haben, wie es ursprünglich war

Durch diese Angleichung erhalten wir gleiche /ähnliche Verhältnisse der Datenpunkte zueinander in der Ziel-Abbildung / dem Ziel-Raum!

t-SNE am Beispiel:

Betrachten wir also ein Exemplarisches Beispiel:

Unser Ziel Visualisierung von 2D zu 1D!

[!Example] Anwendung t-SNE von 2D->1D

Betrachten wir folgende Grundlage, wie gehen wir jetzt vor, um ein entsprechendes Mapping zu ermöglichen? #card

Wir wollen also zuerst die Ähnlichkeit(Distanz) der Punkte zueinander berechnen, indem wir eine Gauß-Verteilung auf jeden Punkt setzen und dann die Werte speichern (etwa in einer Matrix): Also wir wissen, dass die Probability von (j i) gleich dem Gauß-Wert unter Betrachtung der Distanz ist

Diese Werte speichern wir in der Matrix (hier nur symbolisch!) 2. Abbilden der Punkte in . Da wir die Divergenz nachträglich nochmal anpassen möchten / werden, können wir sie einfach random platzieren. Als mögliche Platzierung

Anschließend berechnen wir die Abstände wie zuvor! (Diesmal aber mit der Student-T-Verteilung)

Wir berechnen jetzt die Ähnlichkeit zwischen der hohen / niedrigen Dimension und versuchen die Divergenz zu minimieren! Berechne also:

–> Wir wollen am Ende, dass beide Distributionen (hoch / niedrig dim) etwa gleich sind, was wir mit der obigen Berechnung (der Minimierung der Divergenz) erzielen!

Durch diese Information werden sich die Punkte nun richtig anordnen: Bestimmte Punkte ziehen sich an Bestimmte Punkte schieben sich voneinander ab

Vor | Nachteile von t-SNE

Wir können ferner manche Vor- und Nachteile zur / von der t-SNE betrachten und beschreiben:

[!Important] Vor- und Nachteile der t-SNE

Wir wissen, wie die t-SNE von einer hohen Dimension zu einer niedrigen übersetzt.

welche Vor- und Nachteile treten hierbei auf? #card

Vorteile:

  • t-SNE ist effekti darin Abbildungen zu erstellen, die Strukturen auf vielen verschiedenen Skalen zeigt –> also gut für komplexere Datensätze, wo man sehr viele Dimensionen hat
  • Es kann lokale und globale Strukturen bewahren (sie gehen also bei der Reduktion nicht verloren!)
  • Die T-SNE ist wunderbar für Datenvisualisierung! –> gerade in der Sprachverarbeitung, Computer Vision, Bioinformatik

Nachteile:

  • kann keine neuen Datenpunkte abbilden –> weil wir ja den Datensatz vollumfänglich durchlaufen und daran dann die Abbildung optimieren!
  • Durch Hyperparameter / Initialisierung können sehr unterschiedliche Ergebnisse geliefert werden ( also vielleicht nicht immer repräsentativ!)

Beispiele dafür:

aus folgendem Paper oder hier