Apakah tetangga terdekat masuk akal dengan t-SNE?

10

Jawaban di sini telah menyatakan bahwa dimensi dalam t-SNE tidak ada artinya , dan bahwa jarak antara titik bukanlah ukuran kesamaan .

Namun, dapatkah kita mengatakan sesuatu tentang titik berdasarkan tetangga terdekat di ruang t-SNE? Jawaban untuk mengapa titik-titik yang persis sama tidak berkerumun menunjukkan rasio jarak antara titik-titik yang sama antara representasi dimensi yang lebih rendah dan lebih tinggi.

Sebagai contoh, gambar di bawah ini menunjukkan t-SNE pada salah satu set data saya (15 kelas).

Dapatkah saya mengatakan bahwa cro 479(kanan atas) adalah pencilan? Apakah fra 1353(kiri bawah) lebih mirip cir 375daripada gambar lain di frakelas, dll? Atau mungkinkah ini hanya artefak, misal fra 1353terjebak di sisi lain dari beberapa kluster dan tidak bisa memaksa masuk ke frakelas lain ?

masukkan deskripsi gambar di sini

geometrikal
sumber

Jawaban:

8

Tidak, tidak perlu bahwa ini adalah masalahnya, bagaimanapun, ini adalah, dalam cara yang berbelit-belit, tujuan dari T-SNE.

Sebelum masuk ke inti jawaban, mari kita lihat beberapa definisi dasar, baik secara matematis maupun intuitif.

Tetangga Terdekat : Pertimbangkan ruang metrik dan sekumpulan vektor , diberi vektor baru , kami ingin menemukan poin sedemikian rupa sehingga. Secara intuitif, ini hanya jarak minimum menggunakan definisi norma yang sesuai di .RdX1,...,XnRdxRd||X1x||...||Xnx||Rd

Sekarang sampai pada apakah tetangga terdekat benar-benar penting saat menerapkan pengurangan dimensi. Biasanya dalam jawaban saya, saya bermaksud merasionalisasi sesuatu dengan matematika, kode dan intuisi. Pertama-tama, mari kita pertimbangkan aspek intuitif dari semuanya. Jika Anda memiliki titik yang berjarak dari titik lain, dari pemahaman kami tentang algoritma t-sne kami tahu bahwa jarak ini dipertahankan saat kami beralih ke dimensi yang lebih tinggi. Mari kita lebih lanjut mengasumsikan bahwa titik adalah tetangga terdekat dari dalam beberapa dimensi . Menurut definisi, ada hubungan antara jarak dalam dandyxddd+k. Jadi, kita memiliki intuisi kita yaitu bahwa jarak dijaga melintasi dimensi yang berbeda, atau setidaknya, itulah yang kita tuju. Mari kita coba benarkan dengan beberapa matematika.

Dalam jawaban ini saya berbicara tentang matematika yang terlibat dalam t-sne, meskipun tidak secara detail ( t-SNE: Mengapa nilai data yang sama secara visual tidak tertutup? ). Apa matematika di sini adalah, pada dasarnya memaksimalkan probabilitas bahwa dua titik tetap dekat dalam ruang yang diproyeksikan karena mereka berada di ruang asli dengan asumsi bahwa distribusi titik adalah eksponensial. Jadi, persamaan ini . Perhatikan bahwa probabilitas tergantung pada jarak antara dua titik, sehingga semakin jauh jarak mereka, semakin jauh jarak yang mereka dapatkan saat diproyeksikan ke dimensi yang lebih rendah. Perhatikan bahwa jika mereka berjauhan diRkpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)Rk, ada peluang bagus mereka tidak akan dekat dalam dimensi yang diproyeksikan. Jadi sekarang, kita memiliki alasan matematis mengapa poin "harus" tetap dekat. Tetapi sekali lagi, karena ini adalah distribusi eksponensial, jika titik-titik ini sangat berjauhan, tidak ada jaminan bahwa properti Tetangga Terdekat dipertahankan, meskipun, inilah tujuannya.

Sekarang akhirnya contoh pengkodean rapi yang menunjukkan konsep ini juga.

from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]

Meskipun ini adalah contoh yang sangat naif dan tidak mencerminkan kerumitannya, ini berhasil dengan eksperimen untuk beberapa contoh sederhana.

EDIT: Juga, menambahkan beberapa poin sehubungan dengan pertanyaan itu sendiri, jadi tidak perlu bahwa ini adalah masalahnya, mungkin, bagaimanapun, merasionalisasi melalui matematika akan membuktikan bahwa Anda tidak memiliki hasil yang konkret (tidak ada ya atau tidak pasti) .

Saya harap ini membereskan beberapa kekhawatiran Anda dengan TSNE.

PSub
sumber
Terima kasih atas jawaban yang bagus. Untuk meringkas: Poin yang memiliki kesamaan tinggi memiliki probabilitas tinggi untuk tetap dekat. Saya menduga bahwa parameter kebingungan mengontrol berapa banyak poin yang digunakan untuk perhitungan probabilitas, sehingga cluster dapat menjadi terputus-putus jika kebingungan itu rendah. Bisakah Anda mengomentari berlebihan awal? Juga, saya mengasumsikan probabilitas poin outlier atau kesalahan klasifikasi (memiliki semua NN mereka di kelas lain) menggunakan ruang TSNE, akan meningkat jika mereka konsisten setelah beberapa TSNE dengan inisialisasi acak?
geometrikal
Ya, kebingungan adalah salah satu faktor utama yang mempengaruhi seberapa dekat poin tetap satu sama lain. Pembesaran awal, secara intuitif adalah seberapa ketatnya klaster di ruang asli dan seberapa banyak ruang yang akan ada di antara mereka di ruang yang disematkan (jadi itu adalah campuran dari kedua kebingungan dan pembesaran awal yang mempengaruhi jarak antar titik. Mengenai pertanyaan terakhir Anda, jawabannya adalah ya, ini karena eksponensial norma, yang dapat menyebabkan masalah di ruang penyematan, sehingga ada kemungkinan kesalahan klasifikasi.
PSub