Karışık sürekli ve ikili değişkenli t-SNE


10

Şu anda t-SNE kullanarak yüksek boyutlu verilerin görselleştirilmesini araştırıyorum. Karışık ikili ve sürekli değişkenler ile bazı veriler var ve veri ikili verileri çok kolayca küme gibi görünüyor. Tabii ki bu ölçeklenmiş (0 ile 1 arasında) veriler için beklenir: Öklid mesafesi her zaman ikili değişkenler arasında en büyük / en küçük olacaktır. T-SNE kullanan karma ikili / sürekli veri setleri ile nasıl başa çıkılmalıdır? İkili sütunları bırakmalı mıyız? metricKullanabileceğimiz farklı bir şey var mı?

Örnek olarak bu python kodunu düşünün:

x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]

X = np.c_[x1, x2, x3]

# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph

işte ham verilerim:

işlenmemiş veri

burada renk üçüncü özelliğin (x3) değeridir - 3D'de veri noktaları iki düzlemde bulunur (x3 = 0 düzlemi ve x3 = 1 düzlemi).

Daha sonra t-SNE gerçekleştiriyorum:

tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)

ortaya çıkan arsa ile:

tsne_data

ve veriler elbette x3 ile kümelenmiştir. Bağırsak içgüdüm, bir mesafe metriğinin ikili özellikler için iyi tanımlanmadığı için, herhangi bir t-SNE gerçekleştirmeden önce bunları düşürmemiz gerektiğidir, çünkü bu özellikler kümelerin oluşturulması için yararlı bilgiler içerebileceğinden utanç verici olacaktır.


1
Not: Hala bu konuda ve UMAP'ın bu alana uygulanabilirliği hakkında yorum duymakla ilgileniyorum.
FChm

Ödül için teşekkürler, yine hala ilgilendi ama adil olmak için çok fazla zaman harcamadım. Bugün bazı ilk araştırmalar yapmak için biraz zamanım olabilir ve varsa güncellemeler ekleyeceğim.
FChm

2
Pratikte bu sorunla karşılaştım. Bence bu tSNE'ye özgü değil, aynı zamanda herhangi bir mesafe tabanlı denetimsiz öğrenme algoritmasını da etkileyecek (kümeleme dahil). Ayrıca, uygun çözümün ikili özelliklerin neyi temsil ettiğine ve bunların ne kadar önemli olduğuna dair bazı uzman kararlarına bağlı olacağını düşünüyorum. Bu yüzden çeşitli olası durumları tartışacak bir cevap arıyorum. Burada tek bedene uyan bir çözüm olmadığından eminim.
amip

Yanıtlar:


8

Feragatname: Konu hakkında sadece teğetsel bilgim var, ancak kimse cevap vermediği için bir deneyeceğim

Mesafe önemlidir

Mesafelere dayalı herhangi bir boyutsal küçültme tekniği (tSNE, UMAP, MDS, PCoA ve muhtemelen diğerleri) yalnızca kullandığınız mesafe ölçüsü kadar iyidir. @ Amoeba'nın doğru bir şekilde işaret ettiği gibi, tek bedene uyan bir çözüm olamaz, verilerde önemli bulduğunuz şeyleri yakalayan bir mesafe metriğine ihtiyacınız vardır, yani benzer olduğunu düşündüğünüz satırların küçük mesafeleri ve satırları vardır farklı düşünün geniş mesafe var.

İyi bir mesafe metriğini nasıl seçersiniz? İlk olarak, biraz saptırma yapmama izin verin:

Emretmek

Modern makine öğreniminin görkemli günlerinden çok önce, topluluk ekologları (ve büyük olasılıkla diğerleri) çok boyutlu verilerin keşif analizi için güzel planlar yapmaya çalıştılar. Süreç koordinasyonunu çağırıyorlar ve ekoloji literatüründe en azından 70'lere dönüp bugün hala güçlü olmak için aramak yararlı bir anahtar kelime.

Önemli olan, ekolojistlerin çok çeşitli veri kümelerine sahip olmaları ve ikili, tamsayı ve gerçek değerli özelliklerin karışımlarıyla uğraşmalarıdır (örneğin türlerin varlığı / yokluğu, gözlenen örnek sayısı, pH, sıcaklık). Düzenlemelerin iyi çalışması için mesafeleri ve dönüşümleri düşünerek çok zaman harcadılar. Alanı çok iyi anlamıyorum, ancak topluluk verilerinin varyansı olarak Legendre ve De Cáceres Beta çeşitliliğinin gözden geçirilmesi : farklılık katsayıları ve bölümleme , kontrol etmek isteyebileceğiniz çok sayıda olası mesafeyi gösteriyor.

