¿Cuáles son las diferencias entre autoencoders y t-SNE?


Respuestas:


8

Ambos intentan encontrar una incrustación de menor dimensión de sus datos. Sin embargo, hay diferentes problemas de minimización. Más específicamente, un autoencoder intenta minimizar el error de reconstrucción, mientras que t-SNE intenta encontrar un espacio dimensional más bajo y, al mismo tiempo, intenta preservar las distancias del vecindario. Como resultado de este atributo, t-SNE generalmente se prefiere para trazados y visualizaciones.


Entonces, en este sentido, ¿significa que el autoencoder es mejor encontrar una dimensión inferior cuando la dimensión inferior es más que 3D? (Porque supongo que si la dimensión inferior es grande, ¿t-SNE puede no funcionar tan bien?)
RockTheStar

2
Hay muchos tipos de codificadores automáticos (dispersos, variados, apilados, convolucionales, etc.) según su tarea. Pueden ser muy eficientes para descubrir incrustaciones de dimensiones inferiores, basadas en errores de reconstrucción. Por lo tanto, si su tarea es encontrar un espacio óptimo de dimensiones inferiores (incluso 2D), le sugiero que elija el codificador automático adecuado para su tarea. Si tiene que hacer visualizaciones, entonces t-SNE probablemente sería su elección. como la preservación de distancias vecinas, puede resultar en mejores visualizaciones.
Yannis Assael

2

[Autoencoders] se enfocan principalmente en maximizar la varianza de los datos en el espacio latente, como resultado de lo cual los autoencoders tienen menos éxito en retener la estructura local de los datos en el espacio latente que los múltiples estudiantes ...

De "Aprender una incrustación paramétrica preservando la estructura local", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )


Este no es "el documento t-SNE". El estándar t-SNE no es paramétrico.
ameba

1
Gracias @amoeba por tu comentario sobre esto. Edité la publicación.
Usuario128525

1

Autoencoder y t-SNE se pueden usar juntos para una mejor visualización en datos de alta dimensión, como se describe en [1]:

Para la visualización 2D específicamente, t-SNE es probablemente el mejor algoritmo, pero generalmente requiere datos de dimensiones relativamente bajas. Entonces, una buena estrategia para visualizar relaciones de similitud en datos de alta dimensión es comenzar usando un autoencoder para comprimir sus datos en un espacio de baja dimensión (por ejemplo, 32 dimensiones), luego usar t-SNE para mapear los datos comprimidos en un plano 2D .


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


0

Autoencoder está diseñado para preservar datos anteriores en un sentido de 2 normas, lo que puede considerarse como preservar la energía cinética de los datos, si los datos son velocidad.

Mientras que t-SNE, use la divergencia KL que no es simétrica, conducirá a que t-SNE se centre más en la estructura local, mientras que el autoencoder tiende a mantener pequeño el error general de L2, lo que es en un sentido global.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.