Sollte die Reduzierung der Dimensionalität für die Visualisierung als „geschlossenes“ Problem angesehen werden, das von t-SNE gelöst wurde?


23

Ich habe viel über den sne- Algorithmus zur Dimensionsreduktion gelesen . Ich bin sehr beeindruckt von der Leistung bei "klassischen" Datensätzen wie MNIST, bei denen eine klare Trennung der Ziffern erzielt wird ( siehe Originalartikel ):t

t-SNE MNIST

Ich habe es auch verwendet, um die Funktionen eines neuronalen Netzwerks zu visualisieren, das ich gerade trainiere, und ich war sehr zufrieden mit den Ergebnissen.

So wie ich es verstehe:

t sne hat bei den meisten Datensätzen gute Ergebnisse und eine ziemlich effiziente Implementierung - mit der Barnes-Hut-Näherungsmethode. Könnten wir dann möglicherweise sagen, dass das Problem der "Dimensionsreduzierung", zumindest zum Zwecke der Erstellung guter 2D / 3D-Visualisierungen, jetzt ein "geschlossenes" Problem ist?O(nLogn)

Mir ist bewusst, dass dies eine ziemlich kühne Aussage ist. Ich bin daran interessiert zu verstehen, was die potenziellen "Tücken" dieser Methode sind. Gibt es Fälle, in denen wir wissen, dass dies nicht sinnvoll ist? Überdies, was sind die "offenen" Probleme in diesem Bereich?

Antworten:


16

Definitiv nicht.

Ich stimme zu, dass t-SNE ein erstaunlicher Algorithmus ist, der sehr gut funktioniert und zu dieser Zeit ein echter Durchbruch war. Jedoch:

  • es hat schwerwiegende Mängel;
  • Einige der Mängel müssen behoben werden können.
  • Es gibt bereits Algorithmen, die in einigen Fällen eine deutlich bessere Leistung erbringen.
  • Viele Eigenschaften von t-SNE sind noch wenig bekannt.

Jemand hat mit diesem sehr populären Bericht über einige Mängel von t-SNE verlinkt: https://distill.pub/2016/misread-tsne/ (+1), aber es werden nur sehr einfache Spielzeugdatensätze besprochen, und ich finde, dass sie nicht übereinstimmen Sehr gut zu den Problemen, mit denen man in der Praxis konfrontiert ist, wenn man mit t-SNE und verwandten Algorithmen an realen Daten arbeitet. Beispielsweise:

  1. t-SNE behält häufig die globale Struktur des Datensatzes nicht bei.
  2. N
  3. N

Ich werde alle drei unten kurz diskutieren.


  1. t-SNE behält häufig die globale Struktur des Datensatzes nicht bei.

    Betrachten Sie diesen Einzelzell-RNA-seq-Datensatz des Allen-Instituts (Maus-Kortikaliszellen): http://celltypes.brain-map.org/rnaseq/mouse . Es hat ~ 23k Zellen. Wir wissen von vornherein, dass dieses Dataset viele bedeutsame hierarchische Strukturen aufweist, und dies wird durch hierarchische Cluster bestätigt. Es gibt Neuronen und nicht-neuronale Zellen (Glia, Astrozyten usw.). Unter den Neuronen gibt es exzitatorische und inhibitorische Neuronen - zwei sehr unterschiedliche Gruppen. Unter zB inhibitorischen Neuronen gibt es mehrere Hauptgruppen: Pvalb-exprimierende, SSt-exprimierende, VIP-exprimierende. In jeder dieser Gruppen scheint es mehrere weitere Cluster zu geben. Dies spiegelt sich in der hierarchischen Clusterstruktur wider. Aber hier ist t-SNE, entnommen aus dem obigen Link:

    Bildbeschreibung hier eingeben

    Nicht-neuronale Zellen sind grau / braun / schwarz. Erregende Neuronen sind blau / blaugrün / grün. Hemmneuronen sind orange / rot / lila. Man möchte, dass diese Hauptgruppen zusammenhalten, aber das passiert nicht: Sobald t-SNE eine Gruppe in mehrere Cluster aufteilt, können sie beliebig positioniert werden. Die hierarchische Struktur des Datensatzes geht verloren.

    Ich denke, dies sollte ein lösbares Problem sein, aber mir sind trotz einiger jüngster Arbeiten in dieser Richtung (einschließlich meiner eigenen) keine prinzipiellen Entwicklungen bekannt.

  2. N

    t-SNE funktioniert sehr gut mit den MNIST-Daten. Beachten Sie jedoch Folgendes (aus diesem Artikel entnommen ):

    Bildbeschreibung hier eingeben

    Bei 1-Million-Datenpunkten werden alle Cluster zu Gruppen zusammengefasst (der genaue Grund hierfür ist nicht klar). Der einzige bekannte Weg zum Ausgleich sind einige schmutzige Hacks, wie oben gezeigt. Ich weiß aus Erfahrung, dass dies auch bei anderen ähnlich großen Datensätzen der Fall ist.

    Man kann dies wohl mit MNIST selbst sehen (N = 70k). Schau mal:

    Bildbeschreibung hier eingeben

    Rechts ist t-SNE. Links ist UMAP , eine neue aufregende Methode in der aktiven Entwicklung, die einer älteren LargeVis sehr ähnlich ist . UMAP / LargeVis ziehen Cluster viel weiter auseinander. Der genaue Grund dafür ist meiner Meinung nach unklar; Ich würde sagen, es gibt hier noch viel zu verstehen und möglicherweise noch viel zu verbessern.

  3. Die Barnes-Hut-Laufzeit ist für große zu langsamN

    NN

    Bildbeschreibung hier eingeben

    Das ist vielleicht kein offenes Problem mehr, aber es war bis vor kurzem so, und ich denke, es gibt Raum für weitere Verbesserungen in der Laufzeit. Die Arbeit kann also durchaus in diese Richtung fortgesetzt werden.


