Was sind die Unterschiede zwischen Autoencodern und t-SNE?

Antworten:

8

Beide versuchen, eine Einbettung Ihrer Daten in eine geringere Dimension zu finden. Es gibt jedoch unterschiedliche Minimierungsprobleme. Insbesondere versucht ein Autoencoder, den Rekonstruktionsfehler zu minimieren, während t-SNE versucht, einen Raum mit niedrigeren Dimensionen zu finden, und gleichzeitig versucht, die Nachbarschaftsabstände beizubehalten. Aufgrund dieses Attributs wird t-SNE normalerweise für Diagramme und Visualisierungen bevorzugt.

Yannis Assael
quelle
Bedeutet dies in diesem Sinne, dass Autoencoder besser ist, eine niedrigere Dimension zu finden, wenn die niedrigere Dimension mehr als 3D ist? (Weil ich annehme, wenn die untere Dimension groß ist, funktioniert t-SNE möglicherweise nicht so gut?)
RockTheStar
2
Abhängig von Ihrer Aufgabe gibt es viele Arten von Autoencodern (spärlich, variierend, gestapelt, gefaltet usw.). Sie können sehr effizient Einbettungen mit niedrigeren Dimensionen basierend auf Rekonstruktionsfehlern entdecken. Wenn Ihre Aufgabe darin besteht, einen optimalen Raum mit niedrigeren Dimensionen (auch 2D) zu finden, würde ich Ihnen empfehlen, den richtigen Autoencoder für Ihre Aufgabe auszuwählen. Wenn Sie Visualisierungen durchführen müssen, ist t-SNE wahrscheinlich Ihre Wahl. Da die benachbarten Entfernungen erhalten bleiben, kann dies zu besseren Visualisierungen führen.
Yannis Assael
2

[Autoencoder] konzentrieren sich hauptsächlich auf die Maximierung der Varianz der Daten im latenten Raum, wodurch Autoencoder die lokale Struktur der Daten im latenten Raum weniger erfolgreich beibehalten als vielfältige Lernende ...

Aus "Lernen einer parametrischen Einbettung durch Erhalt lokaler Strukturen", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )

User128525
quelle
Dies ist nicht "das t-SNE-Papier". Standard-t-SNE ist nicht parametrisch.
Amöbe
1
Vielen Dank an @amoeba für Ihren Kommentar dazu. Ich habe den Beitrag bearbeitet.
User128525
1

Autoencoder und t-SNE können zusammen verwendet werden, um hochdimensionale Daten besser zu visualisieren, wie in [1] beschrieben:

Speziell für die 2D-Visualisierung ist t-SNE wahrscheinlich der beste Algorithmus, erfordert jedoch normalerweise relativ niedrigdimensionale Daten. Eine gute Strategie zur Visualisierung von Ähnlichkeitsbeziehungen in hochdimensionalen Daten besteht darin, zunächst einen Autoencoder zu verwenden, um Ihre Daten in einen niedrigdimensionalen Raum (z. B. 32-dimensional) zu komprimieren, und dann t-SNE zum Zuordnen der komprimierten Daten zu einer 2D-Ebene zu verwenden .


[1] https://blog.keras.io/building-autoencoders-in-keras.html

moh
quelle
0

Autoencoder wurde entwickelt, um frühere Daten in einem 2-Norm-Sinne zu erhalten, was als Erhaltung der kinetischen Energie der Daten angesehen werden kann, wenn die Daten Geschwindigkeit sind.

Während t-SNE eine KL-Divergenz verwendet, die nicht symmetrisch ist, führt dies dazu, dass sich t-SNE mehr auf die lokale Struktur konzentriert, während der Autoencoder dazu neigt, den gesamten L2-Fehler klein zu halten, was im globalen Sinne ist.

Künstliche Intelligenz
quelle