Çok boyutlu ölçekleme

Sıralama için kullanılacak araç, çok boyutlu ölçekleme (MDS), özellikle de metrik olmayan varyanttır (NMDS) ve t-SNE'ye ek olarak denemenizi öneririm. Python dünyası hakkında bilmiyorum, ancak paketin metaMDSişlevindeki R uygulaması vegansizin için çok fazla hile yapıyor (örneğin, benzer iki tane bulana kadar birden fazla çalıştırma).

Bu tartışmalı, yorumlara bakın: MDS ile ilgili güzel kısım, özellikleri (sütunları) da yansıtmasıdır, böylece hangi özelliklerin boyutsallık azaltımını yönlendirdiğini görebilirsiniz. Bu, verilerinizi yorumlamanıza yardımcı olur.

T- SNE'nin anlayışı türetmek için bir araç olarak eleştirildiğini unutmayın, örneğin tuzaklarının bu keşifini görün - UMAP'ın bazı sorunları çözdüğünü duydum, ancak UMAP ile ilgili hiçbir deneyimim yok. Ekolojistlerin NMDS kullanma nedeninin bir kısmı da kültür ve atalet olduğundan şüphe etmiyorum, belki UMAP veya t-SNE aslında daha iyidir. Dürüst olmak gerekirse bilmiyorum.

Kendi mesafenizi katlama

Verilerinizin yapısını anlarsanız, hazır mesafeler ve dönüşümler sizin için en iyi olmayabilir ve özel bir mesafe metriği oluşturmak isteyebilirsiniz. Verilerinizin neyi temsil ettiğini bilmesem de, gerçek değerli değişkenler (örneğin mantıklıysa Öklid mesafesini kullanarak) ve ikili değişkenler için mesafeyi ayrı ayrı hesaplamak ve bunları eklemek mantıklı olabilir. İkili veriler için ortak mesafeler, örneğin Jaccard mesafesi veya Kosinüs mesafesidir . Jaccard ve Cosine'nin her ikisi de[0,1] Öklid mesafesinin büyüklüğü, özelliklerin sayısından bağımsız olarak özelliklerin sayısını yansıtır.

Uyarı kelimesi

Her zaman aklınızda bulundurmanız gerekir ki, ayarlamak için çok fazla topuz olduğundan, görmek istediğinizi görene kadar ayar tuzağına kolayca düşebilirsiniz. Keşif analizinde bundan tamamen kaçınmak zordur, ancak dikkatli olmalısınız.


1
+1. Burada birçok iyi nokta ve eski "koordinasyon" literatürüne referansları seviyorum. Dikkatimi çeken bir şey: "MDS'nin güzel yanı, özellikleri (sütunları) da yansıtmasıdır, böylece hangi özelliklerin boyutsallık azaltımını yönlendirdiğini görebilirsiniz" - bundan emin misiniz? Anladığım kadarıyla bu doğru değil; en azından MDS için t-SNE'den daha doğru değil.
amip

@amoeba Burası sınırlı bilgimin geldiği yer :-) Tek bildiğim, metaMDShem örnekler hem de özellikler için varsayılan çizim yönteminin (örn. bu vignette: cran.r-project.org/web/packages/vegan/vignettes/) intro-vegan.pdf )
Martin Modrák

Cevaplarınız ve görüşleriniz için teşekkürler. Şimdi UMAP'a daha fazla odaklanıyorum ve sanırım Jaccard mesafesi gibi bazı benzerlik ölçütlerini tanımlamak karışık değişken türlerini ele almak için iyi bir yol olabilir. MDS kullanmadım, ama bunun farkındayım. Yararlı olup olmadığını anlamak için biraz zaman harcamak zorunda kalacağım.
FChm

1
@ MartinModrák veganPaketin tam olarak ne yaptığını bilmiyorum , ancak MDS / NMDS doğrusal olmayan ve parametrik olmayan bir yöntemdir (tam olarak t-SNE olarak) ve orijinal özellikleri MDS boyutlarıyla eşleştirmek için "dahili" bir yol yoktur. Orijinal özellikler ile MDS boyutları arasındaki korelasyonları hesapladıklarını hayal edebiliyorum; öyleyse, bu, t-SNE dahil olmak üzere herhangi bir gömme için yapılabilir. Tam olarak ne yaptığını bilmek ilginç olurdu vegan.
amip
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.