Apa perbedaan antara autoencoder dan t-SNE?


Jawaban:


8

Keduanya mencoba menemukan penyematan dimensi data Anda yang lebih rendah. Namun, ada berbagai masalah minimisasi. Lebih khusus lagi, autoencoder mencoba untuk meminimalkan kesalahan rekonstruksi, sementara t-SNE mencoba untuk menemukan ruang dimensi yang lebih rendah dan pada saat yang sama mencoba untuk melestarikan jarak lingkungan. Sebagai hasil dari atribut ini, t-SNE biasanya lebih disukai untuk plot dan visualisasi.


Jadi dalam pengertian ini, apakah ini berarti autoencoder lebih baik untuk menemukan dimensi yang lebih rendah ketika dimensi yang lebih rendah lebih dari 3D? (Karena saya berasumsi jika dimensi bawahnya besar, t-SNE mungkin tidak berfungsi dengan baik?)
RockTheStar

2
Ada banyak jenis autoencoder (jarang, bervariasi, bertumpuk, berbelit-belit, dll.) Tergantung pada tugas Anda. Mereka bisa sangat efisien dalam menemukan embeddings dimensi yang lebih rendah, berdasarkan kesalahan rekonstruksi. Karena itu, jika tugas Anda adalah menemukan ruang dimensi rendah yang optimal (bahkan 2D), saya sarankan Anda untuk memilih autoencoder yang tepat untuk tugas Anda. Jika Anda harus melakukan visualisasi maka t-SNE mungkin akan menjadi pilihan Anda. sebagai pelestarian jarak tetangga, dapat menghasilkan visualisasi yang lebih baik.
Yannis Assael

2

[Autoencoder] terutama fokus pada memaksimalkan varians data di ruang laten, sebagai akibatnya autencoder kurang berhasil dalam mempertahankan struktur lokal data di ruang laten daripada banyak siswa ...

Dari "Mempelajari Penanaman Parametrik dengan Melestarikan Struktur Lokal", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )


Ini bukan "kertas t-SNE". Standar t-SNE adalah non-parametrik.
amoeba

1
Terima kasih @amoeba untuk komentar Anda tentang ini. Saya mengedit posting.
Pengguna128525

1

Autoencoder dan t-SNE dapat digunakan bersama untuk visualisasi yang lebih baik dalam data dimensi tinggi, seperti yang dijelaskan dalam [1]:

Khusus untuk visualisasi 2D, t-SNE mungkin adalah algoritma terbaik, tetapi biasanya membutuhkan data dimensi yang relatif rendah. Jadi strategi yang baik untuk memvisualisasikan hubungan kesamaan dalam data dimensi tinggi adalah mulai dengan menggunakan autoencoder untuk memampatkan data Anda ke ruang dimensi rendah (misalnya 32 dimensi), kemudian gunakan t-SNE untuk memetakan data yang dikompresi ke bidang 2D .


[1] https://blog.keras.io/building-autoencoders-in-keras.html


0

Autoencoder dirancang untuk menyimpan data sebelumnya dalam arti 2-norma, yang dapat dianggap sebagai melestarikan energi kinetik data, jika data kecepatan.

Sementara t-SNE, menggunakan KL divergence yang tidak simetris, itu akan menyebabkan t-SNE lebih fokus pada struktur lokal, sementara autoencoder cenderung menjaga kesalahan L2 keseluruhan kecil, yang dalam arti global.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.