Pour autant que je sache, les encodeurs automatiques et t-SNE sont utilisés pour la réduction de dimensionnalité non linéaire. Quelles sont les différences entre eux et pourquoi devrais-je utiliser l'un par rapport à l'autre?
Pour autant que je sache, les encodeurs automatiques et t-SNE sont utilisés pour la réduction de dimensionnalité non linéaire. Quelles sont les différences entre eux et pourquoi devrais-je utiliser l'un par rapport à l'autre?
Réponses:
Les deux essaient de trouver une intégration de dimensionnalité inférieure de vos données. Cependant, il existe différents problèmes de minimisation. Plus spécifiquement, un autoencodeur essaie de minimiser l'erreur de reconstruction, tandis que t-SNE essaie de trouver un espace dimensionnel inférieur et en même temps il essaie de préserver les distances de voisinage. En raison de cet attribut, le t-SNE est généralement préféré pour les tracés et les visualisations.
[Les encodeurs automatiques] se concentrent principalement sur la maximisation de la variance des données dans l'espace latent, ce qui fait que les encodeurs automatiques réussissent moins bien à conserver la structure locale des données dans l'espace latent que les apprenants multiples ...
Extrait de "Learning a Parametric Embedding by Preserving Local Structure", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )
Autoencoder et t-SNE peuvent être utilisés ensemble pour une meilleure visualisation dans les données de haute dimension, comme décrit dans [1]:
Pour la visualisation 2D en particulier, le t-SNE est probablement le meilleur algorithme, mais il nécessite généralement des données de dimension relativement faible. Donc, une bonne stratégie pour visualiser les relations de similitude dans les données de haute dimension consiste à utiliser un autoencodeur pour compresser vos données dans un espace de faible dimension (par exemple 32 dimensions), puis utiliser t-SNE pour mapper les données compressées sur un plan 2D .
[1] https://blog.keras.io/building-autoencoders-in-keras.html
Autoencoder est conçu pour conserver les données précédentes dans un sens à 2 normes, ce qui peut être considéré comme préservant l'énergie cinétique des données, si les données sont la vitesse.
Alors que t-SNE, utilise la divergence KL qui n'est pas symétrique, cela conduira à t-SNE se concentrer davantage sur la structure locale, tandis que l'autoencodeur a tendance à garder l'erreur L2 globale petite, ce qui est dans un sens global.