Per quanto ne so, sia gli autocodificatori che il t-SNE sono utilizzati per la riduzione della dimensionalità non lineare. Quali sono le differenze tra loro e perché dovrei usare l'uno contro l'altro?
Per quanto ne so, sia gli autocodificatori che il t-SNE sono utilizzati per la riduzione della dimensionalità non lineare. Quali sono le differenze tra loro e perché dovrei usare l'uno contro l'altro?
Risposte:
Entrambi cercano di trovare un incorporamento di dimensionalità inferiore dei dati. Tuttavia, ci sono diversi problemi di minimizzazione. Più specificamente, un autoencoder tenta di minimizzare l'errore di ricostruzione, mentre t-SNE cerca di trovare uno spazio dimensionale inferiore e allo stesso tempo cerca di preservare le distanze del vicinato. Come risultato di questo attributo, t-SNE è generalmente preferito per grafici e visualizzazioni.
Gli [Autoencoders] si concentrano principalmente sulla massimizzazione della varianza dei dati nello spazio latente, a seguito della quale gli autoencoder hanno meno successo nel mantenere la struttura locale dei dati nello spazio latente rispetto ai molteplici studenti ...
Da "Imparare un incorporamento parametrico preservando la struttura locale", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )
Autoencoder e t-SNE possono essere usati insieme per una migliore visualizzazione in dati ad alta dimensione, come descritto in [1]:
Per la visualizzazione 2D in particolare, t-SNE è probabilmente l'algoritmo migliore in circolazione, ma in genere richiede dati di dimensioni relativamente basse. Quindi una buona strategia per visualizzare le relazioni di somiglianza nei dati ad alta dimensione è iniziare usando un autoencoder per comprimere i tuoi dati in uno spazio a bassa dimensione (es. 32 dimensionale), quindi utilizzare t-SNE per mappare i dati compressi su un piano 2D .
[1] https://blog.keras.io/building-autoencoders-in-keras.html
Autoencoder è progettato per preservare i dati precedenti in un senso a 2 norme, che può essere considerato come preservare l'energia cinetica dei dati, se i dati sono velocità.
Mentre t-SNE, usa la divergenza KL che non è simmetrica, porterà a concentrarsi maggiormente su t-SNE sulla struttura locale, mentre l'autoencoder tende a mantenere piccolo l'errore L2 complessivo, che è in senso globale.