PCA'nın t-SNE'den daha uygun olduğu durumlar var mı?


39

7 metin düzeltme davranışı ölçüsünün (metni düzeltmek için harcanan zaman, tuş vuruşlarının sayısı vb.) Birbirleriyle nasıl ilişkili olduğunu görmek istiyorum. Ölçüler birbiriyle ilişkilidir. Ölçümlerin PC1 ve PC2'ye nasıl yansıtıldığını görmek için bir PCA kullandım; bu, ölçümler arasında ayrı iki yönlü korelasyon testleri yürütmenin üst üste gelmesini engelledi.

Neden bazı-SNE kullanmıyordum, çünkü bazı önlemler arasındaki ilişki doğrusal olmayabilir.

Doğrusal olmama izin vermenin bunu nasıl iyileştireceğini görebiliyorum, ancak bu durumda PCA'yı kullanmak için herhangi bir iyi neden olup olmadığını merak ediyorum t-SNE? Metinleri ölçütlerle olan ilişkilerine göre kümelemekle değil, ölçütlerin kendileriyle olan ilişkileriyle ilgileniyorum.

(EFA'nın daha iyi / başka bir yaklaşım olabileceğini düşünüyorum, ancak bu farklı bir tartışma.) Diğer yöntemlerle karşılaştırıldığında, burada t-SNE ile ilgili az sayıda yazı var, bu yüzden soru sormaya değer görünüyor.


3
t-SNE veri kümesi boyutu ile iyi ölçeklenmiyor, PCA ise. Bu, ikisini de scikit-learn uygulamasını kullanarak büyük veri kümelerinde çalıştırma deneyiminden kaynaklanıyor.
Mai

@Mai muhtemelen bu büyük veri setleri için geçerli? Veri setim küçük tarafta (birkaç yüz veri noktası).
user3744206

Yanıtlar:


64

t -SNE, Makine Öğrenmenin harika bir parçasıdır, ancak bunun yerine PCA kullanmak için birçok neden bulunabilir. Kafamın tepesinden beşi söyleyeceğim. Kullanımdaki diğer pek çok hesaplama metodolojisi olduğu için, -SNE gümüş mermi değildir ve bazı durumlarda onu düşük kaliteli bir seçenek haline getirmek için oldukça az neden vardır. Kısaca bazı noktalardan bahsedeyim:t

  1. Son çözümün stokastiği . PCA deterministiktir; SNE değil. Bir güzel görselleştirme alır ve sonra onu meslektaşı başka görselleştirme alır ve daha sonra daha iyi görünüyor ki sanatsal olsun ve bir fark olmadığını içinde sapma anlamlıdır ... In PCA doğru cevap için sorulan soru garantilidir. -SNE farklı çözümlere yol açabilecek birden fazla minimaya sahip olabilir. Bu, birden fazla çalışmayı zorunlu kılar ve sonuçların tekrar üretilebilirliği ile ilgili soruları da artırır.% 0.03 K L ( P | | Q ) tt0.03%KL(P||Q)t

  2. Haritalamanın yorumlanabilirliği . Bu, yukarıdaki nokta ile ilgilidir ancak bir takımın belirli bir rastgele tohum / koşuda kararlaştırdığını varsayalım. Şimdi soru şununla ortaya çıkıyor: -SNE sadece yerel / komşuları doğru bir şekilde haritalandırmaya çalışıyor, bu yüzden bu yerleştirmeden edindiğimiz içgörüler çok dikkatli olmalı; küresel eğilimler doğru bir şekilde gösterilmemiştir (ve bu görselleştirme için potansiyel olarak harika bir şey olabilir). Öte yandan, PCA başlangıç ​​kovaryans matrisimizin sadece köşegen bir dönüşüdür ve özvektörler orjinal verilerimizin kapsadığı alanda yeni bir eksenel sistemi temsil eder. Belirli bir PCA'nın ne yaptığını doğrudan açıklayabiliriz.t

  3. Yeni / görünmeyen verilere uygulama . -SNE edilir değil yeni (düşük) boyutsal birine özgün uzaydan bir işlev öğrenme ve bu bir problem. Bu konuda, -SNE parametrik olmayan bir öğrenme algoritmasıdır, bu yüzden parametrik algoritma ile yaklaşmak kötü bir sorundur. Gömme, verileri doğrudan düşük boyutlu uzayda hareket ettirerek öğrenilir . Bu , yeni verilerde kullanılacak özvektör veya benzeri bir yapı elde edilemeyeceği anlamına gelir . Buna karşılık, PCA kullanarak özvektörler, doğrudan yeni verileri yansıtmak için kullanılabilecek yeni bir eksen sistemi sunar. [Görünüşe biri öğrenmek için derin ağı eğitim deneyebilirsinizt tttt-SNE haritalama (bu videonun ~ 46 '' sında Dr. van der Maaten 'ı bu satırlar boyunca bir şey önerdiğini duyabilirsiniz ) ancak açıkça kolay bir çözüm bulunmadığını]

  4. Eksik veri . Doğal olarak -SNE eksik verilerle ilgilenmez. Adil olmak gerekirse, PCA bunlarla da ilgilenmez, ancak eksik veriler için PCA'nın çok sayıda uzantısı (örn. Olasılıksal PCA ) oradadır ve neredeyse standart modelleme rutinleridir. -SNE şu anda eksik verilerle başa çıkamıyor (bir olasılıkla önce olasılıklı bir PCA eğitmek ve PC puanlarını girdi olarak -SNE'ye aktarmak).t tttt

  5. (çok) küçük bir durum değildir. k -SNE, kalabalıklaşma problemi olarak bilinen bir problemi çözer , daha yüksek boyutta benzer noktaların, alt boyutlarda birbirlerinin üzerine çökmesiyle (daha fazlası burada ) etkili bir şekilde çözerler . Artık kullanılan boyutları arttırdıkça kalabalık problemi daha az ağırlaşıyor, yani. -SNE kullanarak çözmeye çalıştığınız sorun zayıflar. Bu soruna geçici bir çözüm bulabilirsiniz, ancak önemsiz değil. Bu nedenle , indirgenmiş set olarak boyutlu bir vektöre ihtiyacınız varsa ve çok küçük değilse, ürün çözeltisinin iyiliği söz konusudur. Öte yandan PCA her zamant k k kttkkkvaryans açısından en iyi doğrusal kombinasyon açıklanmıştır. (@Amoeba'ya dikkatimi çektiğim için teşekkür ederim.

Hesaplama gereklilikleri (örn. Hız veya hafıza boyutu) ile ilgili hususlardan ya da ilgili hiperparametrelerin seçilmesinden (örn. Şaşkınlık) bahsetmiyorum. Bunların -SNE metodolojisinin iç sorunları olduğunu ve başka bir algoritmayla karşılaştırırken ilgisiz olduğunu düşünüyorum.t

Özetlemek gerekirse, -SNE mükemmeldir, ancak uygulanabilirliği söz konusu olduğunda tüm algoritmaların kendi sınırlamaları vardır. Kullandığım ı açıklayıcı veri analiz aracı olarak elime herhangi bir yeni veri kümesi üzerinde -SNE neredeyse. Neredeyse PCA kadar uygulanabilir kılmayan bazı sınırlamaları olsa da bence. PCA'nın da mükemmel olmadığını vurgulamama izin verin; örneğin, PCA tabanlı görselleştirmeler genellikle -SNE'ninkinden daha düşüktür.t tttt


@ amoeba: Bu konuyu kaldırdım çünkü çok zahmetliydi; Çoğunlukla -SNE'nin kalabalıklık sorunu ile ilgili sorunların daha yüksek boyutlarda ( yerine) kullanıldığında daha az şiddetli olması ve bu yüzden karışmış içgörüler sunarken daha az şiddetli olduğu düşüncesiyle motive oldum; yapmaya çalışıyorum. Ayrıca, LLE'den yeniden yapılanma mümkün olduğu için (Roweis ve Saul, 2000) neden t-SNE tarafından mümkün olmuyor? k = 2 , 3 , 4tk=2,3,4
usεr11852, Reinstate Monic’in

@ amoeba: Bahsettiğiniz için teşekkür ederiz. Buna göre cevabımı güncelledim.
usεr11852, Reinstate Monic’in

3
3. konuya ilişkin: işte parametrik t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf . Gerçekten kalkmadı gibi görünüyor (orijinal t-sne gazetesinden 25 kat daha az alıntı yapıyor), ama aslında bugünün teknolojisi / kütüphaneleri ile uygulamak oldukça kolaydır. Keras'ta koşup koşuyorum; Son haftalarda araştırmaya (ve muhtemelen genişletmeye) çalışıyorum.
amip diyor Reinstate Monica

Güzel! (+1) Eğer bir arXiv ön baskı yüzgeci elde ederseniz, lütfen bana bildirin (burada veya 10 kat), sonuçları çok merak ediyorum. Evet, bu cevabı yazarken o makaleyi gördüm (aslında benim söyleyebileceğim iyi bilinen bir makale) ama söylediğiniz gibi ele alınmadı. Ayrıca 3. nokta tamamen geçerli kalır: PCA'nın tek bir matris çapraz ürünüyle sunduğu bir şeyden kurtulmak için bir DNN kurmanız gerekir.
usεr11852 diyor Reinstate Monic,

12

https://stats.stackexchange.com/a/249520/7828

mükemmel bir genel cevaptır.

Sorununuza biraz daha odaklanmak istiyorum. Görünüşe göre numunelerinizin 7 giriş değişkeninize göre nasıl bir ilişki içinde olduğunu görmek istiyorsunuz . Bu t-SNE'nin yapmadığı bir şey. SNE ve t-SNE fikri, komşuları birbirine yakın yerleştirmek, (neredeyse) tamamen küresel yapıyı görmezden gelmektir.

Bu görselleştirme için mükemmeldir, çünkü benzer öğeler yan yana çizilebilir (birbirinin üstüne değil, kalabalıkla doldurulabilir).

Bu daha fazla analiz için iyi değil. Küresel yapı kayboldu, bazı nesneler komşularına taşınması engellenmiş olabilir ve farklı gruplar arasındaki ayrım nicel olarak korunmaz. Büyük ölçüde, örneğin projeksiyonda kümelemenin genellikle çok iyi çalışmadığının nedeni budur.

PCA tam tersi. Global özellikleri korumaya çalışır (yüksek varyanslı özvektörler), komşular arasında düşük varyans sapmalarını kaybedebilir.


Ah, aynen böyle düşündüm. Veri noktalarının uzayda nasıl konumlandırıldığıyla değil, önlemlerin birbirleriyle nasıl ilişkili olduğu ile ilgilenmiyorum. Elbette bu iki şey birbiriyle bağlantılıdır, ancak bu ilişkileri görselleştirmek ve yorumlamak açısından yalnızca PCA'nın istediğimi yaptığını düşünüyorum. Örneğin, önlemler ile gerçekten ilgilendiğim şey arasında hem pozitif hem de negatif ilişkiler var, derneklerin mutlak değeridir; bu, PCA kullanıp kullanmadığımı yorumlamanın / görmenin daha kolay olduğunu düşünüyorum.
user3744206

1
Bu kullanım durumunda, korelasyon matrisinin kendisine bakmak yerine daha iyi olabilir, yani sadece ikili karşılaştırmalar yapabilir. Daha sonra doğrusal olmayan durumları da, örneğin mızrakçı korelasyonunu kullanarak halledebilirsiniz.
Anony-Mousse

T-SNE'yi küme problemleri için kullanabilir miyiz? anladığım kadarıyla yeni bir varış noktası belirleyebilir ve daha düşük boyutlarda kümelemeyi deneyebilir miyiz? Mümkün mü ?
Catbuilts,

Hayır. TSNE doğrusal olmadığından, sadece yeni veriler için hesaplayamazsınız (yukarıya bakın). Ve öngörülen verileri kümelemenin yanıltıcı olabileceği konusunda da tartışmalı bir tartışma vardı.
Anony-Mousse

1

Bir uygulamalı açı vermek için, PCA ve t-SNE birbirini dışlamaz. Bazı biyoloji alanlarında, t-SNE'nin ölçeklemediği yüksek boyutlu verilerle (örneğin, scRNA-seq binlerce boyuttur) ilgileniyoruz. Bu nedenle, önce PCA'yı verilerin boyutsallığını azaltmak için kullanırız, sonra en önemli prensip bileşenlerini alarak mahalle grafiğini hesaplar ve ardından t-SNE (veya benzeri olmayan doğrusal olmayan bir boyutsallık azaltma yaklaşımını kullanarak grafiği 2 boyutlu olarak gömeriz). UMAP gibi) verileri görselleştirmek için.

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.