Apakah ada kasus di mana PCA lebih cocok daripada t-SNE?


39

Saya ingin melihat bagaimana 7 ukuran perilaku koreksi teks (waktu yang dihabiskan untuk memperbaiki teks, jumlah penekanan tombol, dll.) Saling berhubungan. Ukurannya berkorelasi. Saya menjalankan PCA untuk melihat bagaimana langkah-langkah diproyeksikan ke PC1 dan PC2, yang menghindari tumpang tindih menjalankan tes korelasi dua arah terpisah antara langkah-langkah.

Saya ditanya mengapa tidak menggunakan t-SNE, karena hubungan antara beberapa tindakan mungkin tidak linier.

Saya bisa melihat bagaimana memperbolehkan non-linearitas akan meningkatkan ini, tapi saya ingin tahu apakah ada alasan yang baik untuk menggunakan PCA dalam kasus ini dan bukan t-SNE? Saya tidak tertarik mengelompokkan teks menurut hubungan mereka dengan ukuran, tetapi lebih pada hubungan antara ukuran itu sendiri.

(Saya kira EFA juga bisa menjadi pendekatan yang lebih baik / lain, tapi itu diskusi yang berbeda.) Dibandingkan dengan metode lain, ada beberapa posting di sini tentang t-SNE, jadi pertanyaannya sepertinya patut ditanyakan.


3
t-SNE tidak berskala baik dengan ukuran dataset, sedangkan PCA melakukannya. Ini berasal dari pengalaman dalam menjalankan keduanya pada dataset besar menggunakan implementasi scikit-learn.
Mai

@ Apakah mungkin ini berlaku terutama untuk dataset besar? Dataset saya ada di sisi kecil (beberapa ratus titik data).
user3744206

Jawaban:


65