7

Hier ist eine hervorragende Analyse, wie sich das Variieren der Parameter beim Ausführen von t-SNE auf einige sehr einfache Datensätze auswirkt: http://distill.pub/2016/misread-tsne/ . Im Allgemeinen scheint t-SNE gut darin zu sein, hochdimensionale Strukturen (einschließlich Beziehungen, die komplexer als Cluster sind) zu erkennen, obwohl dies einer Parametereinstellung unterliegt, insbesondere von Perplexitätswerten.


7

Ich würde immer noch gerne andere Kommentare hören, aber ich werde meine eigene Antwort veröffentlichen, so wie ich es sehe. Während ich nach einer "praktischeren" Antwort suchte, gibt es zwei theoretische "Nachteile" für t-sne, die erwähnenswert sind; Der erste ist weniger problematisch, und der zweite sollte auf jeden Fall in Betracht gezogen werden:

  1. Die t-sne-Kostenfunktion ist nicht konvex, sodass wir nicht garantiert ein globales Optimum erreichen : Andere Dimensionalitätsreduktionstechniken (Isomap, LLE) haben eine konvexe Kostenfunktion. In t-sne ist dies nicht der Fall, daher gibt es einige Optimierungsparameter, die effektiv abgestimmt werden müssen, um eine "gute" Lösung zu erreichen. Obwohl dies eine potenzielle theoretische Falle ist, sollte erwähnt werden, dass dies in der Praxis kaum ein Nachteil ist, da anscheinend sogar das "lokale Minimum" des t-sne-Algorithmus das globale Minimum der anderen Methoden übertrifft (bessere Visualisierungen erzeugt) .

  2. Fluch der intrinstischen Dimensionalität : Ein wichtiger Aspekt bei der Verwendung von t-sne ist, dass es sich im Wesentlichen um ein vielfältiges Lernen handeltAlgorithmus. Dies bedeutet im Wesentlichen, dass t-sne (und andere solche Methoden) für Situationen entwickelt wurden, in denen die ursprüngliche hohe Dimension nur künstlich hoch ist: Die Daten haben eine intrinsische niedrigere Dimension. Das heißt, die Daten "sitzen" auf einem niedrigdimensionalen Verteiler. Ein schönes Beispiel sind aufeinanderfolgende Fotos derselben Person: Während ich jedes Bild in der Anzahl der Pixel (hochdimensional) darstellen könnte, ist die intrinstische Dimension der Daten tatsächlich durch die physikalische Transformation der Punkte (in in diesem Fall die 3D-Drehung des Kopfes). In solchen Fällen funktioniert t-sne gut. In Fällen jedoch, in denen die intrinsische Dimensionalität hoch ist oder die Datenpunkte auf einer stark variierenden Mannigfaltigkeit liegen, wird eine schlechte Leistung von t-sne erwartet, da die grundlegendste Annahme - die lokale Linearität auf der Mannigfaltigkeit - verletzt wird.

Für den praktischen Benutzer sind meines Erachtens zwei nützliche Vorschläge zu beachten:

  1. Vor der Durchführung für Visualisierungsmethoden Dimensionsreduktion, immer versuchen, zunächst herauszufinden , ob es tatsächlich existiert eine niedrigere intrinsische Dimension zu den Daten , die Sie zu tun hat.

  2. Wenn Sie sich bei 1 (und auch allgemein) nicht sicher sind, kann es nützlich sein, wie der ursprüngliche Artikel vorschlägt, "t-sne für eine Datendarstellung durchzuführen, die aus einem Modell erhalten wurde, das die stark variierende Datenvielfalt effizient in einer Zahl darstellt von nichtlinearen Schichten, wie einem Auto-Encoder ". Die Kombination von Auto-Encoder + T-SNE kann in solchen Fällen eine gute Lösung sein.


Hi @ galoosh33! Ich frage mich, ob Sie schon Gelegenheit hatten, meine Antwort zu lesen. War es hilfreich Ich habe keine Ahnung, ob Sie nach 1,5 Jahren noch an dieser Frage interessiert sind, daher würde ich mich über ein Feedback freuen. In Ihrer eigenen akzeptierten Antwort sagen Sie, dass Sie immer noch gerne weitere Gedanken hören würden, aber dies waren auch einige Zeit :)
Amöbe sagt Reinstate Monica

1
danke für deine tolle antwort @amoeba! Ich werde es dieses Wochenende überprüfen.
Galoosh33,
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.