Quali sono le differenze tra i codificatori automatici e il t-SNE?


Risposte:


8

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.


Quindi, in questo senso, significa che è meglio trovare il codificatore automatico quando la dimensione inferiore è superiore al 3D? (Perché suppongo che se la dimensione inferiore è grande, t-SNE potrebbe non funzionare così bene?)
RockTheStar

2
Esistono molti tipi di codificatori automatici (sparsi, variazionali, sovrapposti, convoluzionali, ecc.) A seconda dell'attività. Possono essere molto efficienti nella scoperta di decorazioni di dimensioni inferiori, basate sull'errore di ricostruzione. Pertanto, se il tuo compito è quello di trovare uno spazio dimensionale inferiore ottimale (anche 2D), ti suggerirei di scegliere il codificatore automatico giusto per il tuo compito. Se devi fare visualizzazioni, probabilmente t-SNE sarebbe la tua scelta. poiché la conservazione delle distanze limitrofe può determinare visualizzazioni migliori.
Yannis Assael,

2

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 )


Questa non è "la carta t-SNE". Il t-SNE standard non è parametrico.
amoeba,

1
Grazie @amoeba per il tuo commento su questo. Ho modificato il post.
Utente 128525

1

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


0

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.