t -SNE adalah bagian dari Machine Learning yang hebat, tetapi orang dapat menemukan banyak alasan untuk menggunakan PCA alih-alih. Dari atas kepala saya, saya akan menyebutkan lima. Seperti kebanyakan metodologi komputasi lainnya digunakan, -SNE ada peluru perak dan ada beberapa alasan yang membuatnya menjadi pilihan yang suboptimal dalam beberapa kasus. Izinkan saya menyebutkan beberapa poin secara singkat:t

  1. Stochasticity dari solusi akhir . PCA bersifat deterministik; -SNE tidak. Satu mendapat bagus visualisasi dan kemudian koleganya mendapat visualisasi lain dan kemudian mereka mendapatkan artistik yang terlihat lebih baik dan jika perbedaan dari di divergensi bermakna ... Dalam PCA yang benar jawaban untuk pertanyaan yang diajukan dijamin. -SNE mungkin memiliki beberapa minimum yang mungkin mengarah pada solusi yang berbeda. Ini mengharuskan beberapa kali berjalan serta menimbulkan pertanyaan tentang reproduktifitas hasil.0,03 % K L ( P | | Q ) tt0.03%KL(P||Q)t

  2. Interpretabilitas pemetaan . Ini berhubungan dengan poin di atas, tetapi mari kita asumsikan bahwa suatu tim telah menyetujui suatu seed / run acak tertentu. Sekarang pertanyaannya menjadi apa yang ditunjukkan ... -SNE mencoba memetakan hanya lokal / tetangga dengan benar sehingga wawasan kita tentang penyematan itu harus sangat hati-hati; tren global tidak terwakili secara akurat (dan itu bisa berpotensi menjadi hal yang hebat untuk visualisasi). Di sisi lain, PCA hanyalah rotasi diagonal dari matriks kovarians awal kami dan vektor eigen mewakili sistem aksial baru di ruang yang direntang oleh data asli kami. Kita dapat langsung menjelaskan apa yang dilakukan PCA tertentu.t

  3. Aplikasi untuk data baru / tidak terlihat . -SNE tidak mempelajari fungsi dari ruang asli ke dimensi baru (lebih rendah) dan itu masalah. Dalam hal ini, -SNE adalah algoritma pembelajaran non-parametrik sehingga mendekati dengan algoritma parametrik adalah masalah yang buruk. Penanaman dipelajari dengan secara langsung memindahkan data melintasi ruang dimensi rendah. Itu berarti seseorang tidak mendapatkan vektor eigen atau konstruksi serupa untuk digunakan dalam data baru. Sebaliknya, menggunakan PCA vektor eigen menawarkan sistem sumbu baru yang dapat langsung digunakan untuk memproyeksikan data baru. [Rupanya orang bisa mencoba melatih jaringan dalam untuk mempelajari huruft ttttPemetaan -SNE (Anda dapat mendengar Dr. van der Maaten di ~ 46 'dari video ini menyarankan sesuatu di sepanjang baris ini) tetapi jelas tidak ada solusi yang mudah.]

  4. Data tidak lengkap . Secara native -SNE tidak berurusan dengan data yang tidak lengkap. Dalam keadilan, PCA tidak berurusan dengan mereka tetapi banyak ekstensi PCA untuk data yang tidak lengkap (misalnya PCA probabilistik ) di luar sana dan hampir merupakan rutinitas pemodelan standar . -SNE saat ini tidak dapat menangani data yang tidak lengkap (selain melatih PCA probabilistik terlebih dahulu dan meneruskan skor PC ke -SNE sebagai input).t tttt

  5. Huruf bukan (terlalu) kecil. k -SNE memecahkan masalah yang dikenal sebagai masalah crowding, secara efektif titik-titik yang agak serupa dalam dimensi yang lebih tinggi runtuh di atas satu sama lain dalam dimensi yang lebih rendah (lebih lanjut di sini ). Sekarang ketika Anda meningkatkan dimensi yang digunakan masalah crowding yaitu kurang parah. masalah yang Anda coba selesaikan melalui penggunaan -SNE akan dilemahkan. Anda dapat mengatasi masalah ini tetapi tidak sepele. Oleh karena itu, jika Anda memerlukan vektor dimensi sebagai himpunan tereduksi dan tidak cukup kecil, maka optimalitas dari solusi produk dipertanyakan. PCA di sisi lain selalu menawarkant k k kttkkkkombinasi linear terbaik dalam hal varian dijelaskan. (Terima kasih kepada @amoeba karena memperhatikan aku membuat kekacauan ketika pertama kali mencoba menguraikan hal ini.)

Saya tidak menyebutkan masalah tentang persyaratan komputasi (mis. Kecepatan atau ukuran memori) atau masalah tentang pemilihan hiperparameter yang relevan (mis. Kebingungan). Saya pikir ini adalah masalah internal dari metodologi -SNE dan tidak relevan ketika membandingkannya dengan algoritma lain.t

Untuk meringkas, -SNE bagus tetapi karena semua algoritma memiliki keterbatasan ketika datang ke penerapannya. Saya menggunakan -SNE hampir pada setiap dataset baru yang saya dapatkan sebagai alat analisis data penjelas. Saya pikir meskipun memiliki keterbatasan tertentu yang membuatnya hampir tidak berlaku seperti PCA. Biarkan saya tekankan bahwa PCA juga tidak sempurna; misalnya, visualisasi berbasis PCA seringkali lebih rendah daripada -SNE.t tttt


@amoeba: Saya menghilangkan intinya karena terlalu melelahkan; Saya sebagian besar termotivasi oleh gagasan -SNE memiliki masalah dengan masalah crowding menjadi kurang parah ketika menggunakan dimensi yang lebih tinggi (bukannya ) dan dengan demikian menawarkan wawasan yang kacau tapi saya mencampuradukkan poin saya berusaha membuat. Juga, karena rekonstruksi dimungkinkan dari LLE (Roweis & Saul, 2000) mengapa tidak mungkin dengan t-SNE? k = 2 , 3 , 4tk=2,3,4
usεr11852 mengatakan Reinstate Monic

@amoeba: Terima kasih telah menyebutkannya. Saya memperbarui jawaban saya sesuai.
usεr11852 mengatakan Reinstate Monic

3
Mengenai poin Anda # 3: di sini adalah makalah 2009 tentang parametrik t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf . Tampaknya itu tidak benar-benar lepas landas (memiliki kutipan 25 kali lebih sedikit daripada kertas t-sne asli), tetapi sebenarnya cukup mudah untuk diterapkan dengan teknologi / perpustakaan saat ini. Saya memilikinya dan berjalan di Keras; Saya telah bekerja untuk menyelidiki (dan mungkin memperluas) dalam beberapa minggu terakhir.
Amoeba berkata Reinstate Monica

Keren! (+1) Jika Anda mendapatkan mengambang pra-cetak arXiv tolong beri tahu saya (di sini atau 10 kali lipat), saya akan sangat ingin tahu tentang hasilnya. Ya, saya telah melihat makalah itu pada saat menulis jawaban ini (sebenarnya makalah yang terkenal akan saya katakan) tetapi seperti yang Anda katakan itu sepertinya tidak diambil. Juga poin # 3 tetap benar-benar valid: Anda perlu membangun DNN untuk mendapatkan sesuatu yang ditawarkan PCA melalui produk lintas matriks tunggal.
usεr11852 mengatakan Reinstate Monic

12

https://stats.stackexchange.com/a/249520/7828

adalah jawaban umum yang bagus.

Saya ingin sedikit lebih fokus pada masalah Anda. Anda tampaknya ingin melihat bagaimana sampel Anda terkait dengan 7 variabel input Anda. Itu adalah sesuatu yang tidak dilakukan SNE. Gagasan SNE dan t-SNE adalah untuk menempatkan tetangga berdekatan satu sama lain, (hampir) sepenuhnya mengabaikan struktur global.

Ini sangat baik untuk visualisasi, karena barang-barang serupa dapat diplot bersebelahan (dan tidak saling bertumpukan, cf crowding).

Ini tidak baik untuk analisis lebih lanjut. Struktur global hilang, beberapa objek mungkin telah diblokir untuk pindah ke tetangga mereka, dan pemisahan antara kelompok yang berbeda tidak dipertahankan secara kuantitatif. Itulah sebabnya mengapa mis. Pengelompokan pada proyeksi biasanya tidak bekerja dengan baik.

PCA justru sebaliknya. Itu mencoba untuk melestarikan properti global (vektor eigen dengan varian tinggi) sementara itu dapat kehilangan penyimpangan varian rendah antara tetangga.


Ah, itulah yang saya duga. Saya tidak tertarik pada bagaimana titik data berada di ruang tersebut, tetapi lebih pada bagaimana tindakan itu sendiri terkait satu sama lain. Kedua hal ini terhubung, tentu saja, tetapi dalam hal memvisualisasikan dan menafsirkan hubungan-hubungan ini, saya menduga hanya PCA yang melakukan apa yang saya inginkan. Sebagai contoh, ada hubungan positif dan negatif antara ukuran dan apa yang saya benar-benar tertarik adalah nilai absolut dari asosiasi, yang lagi-lagi saya pikir lebih mudah untuk ditafsirkan / lihat apakah saya menggunakan PCA.
user3744206

1
Untuk kasus penggunaan itu mungkin lebih baik untuk melihat matriks korelasi itu sendiri, yaitu hanya melakukan perbandingan berpasangan. Kemudian Anda juga dapat menangani nonlinier, misalnya dengan menggunakan korelasi spearman.
Anony-Mousse

Bisakah kita menggunakan T-SNE untuk masalah cluster? Sejauh yang saya mengerti, kita dapat memproyeksikan titik kedatangan baru dan mencoba mengelompokkan pada dimensi yang lebih rendah? Apa itu mungkin ?
Catbuilts

Tidak. Karena tSNE tidak linier, Anda tidak dapat hanya menghitungnya untuk data baru (lihat di atas). Dan ada diskusi besar yang juga bisa menyesatkan untuk mengelompokkan data yang diproyeksikan.
Anony-Mousse

1

Untuk memberikan satu sudut yang diterapkan, PCA dan t-SNE tidak saling eksklusif. Dalam beberapa bidang biologi, kita berhadapan dengan data berdimensi tinggi (mis. ScRNA-seq adalah ribuan dimensi) di mana t-SNE tidak berskala. Oleh karena itu, kami menggunakan PCA pertama untuk mengurangi dimensi data dan kemudian, dengan mengambil komponen prinsip utama, kami menghitung grafik lingkungan dan kemudian menanamkan grafik dalam 2 dimensi menggunakan t-SNE (atau pendekatan pengurangan dimensi non-linear yang serupa seperti UMAP) untuk memvisualisasikan data.

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.