t-SNE: Mengapa nilai data yang sama secara visual tidak ditutup?

9

Saya memiliki 200 titik data yang memiliki nilai yang sama pada semua fitur.

Setelah pengurangan dimensi t-SNE mereka tidak terlihat begitu sama lagi, seperti ini: masukkan deskripsi gambar di sini

Mengapa mereka tidak berada pada titik yang sama dalam visualisasi dan bahkan tampaknya didistribusikan dalam dua kelompok yang berbeda?

ScientiaEtVeritas
sumber
4
Pastikan untuk membaca distill.pub/2016/misread-tsne
Emre
Bisakah itu disebabkan oleh presisi (double / float) yang Anda gunakan?
El Burro
Sebagian besar nilai adalah bilangan bulat. Dan sangat jarang, sekitar 500 fitur dengan sebagian besar nol. Saya tidak tahu apakah itu bisa disebabkan oleh presisi. Tetapi jarak antara kelompok-kelompok ini dan antara titik-titik data ini relatif besar.
ScientiaEtVeritas
Cluster mana? Saya pikir semua sama - atau maksud Anda plot?
El Burro
Ya, maksud saya kluster di plot.
ScientiaEtVeritas

Jawaban:

3

Anda benar bahwa nilai-nilai yang sama di T-SNE dapat didistribusikan di berbagai titik, alasan ini terjadi jelas jika Anda melihat pada algoritma yang dijalankan oleh T-SNE.

x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

Anda juga akan mengamati bahwa mengubah yang random_statesebenarnya memodifikasi koordinat output dari model. Tidak ada korelasi nyata antara koordinat aktual dan outputnya. Sejak langkah pertama TSNE menghitung kemungkinan bersyarat.

xixjpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)pij=pi|j+pj|i2Npijxixj

R2

Jadi, kebenarannya adalah, alih-alih melihat kedua kelompok itu, lihatlah jarak di antara mereka, karena itu menyampaikan lebih banyak informasi daripada mengoordinasikan diri mereka sendiri.

Semoga ini menjawab pertanyaan Anda :)

PSub
sumber