Mari kita asumsikan kita memiliki masalah klasifikasi dan pada awalnya kita ingin mendapatkan beberapa wawasan dari data dan kita melakukan t-SNE. Hasil t-SNE memisahkan kelas dengan sangat baik. Ini menyiratkan bahwa adalah mungkin untuk membangun model klasifikasi yang juga akan memisahkan kelas dengan sangat baik (jika t-SNE tidak terpisah dengan baik maka itu tidak menyiratkan banyak).
Mengetahui bahwa t-SNE berfokus pada struktur lokal dan bahwa ia dapat memisahkan kelas dengan baik: Apa algoritma klasifikasi yang harus bekerja dengan baik pada masalah ini? Scikit menyarankan SVM dengan kernel Gaussian RBF, tetapi apa yang lain?
classification
tsne
Tomek Tarczynski
sumber
sumber
Jawaban:
Pertama, jawaban singkat, dan kemudian komentar yang lebih panjang:
Menjawab
Teknik SNE menghitung matriks kesamaan NXN di ruang data asli dan di ruang embedding dimensi rendah sedemikian rupa sehingga kesamaan membentuk distribusi probabilitas atas pasangan objek. Secara khusus, probabilitas umumnya diberikan oleh kernel Gaussian yang dinormalisasi dihitung dari input data atau dari embedding. Dalam hal klasifikasi, ini segera mengingatkan metode pembelajaran berbasis instance . Anda telah mendaftarkan salah satunya: SVM dengan RBF, dan @amoeba telah mendaftarkan kNN. Ada juga jaringan fungsi basis radial , yang saya bukan ahli.
Komentar
Karena itu, saya akan sangat berhati-hati dalam membuat kesimpulan pada dataset hanya dengan melihat plot t-SNE. t-SNE tidak harus fokus pada struktur lokal. Namun, Anda dapat menyesuaikannya dengan menyetel
perplexity
parameter, yang mengatur (secara longgar) bagaimana menyeimbangkan perhatian antara aspek lokal dan global dari data Anda.Dalam konteks ini,
perplexity
itu sendiri adalah tikungan dalam kegelapan tentang berapa tetangga dekat masing-masing pengamatan mungkin dan disediakan pengguna. The original kertas menyatakan: “Kinerja t-SNE cukup kuat untuk perubahan kebingungan, dan nilai-nilai khas adalah antara 5 dan 50.” Namun, pengalaman saya adalah bahwa mendapatkan hasil maksimal dari t-SNE dapat berarti menganalisis beberapa plot dengan kebingungan yang berbeda.Dengan kata lain, penyetelan
learning rate
danperplexity
, dimungkinkan untuk mendapatkan plot 2-d tampak sangat berbeda untuk jumlah langkah pelatihan yang sama dan menggunakan data yang sama.Makalah Penyulingan ini Cara Menggunakan t-SNE Secara efektif memberikan ringkasan yang bagus tentang perangkap umum dari analisis t-SNE. Poin-poin ringkasannya adalah:
Hyperparameter tersebut (misalnya tingkat belajar, kebingungan) sangat penting
Ukuran cluster dalam plot t-SNE tidak berarti apa-apa
Jarak antar cluster mungkin tidak berarti apa-apa
Kebisingan acak tidak selalu terlihat acak.
Anda dapat melihat beberapa bentuk, kadang-kadang
Untuk topologi, Anda mungkin perlu lebih dari satu plot
Khususnya dari poin 2, 3, dan 6 di atas, saya akan berpikir dua kali tentang membuat kesimpulan tentang keterpisahan data dengan melihat plot t-SNE individu. Ada banyak kasus di mana Anda dapat 'membuat' plot yang menunjukkan kelompok yang jelas menggunakan parameter yang tepat.
sumber