Gibt es Fälle, in denen PCA geeigneter ist als t-SNE?

39

Ich möchte sehen, wie sich 7 Messgrößen des Textkorrekturverhaltens (Zeitaufwand für die Korrektur des Texts, Anzahl der Tastenanschläge usw.) aufeinander beziehen. Die Maßnahmen sind korreliert. Ich führte eine PCA durch, um zu sehen, wie die Kennzahlen auf PC1 und PC2 projiziert wurden, wodurch vermieden wurde, dass separate Zwei-Wege-Korrelationstests zwischen den Kennzahlen durchgeführt wurden.

Ich wurde gefragt, warum ich t-SNE nicht verwende, da die Beziehung zwischen einigen der Kennzahlen möglicherweise nicht linear ist.

Ich kann sehen, wie die Berücksichtigung von Nichtlinearität dies verbessern würde, aber ich frage mich, ob es einen guten Grund gibt, in diesem Fall PCA und nicht t-SNE zu verwenden. Ich bin nicht daran interessiert, die Texte nach ihrem Verhältnis zu den Maßnahmen zu gruppieren, sondern nach dem Verhältnis zwischen den Maßnahmen.

(Ich denke, EFA könnte auch einen besseren / anderen Ansatz haben, aber das ist eine andere Diskussion.) Im Vergleich zu anderen Methoden gibt es hier nur wenige Beiträge zu t-SNE, daher scheint die Frage eine Frage wert zu sein.

user3744206
quelle
3
t-SNE lässt sich nicht gut mit der Größe des Datensatzes skalieren, während PCA dies tut. Dies ist auf die Erfahrung zurückzuführen, die mit der Implementierung von Scikit-Learn in großen Datenmengen gemacht wurde.
Mai
@Mai trifft dies vermutlich vor allem auf große Datensätze zu? Mein Datensatz ist eher klein (ein paar hundert Datenpunkte).
user3744206

Antworten:

64

