t-SNE: Warum sind gleiche Datenwerte visuell nicht nahe beieinander?


9

Ich habe 200 Datenpunkte, die für alle Funktionen die gleichen Werte haben.

Nach der Reduzierung der t-SNE-Dimension sehen sie nicht mehr so ​​gleich aus: Geben Sie hier die Bildbeschreibung ein

Warum befinden sie sich nicht an derselben Stelle in der Visualisierung und scheinen sogar in zwei verschiedenen Clustern verteilt zu sein?



Kann dies an der von Ihnen verwendeten Präzision (Double / Float) liegen?
El Burro

Die meisten Werte sind Ganzzahlen. Und es ist sehr spärlich, ungefähr 500 Features mit meist Nullen. Ich weiß nicht, ob es durch Präzision verursacht werden kann. Der Abstand zwischen diesen Clustern und zwischen diesen Datenpunkten ist jedoch relativ groß.
ScientiaEtVeritas

Welche Cluster? Ich dachte, alle sind gleich - oder meinst du die Handlung?
El Burro

Ja, ich meine die Cluster auf dem Grundstück.
ScientiaEtVeritas

Antworten:


3

Sie haben Recht, dass dieselben Werte in T-SNE auf verschiedene Punkte verteilt werden können. Der Grund dafür ist klar, wenn Sie sich den Algorithmus ansehen, über den T-SNE ausgeführt wird.

Um Ihre erste Besorgnis darüber auszuräumen, dass die Punkte tatsächlich nicht gleich sind, nachdem der Algorithmus auf den Datensatz angewendet wurde. Ich werde Ihnen eine Übung überlassen, um sie selbst zu überprüfen, ein einfaches Array und x 2 = [ 0 , 1 ] zu betrachten und einen tatsächlichen Algorithmus dagegen auszuführen und selbst zu sehen, dass die resultierenden Punkte dies nicht sind Sie können Ihre Antwort darauf verweisen.x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

Sie würden auch feststellen, dass durch Ändern der random_statetatsächlich die Ausgabekoordinaten des Modells geändert werden. Es gibt keine wirkliche Korrelation zwischen den tatsächlichen Koordinaten und ihrer Ausgabe. Seit dem ersten Schritt berechnet TSNE die bedingte Wahrscheinlichkeit.

xixjpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)pij=pi|j+pj|i2Npijxixj

R2

Die Wahrheit ist also, anstatt die beiden Cluster zu betrachten, die Abstände zwischen ihnen zu betrachten, da dies mehr Informationen vermittelt als die Koordinaten selbst.

Hoffe das hat deine Frage beantwortet :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.