t-SNE: Neden eşit veri değerleri görsel olarak yakın değil?


9

Tüm özelliklerde aynı değerlere sahip 200 veri noktası var .

T-SNE boyut küçülmesinden sonra, artık böyle eşit görünmüyor: resim açıklamasını buraya girin

Neden görselleştirmede aynı noktada değiller ve hatta iki farklı kümeye dağılmış görünüyorlar?



Kullandığınız hassasiyetten (çift / float) kaynaklanabilir mi?
El Burro

Çoğu değer tamsayıdır. Ve çok seyrek, çoğu sıfır ile yaklaşık 500 özellik. Hassasiyetten kaynaklanıp kaynaklanamayacağını bilmiyorum. Ancak bu kümeler arasındaki ve bu veri noktaları arasındaki mesafe nispeten büyüktür.
ScientiaEtVeritas

Hangi kümeler? Hepsinin aynı olduğunu düşündüm - ya da komplo mu demek istiyorsun?
El Burro

Evet, arsadaki kümeleri kastediyorum.
ScientiaEtVeritas

Yanıtlar:


3

T-SNE'deki aynı değerlerin farklı noktalara dağıtılabileceğinden eminsiniz, T-SNE'nin karşılaştığı algoritmaya bir göz atarsanız bunun olmasının nedeni açıktır.

Algoritma veri kümesine uygulandıktan sonra gerçekte aynı olmaması gereken noktalarla ilgili ilk endişenizi gidermek. Sizi kendiniz doğrulamak için bir egzersizle bırakacağım, basit bir dizi düşününx1=[0,1] ve x2=[0,1] ve buna karşı gerçek algoritmayı çalıştırın ve kendiniz bakın, sonuçta ortaya çıkan noktalar aynı değildir.

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]]))

Ayrıca random_statedeğiştirmenin, modelin çıktı koordinatlarını gerçekten değiştirdiğini de gözlemlersiniz . Gerçek koordinatlar ve çıktıları arasında gerçek bir korelasyon yoktur. TSNE'nin ilk adımından bu yana koşullu olasılığı hesaplar.

Şimdi algoritmayı kullanarak bunun gerçekleşmesinin nedenini rasyonelleştirmeye çalışalım, sadece matematik kullanarak, herhangi bir sezgisiz. Bunu not etxi ve xj her ikisi de bu durumda vektörlerdir. pj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2). Şimdi, eğerpij=pi|j+pj|i2N, değerin 1 olduğunu görebiliriz. KL sapması uygulandıktan sonra yukarıda belirtilen değerleri elde ederiz. Şimdi buna biraz sezgi uygulayalım.pij gayri resmi olarak, koşullu olasılıktır. xi seçerdi xjkomşu olarak. Bu, sonucu iki nedenden dolayı haklı çıkarır. Birincisi, başka bir komşu olmadığı için, koordinatlar listesindeki tek diğer vektörü seçmelidir. Buna ek olarak, noktalar aynıdır ve gördüğümüz gibi, diğer komşu olarak seçilme şansları yüksek olmalıdır .

Şimdi mutlak koordinasyonların R2herhangi bir önemi var. Gerçekten bilmiyorlar. Rasgelelik, noktaları gitmelerini istediğiniz yere yeniden dağıtabilir. Bununla birlikte, daha ilginç olan, noktalar arasındaki mesafelerin oranları ve bunlar görecelidir ve oldukça ilginç olan daha yüksek boyutlara yansıttığımızda bile görecelidir.

Yani, gerçek şu ki, iki kümeye bakmak yerine, aralarındaki mesafelere bakın, çünkü bu, koordinasyonların kendilerinden daha fazla bilgi taşır.

Umarım bu sorunuzu yanıtladı :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.