Tanto quanto eu sei, os autoencoders e o t-SNE são usados para redução de dimensionalidade não linear. Quais são as diferenças entre eles e por que devo usar um contra o outro?
Tanto quanto eu sei, os autoencoders e o t-SNE são usados para redução de dimensionalidade não linear. Quais são as diferenças entre eles e por que devo usar um contra o outro?
Respostas:
Ambos tentam encontrar uma incorporação de menor dimensão dos seus dados. No entanto, existem diferentes problemas de minimização. Mais especificamente, um autoencoder tenta minimizar o erro de reconstrução, enquanto o t-SNE tenta encontrar um espaço dimensional mais baixo e, ao mesmo tempo, tenta preservar as distâncias da vizinhança. Como resultado desse atributo, o t-SNE é geralmente preferido para gráficos e visualizações.
[Autoencoders] se concentram principalmente em maximizar a variação dos dados no espaço latente, como resultado dos quais os autoencoders são menos bem-sucedidos em reter a estrutura local dos dados no espaço latente do que os múltiplos alunos ...
De "Aprendendo uma incorporação paramétrica preservando a estrutura local", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )
O autoencoder e o t-SNE podem ser usados juntos para melhor visualização em dados de alta dimensão, conforme descrito em [1]:
Para visualização 2D especificamente, o t-SNE é provavelmente o melhor algoritmo existente, mas normalmente requer dados de dimensões relativamente baixas. Portanto, uma boa estratégia para visualizar relações de similaridade em dados de alta dimensão é começar usando um autoencoder para compactar seus dados em um espaço de baixa dimensão (por exemplo, 32 dimensões) e, em seguida, use t-SNE para mapear os dados compactados para um plano 2D. .
[1] https://blog.keras.io/building-autoencoders-in-keras.html
O autoencoder é projetado para preservar dados anteriores em um sentido de 2 normas, que pode ser considerado como preservar a energia cinética dos dados, se os dados forem velocidade.
Enquanto t-SNE, use divergência de KL que não é simétrica, isso levará o t-SNE a se concentrar mais na estrutura local, enquanto o autoencoder tende a manter pequeno o erro L2 geral, o que é globalmente.