t -SNE ist ein großartiges Stück maschinelles Lernen, aber man kann viele Gründe finden, PCA stattdessen zu verwenden. Von der Spitze meines Kopfes werde ich fünf erwähnen. Wie die meisten anderen Berechnungsmethoden verwendet wird , ist -SNE kein Allheilmittel , und es gibt einige Gründe dafür , dass es sich um eine suboptimale Wahl in einigen Fällen machen. Lassen Sie mich kurz einige Punkte erwähnen:t

  1. Stochastizität der Endlösung . PCA ist deterministisch; NE ist nicht. Man bekommt eine schöne Visualisierung und dann bekommt ihre Kollegin eine andere Visualisierung und dann werden sie künstlerisch, was besser aussieht und wenn ein Unterschied von in der Divergenz bedeutsam ist ... In PCA die richtige Antwort auf die Fragestellung ist garantiert. -SNE kann mehrere Minima haben, die zu unterschiedlichen Lösungen führen können. Dies erfordert mehrere Läufe und wirft Fragen zur Reproduzierbarkeit der Ergebnisse auf.t0.03%KL(P||Q)t

  2. Interpretierbarkeit des Mappings . Dies bezieht sich auf den obigen Punkt, aber nehmen wir an, dass sich ein Team auf einen bestimmten zufälligen Startwert / Lauf geeinigt hat. Nun stellt sich die Frage, was dies zeigt ... -SNE versucht, nur lokale / Nachbarn korrekt abzubilden, daher sollten unsere Erkenntnisse aus dieser Einbettung sehr vorsichtig sein. Globale Trends werden nicht genau dargestellt (und das kann möglicherweise eine großartige Sache für die Visualisierung sein). Andererseits ist PCA nur eine diagonale Drehung unserer anfänglichen Kovarianzmatrix und die Eigenvektoren repräsentieren ein neues axiales System in dem Raum, der von unseren ursprünglichen Daten überspannt wird. Wir können direkt erklären, was eine bestimmte PCA tut.t

  3. Anwendung auf neue / unsichtbare Daten . -SNE ist nicht eine Funktion aus dem ursprünglichen Raum auf den neuen (niedrigeren) dimensionales Lernen und das ist ein Problem. In dieser Hinsicht ist -SNE ein nicht parametrischer Lernalgorithmus, so dass die Annäherung an einen parametrischen Algorithmus ein schlecht gestelltes Problem darstellt. Das Einbetten wird erlernt, indem die Daten direkt über den niedrigdimensionalen Raum bewegt werden. Das heißt, man bekommt keinen Eigenvektor oder ein ähnliches Konstrukt zur Verwendung in neuen Daten. Im Gegensatz dazu bieten die Eigenvektoren mit PCA ein neues Achsensystem, mit dem neue Daten direkt projiziert werden können. [Anscheinend könnte man versuchen, ein tiefes Netzwerk zu trainieren, um das zu lernenttt-SNE-Zuordnung (Sie können Dr. van der Maaten ~ 46 'in diesem Video hören , der etwas in dieser Richtung vorschlägt), aber es gibt eindeutig keine einfache Lösung.]

  4. Unvollständige Daten . Nativ behandelt -SNE keine unvollständigen Daten. Der Fairness halber geht PCA auch nicht auf sie ein, sondern es gibt zahlreiche PCA-Erweiterungen für unvollständige Daten (z. B. probabilistische PCA ), die fast Standardmodellierungsroutinen sind. SNE kann derzeit nicht mit unvollständigen Daten umgehen (abgesehen davon, dass offensichtlich zuerst eine probabilistische PCA trainiert und die PC-Scores als Eingaben an SNE übergeben werden).ttt

  5. Das ist kein (zu) kleiner Fall. k SNE löst ein Problem, das als Überfüllungsproblem bekannt ist, und zwar dahingehend, dass etwas ähnliche Punkte in höheren Dimensionen in niedrigeren Dimensionen übereinander kollabieren (mehr hier ). Wenn Sie nun die verwendeten Abmessungen erhöhen, wird das Problem der Überfüllung weniger schwerwiegend, d. H. Das Problem, das Sie mit -SNE lösen möchten, wird abgeschwächt. Sie können dieses Problem umgehen, es ist jedoch nicht trivial. Wenn Sie also einen dimensionalen Vektor als reduzierte Menge benötigen und nicht ganz klein ist, ist die Optimalität der Produktlösung fraglich. PCA hingegen bieten immer diettkkkbeste lineare Kombination in Bezug auf die Varianz erklärt. (Vielen Dank an @amoeba für das Bemerken, dass ich beim ersten Versuch, diesen Punkt zu skizzieren, ein Durcheinander gemacht habe.)

Ich erwähne weder Probleme mit den Rechenanforderungen (z. B. Geschwindigkeit oder Speichergröße) noch Probleme mit der Auswahl relevanter Hyperparameter (z. B. Ratlosigkeit). Ich denke, dies sind interne Probleme der SNE-Methodik und sind irrelevant, wenn man sie mit einem anderen Algorithmus vergleicht.t

Zusammenfassend ist -SNE großartig, aber da alle Algorithmen ihre Grenzen in Bezug auf ihre Anwendbarkeit haben. Ich benutze -SNE fast für jeden neuen Datensatz, den ich als erklärendes Datenanalysetool in die Hand nehme. Ich denke, obwohl es gewisse Einschränkungen hat, die es nicht annähernd so anwendbar machen wie PCA. Lassen Sie mich betonen, dass PCA auch nicht perfekt ist. Beispielsweise sind die PCA-basierten Visualisierungen denen von SNE oft unterlegen .ttt

usεr11852 sagt Reinstate Monic
quelle
@amoeba: Ich habe den Punkt entfernt, weil er zu mühsam wurde. Ich war größtenteils von der Idee motiviert, dass SNE Probleme mit dem weniger schwerwiegenden Verdichtungsproblem bei der Verwendung höherer Dimensionen (anstelle von ) hatte und daher verworrene Einsichten bot, aber ich verwechselte den Punkt, an dem ich war versuchen zu machen. Da eine Rekonstruktion nach LLE (Roweis & Saul, 2000) möglich ist, warum wäre dies nicht mit t-SNE möglich? tk=2,3,4
usεr11852 sagt Reinstate Monic
@amoeba: Danke, dass du es erwähnt hast. Ich habe meine Antwort entsprechend aktualisiert.
usεr11852 sagt Reinstate Monic
3
Zu Punkt 3: Hier ist das Papier von 2009 zu parametric t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf . Es scheint nicht wirklich erfolgreich zu sein (es enthält 25-mal weniger Zitate als das ursprüngliche t-sne-Papier), aber in der Tat ist es mit den heutigen Technologien / Bibliotheken recht einfach zu implementieren. Ich habe es in Keras am Laufen; Ich habe in den letzten Wochen daran gearbeitet, dies zu untersuchen (und möglicherweise zu erweitern).
Amöbe sagt Reinstate Monica
Cool! (+1) Wenn Sie eine Vorabversion von arXiv erhalten, lassen Sie es mich bitte wissen (hier oder 10-fach), ich bin sehr gespannt auf die Ergebnisse. Ja, ich habe dieses Papier zum Zeitpunkt des Schreibens dieser Antwort gesehen (es ist eigentlich ein bekanntes Papier, würde ich sagen), aber wie Sie sagten, schien es nicht in Anspruch genommen worden zu sein. Auch Punkt 3 ist weiterhin gültig: Sie müssen eine DNN erstellen, um die PCA-Angebote über ein einzelnes Matrix-Kreuzprodukt zu erhalten.
usεr11852 sagt Reinstate Monic
12

https://stats.stackexchange.com/a/249520/7828

ist eine ausgezeichnete allgemeine Antwort.

Ich möchte mich etwas mehr auf Ihr Problem konzentrieren. Sie möchten anscheinend sehen, wie sich Ihre Stichproben in Bezug auf Ihre 7 Eingabevariablen verhalten. Das tut t-SNE nicht. Die Idee von SNE und t-SNE ist, Nachbarn nahe beieinander zu platzieren und die globale Struktur (fast) vollständig zu ignorieren.

Dies ist hervorragend für die Visualisierung geeignet, da ähnliche Elemente nebeneinander (und nicht übereinander, wie z. B. überfüllt) gezeichnet werden können.

Dies ist nicht gut für eine weitere Analyse. Die globale Struktur geht verloren, einige Objekte wurden möglicherweise daran gehindert, sich zu ihren Nachbarn zu bewegen, und die Trennung zwischen verschiedenen Gruppen wird quantitativ nicht beibehalten. Dies ist vor allem der Grund, warum z. B. Clustering auf der Projektion normalerweise nicht sehr gut funktioniert.

PCA ist genau das Gegenteil. Es wird versucht, die globalen Eigenschaften (Eigenvektoren mit hoher Varianz) beizubehalten, während Abweichungen mit geringer Varianz zwischen Nachbarn verloren gehen können.

Anony-Mousse
quelle
Ah das ist genau das, was ich angenommen habe. Es interessiert mich nicht, wie sich die Datenpunkte im Raum befinden, sondern wie sich die Maße untereinander verhalten. Diese beiden Dinge hängen natürlich zusammen, aber im Hinblick auf die Visualisierung und Interpretation dieser Beziehungen vermute ich, dass nur PCA das tut, was ich will. Zum Beispiel gibt es sowohl positive als auch negative Beziehungen zwischen den Maßnahmen, und was mich wirklich interessiert, ist der absolute Wert der Assoziationen, was ich wiederum für einfacher zu interpretieren / zu sehen halte, wenn ich PCA verwende.
user3744206
1
Für diesen Anwendungsfall ist es möglicherweise besser, die Korrelationsmatrix selbst zu betrachten, dh nur paarweise zu vergleichen. Dann können Sie auch mit Nichtlinearität umgehen, z. B. mithilfe der Spearman-Korrelation.
Anony-Mousse
Können wir T-SNE für Clusterprobleme verwenden? Soweit ich weiß, können wir einen neuen kommenden Punkt projizieren und versuchen, die unteren Dimensionen zu gruppieren. Ist es möglich ?
Catbuilts
Nein. Da tSNE nicht linear ist, können Sie es nicht einfach für neue Daten berechnen (siehe oben). Und es gab eine lange Diskussion darüber, dass es auch irreführend sein kann, die projizierten Daten zu gruppieren.
Anony-Mousse
1

Um einen angewandten Winkel anzugeben, schließen sich PCA und t-SNE nicht gegenseitig aus. In einigen Bereichen der Biologie haben wir es mit hochdimensionalen Daten zu tun (z. B. scRNA-seq besteht aus Tausenden von Dimensionen), bei denen t-SNE einfach nicht skaliert. Daher verwenden wir PCA zuerst, um die Dimensionalität der Daten zu reduzieren, und berechnen dann unter Berücksichtigung der Hauptkomponenten den Nachbarschaftsgraphen und betten den Graphen dann unter Verwendung von t-SNE (oder einem ähnlichen nichtlinearen Ansatz zur Dimensionalitätsreduzierung) in zwei Dimensionen ein wie UMAP) zur Visualisierung der Daten.

Chris_Rands
quelle