Quais são as diferenças entre autoencoders e t-SNE?

Respostas:

8

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.

Yannis Assael
fonte
Portanto, nesse sentido, significa que o autoencoder é melhor para encontrar dimensões inferiores quando a dimensão inferior for maior que 3D? (Porque eu assumir se a dimensão inferior é grande, t-PND pode não funcionar tão bem?)
RockTheStar
2
Existem muitos tipos de auto-codificadores (esparsos, variacionais, empilhados, convolucionais etc.), dependendo da sua tarefa. Eles podem ser muito eficientes na descoberta de incorporações de dimensões inferiores, com base em erros de reconstrução. Portanto, se sua tarefa é encontrar um espaço dimensional dimensional ideal (mesmo em 2D), sugiro que você escolha o autoencoder certo para sua tarefa. Se você tiver que fazer visualizações, o t-SNE provavelmente seria sua escolha. como a preservação das distâncias vizinhas, pode resultar em melhores visualizações.
Yannis Assael
2

[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 )

Usuário128525
fonte
Este não é "o documento t-SNE". O t-SNE padrão não é paramétrico.
Ameba
11
Obrigado @amoeba pelo seu comentário. Eu editei a postagem.
usar o seguinte comando
1

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

moh
fonte
0

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.

Inteligência Artificial
fonte