T-SNE¹, UMAP² ve TriMap³ gibi boyut azaltma teknikleri, veri bilimi alanında her yerde bulunur ve etkileyici görsel performansları göz önüne alındığında (kullanım kolaylığı ile birlikte), bu nedenle, bir verilen veri kümesi. Bununla birlikte, bu spesifik yöntemler (t-SNE, UMAP ve TriMAP) muhtemelen boyutsallık azaltma için ilk gideceğiniz seçenek olmamalıdır - bu yazıda nedenini gözden geçireceğim ve 2020'den yeni yayınlanan bir alternatif önereceğim. yorumlanabilir, daha kaliteli sonuçlar verir, daha hızlı çalışır ve daha az manuel ayar gerektirir - tüm iyi şeyler 👍 🍾
Başlamadan önce, hem t-SNE, hem UMAP hem de TriMAP'ın hevesli bir kullanıcısı olduğumu (ve hala da olduğumu) not edeceğim. Ne yazık ki, bu teknikler için iç işleyişin teknik ayrıntıları, özellikle daha az deneyimli uygulayıcılar tarafından genellikle ihmal edilir ve bu da görsel sonuçların yorumlanmasında sonuçları vardır. Spesifik olarak, her algoritmanın küresel ve yerel yapıyı korumak açısından yaptığı ödünleşimin farkında olmak önemlidir . Yorumlama sorunlarının ötesinde, örneğin t-SNE'nin (olduğu gibi
scikit-learn) sıklıkla kullanılan uygulamaları can sıkıcı bir şekilde yavaş olabilir, bu da algoritmaları kurmak, potansiyel olarak ince ayar yapmak ve sonunda bunları tekrar tekrar çalıştırmakla sonuçlanır. insanlar
everything_in_here.ipynbdefterlerini defalarca yeniden başlatma eğilimindedir . Son olarak ve belki de en önemlisi, son etiketleri zaten bildiğimizde (ör. MNIST, Cifar10, vb. Gibi tipik olarak gösterilen karşılaştırmalar için olduğu gibi) öğretici ayarlarda süper etkileyici görseller oluşturmak için birçok algoritma ayarlanabilir. gerçek hayatta bilinmeyen bir veri kümesinde kullanıldığında, belirli bir görselleştirmenin nasıl yorumlanacağını bilmek çok daha zordur, çünkü önceden veri kümesi hakkında çok fazla şey bilmiyoruz - burada varsayılan olarak daha sık elde eden bir algoritma " doğru ”, kesinlikle bir avantajdır.
Bu yazıda, çeşitli boyutsallık azaltma tekniklerinin altında yatan sezgiler kısaca gözden geçirildi ve ardından yeni algoritma PaCMAP⁴ tanıtıldı ve gözden geçirildi. Bu yeni algoritma, küresel ve yerel değiş tokuşu iyileştirmeyi başarır, parametre ayarlaması olmadan iyi sonuç verir, hızlıdır ve kullanımı kolaydır. Algoritmanın hiper parametreleri ayrıca süper sezgiseldir ve yerelden küresele odaklanma arasında sorunsuz bir şekilde geçiş yapmak için kullanılabilir. PCA, t-SNE, UMAP, TriMAP vb. Gibi yöntemlerin terk edilmesini savunmuyorum, ancak çoğu amaç ve amaç için PaCMAP gibi algoritmaların, özellikle yeni biriyseniz veya aceleniz varsa, ilk tercihiniz olması gerektiğini düşünüyorum.
PS. PaCMAP'ın yaratıcılarıyla hiçbir ilişkim yok, ancak daha derinlemesine bir anlayış için makalelerini okumanızı şiddetle tavsiye ederim!
Yüksek boyutlu bir veri kümesinin boyutluluğunu azaltmak (örneğin, tablo şeklinde bir veri kümesinde> 3 sütunumuz varsa), veri kümesindeki temel kümeleri daha iyi anlamamıza veya verilerin dağıtımı için bir önsezi edinmemize olanak tanır (ör. eğitim ve test veri kümeleri). Amaç, verilerde olabildiğince çok "yapı" / bilgi tutmaktır, böylece orijinal yüksek boyutlu uzayda birbirinden uzak olan noktalar, düşük boyutlu uzayda da çok uzakta olur ve bunun tersi de geçerlidir. birbirine yakın noktalar. Genel olarak, bu algoritmalar iki ana arketipe ayrılabilir; yerel yapıyı korumayı amaçlayanlar (gözlemler birbirine çok benzer) ve küresel yapıyı korumayı amaçlayanlar (gözlemler birbirinden çok farklı).
Algoritmaya bağlı olarak, görselleştirilmiş projeksiyonların yanıltıcı olabileceği, örneğin var olmayan kümeleri yansıtabileceği veya olmamasına rağmen kümelerin birbirine yakın olduğunu ima edebileceği bilinmektedir. Bir boyut azaltma algoritması ile yapılan herhangi bir projeksiyonun yorumlanmasında çok muhafazakar olmak ve algoritmanın kendisini anlamak iyi bir fikirdir. Aşağıda, birkaç iyi bilinen algoritmanın sezgisi kısaca gözden geçirilmiştir.
PCA: burada (potansiyel olarak ilişkili olan) veriler, varyansla ölçüldüğü gibi azalan bilgi miktarlarını içeren, ilişkisiz temel bileşenlere yeniden çerçevelenir. Yalnızca ilk ilk bileşenleri görselleştirmek için bu yöntemi kullanmak (varyansın çoğunu açıklayan), doğal olarak, öncelikle verilerin genel yapısını yakalayan bir yöntemdir .
t-SNE: burada gradyan inişi, standart sapmayı belirleyen çok sezgisel olmayan bir şaşkınlık parametresinin kontrolü altında, i ve j noktası arasındaki göreceli mesafenin orijinal yüksek boyutlu uzaydaki ile eşleştiği düşük boyutlu bir gömme bulmak için kullanılır. yüksek boyutlu uzayda bağıl mesafe hesaplamaları için kullanılan koşullu dağılımların. Bu yöntem , göreceli mesafe hesaplamalarında en yakın komşulara odaklanması açısından öncelikle yerel yapıya odaklanır .
UMAP: Burada, en yakın komşuların ağırlıklı bir grafiği, gözlemler / veri noktası olan köşeler ile oluşturulur ve daha sonra, daha düşük boyutlu bir grafiği yapısal olarak yüksek boyutlu olana olabildiğince benzer olacak şekilde optimize etmek için stokastik gradyan inişi kullanılır. UMAP, global yapıyı daha iyi koruduğu, daha hızlı olduğu ve biraz daha yorumlanabilir hiper parametrelere sahip olduğu için t-SNE'ye göre birçok avantaja sahiptir, ancak özünde grafiğin yapımında en yakın komşular arasındaki mesafeleri ve bu tür odak noktaları kullanır. üzerinde yerel yapıya.
TriMAP : burada üçlüler (üç gözlemlik setler) ağırlıklı olarak en yakın komşulardan oluşturulur, ancak üçüzlerin bir kısmı da rastgele örneklenmiş bir veya iki nokta içerir. Algoritma daha sonra, üçlülerin mesafelerinin sırasını koruyan toplu gradyan inişini kullanarak daha düşük boyutlu bir gömme bulmaya çalışır. Teorik olarak bu yöntem hem de başarıyor yerel ve küresel bir yapıya, ama pratikte genellikle yerel yapıyla mücadele eğilimli olduğu tespit edilmiştir.
Gelen PaCMAP kağıt tüm düğümler, bu gözlemler arasındaki metrik bir benzerlik oluşturan gözlem ve kenarlardır sahip grafik tabanlı algoritmalar olarak izlenebilir, örneğin, t-SNE, UMAP ve TriMAP olarak bu yöntemler gösterir - verilen bir yüksek boyutlu bir grafik, bir kayıp fonksiyonu yapısal olarak benzer grafiğin düşük boyutlu bir temsilini bulmak için tanımlanır ve optimize edilir. Bu anlayışla, önce bilinen algoritmaların kayıp fonksiyonlarının yanı sıra çeşitli yapay kayıp fonksiyonlarını araştırırlar ve buradan “ideal” kayıp fonksiyonunu sağlayan birkaç anahtar prensibi çıkarabilirler (makalenin 4. bölümü). İkinci olarak, düşük boyutlu grafiğin hem yerel hem de küresel grafik yapısını koruyacak şekilde nasıl optimize edileceğini araştırırlar, yine çoğu algoritmanın nasıl yakın görüşlü olduğunu gösterir (yani yerel yapıya odaklanır). Ardından, orta-yakın gözlem çiftlerini kullanma yönteminin yanı sıra yakınsama sırasında hangi grafik öğelerinin optimize edileceğine ilişkin dinamik bir seçim önerin, böylece algoritma başlangıçta global yapıyı doğru alır ve ardından yerel yapıyı iyileştirir (bölüm 5, kağıt).
Daha iyi bir kayıp fonksiyonu seçiminin yanı sıra önerilen grafik optimizasyon tekniğinin kombinasyonu, yazarların hem yerel hem de küresel yapıda iyi performansa sahip olduğunu gösterdiği yeni PaCMAP yöntemini oluşturmaktadır. Ayrıca, önerilen algoritmanın başlatma için oldukça sağlam olduğunu ve varsayılan hiper parametreleri kullanarak seçilen veri kümelerinde iyi çalıştığını ve test edilen 11 veri kümesinin tümünde en hızlı diğer algoritmadan önemli ölçüde daha hızlı olduğunu gösterirler.
Birkaç algoritma arasındaki sonuçları karşılaştırmak için makalelerden bazı deneyleri yeniden çalıştıralım. PaCMAP'i çalıştırmak, başka herhangi bir boyut azaltma algoritmasını çalıştırmak kadar kolaydır. Kendi karşılaştırmalarımda, PyPi paketlerinden t-SNE'yi
scikit-learn==0.24.1, UMAP'tan
umap-learn==0.5.1, TriMAP'den
trimap==1.0.15ve PaCMAP'tan
pacmap==0.3. Katıştırmalarımı oluşturmak için aşağıdaki küçük parçacığı kullandım - buradaki ana nokta, tüm algoritmalar için tüm varsayılan ayarları kullanmamdır.
Makalede, bir mamutun 3B temsilini 2B'ye düşürmek için farklı teknikleri kullandıkları süper güzel bir görselleştirmeye sahipler. Bunu yeniden oluşturmaya çalışırken, tüm varsayılan hiper parametrelerle aşağıdaki sonucu aldım:
Burada, t-SNE'nin, en azından varsayılan parametrelerle, öncelikle yerel yapıya odaklandığı, UMAP'nin küresel yapıyı biraz daha iyi yakaladığı, TriMAP'in küresel yapıda iyi bir iş yaptığı, ancak yerel yapıda başarısız olduğu çok açık hale geliyor (bkz. Ayak ve boynuzlar) ), PaCMAP ise hem küresel hem de yerel yapıyı yakalıyor gibi görünüyor. Aynı zamanda, PaCMAP yalnızca 8,4 saniyede, 12,56 saniyede TriMAP, 24 saniyede UMAP ve 69 saniyede t-SNE'den daha hızlı biter.
Algoritmaları biraz daha stres testi yaptım, aynı testi klasik MNIST veri setiyle (60.000 tren görüntüsü, 784 piksel sütun) ile gerçekleştirdim. Sonuçlar yine tüm varsayılan hiper parametrelerle aşağıdaki gibiydi:
Burada t-SNE'nin kümeleri merkez çevresinde tek tip olarak dağıttığını görüyoruz, bu muhtemelen yerel yapının korunmasına katkıda bulunuyor, ancak küresel yapı hakkında çok fazla bilgi içermiyor gibi görünüyor - ayrıca algoritmanın aslında bazı yanlış kümeleri de tanımladığını görüyoruz. (bu etiketlere sahip olduğumuz için yalnızca 'bildiğimiz' kırmızı, kahverengi ve mor olanlar). Yine, bu sonuçlar PaCMAP belgesinde görülenlerle tutarlıdır ve t-SNE ve UMAP'ın öncelikle yerel yapıya, TriMAP globalde ve PaCMAP'ın her ikisinde de odaklandığını gösterir.
Bu iki örnek, PaCMAP makalesinde gösterilenlerle oldukça uyumludur - Herkesi ek örnekler, miktarlar ve yorumlar görmek için makaleyi okumaya davet ediyorum.
Başlangıçta belirtildiği gibi, PCA, t-SNE, UMAP, TriMAP vb. Gibi yöntemlerin terk edilmesini savunmuyorum. Bununla birlikte, zaman genellikle çok önemlidir ve bu nedenle PaCMAP'in oldukça önemli iki fayda sağladığına inanıyorum; 1) hem yerel hem de global yapı varsayılan olarak yakalanır ve gerekirse hiper parametrelerle kolayca ayarlanabilir ve 2) daha hızlıdır. Bu faydalar özellikle boyut azaltmanın bir analizin temel parçası olmadığı ve çok sayıda hiper parametreyi kapsamlı bir şekilde araştırmak için zamanınız olmadığı durumlarda önemlidir. Tam bir analiz her zaman birden fazla algoritma ve hiper parametre içermeli ve yapabilmenizi sağlamalıdır. Her deney için arasındaki farkları açıklayın.
Son olarak, tebrikler ve PaCMAP makalesinin yazarlarına teşekkürler.
[1] Laurens van der Maaten & Geoffrey Hinton, Verileri t-SNE kullanarak Görselleştirme (2008), Journal of Machine Learning Research 9, 2579–2605
[2] Leland McInnes, John Healy, James Melville, UMAP: Tek Tip Manifold Yaklaşımı ve Boyut Azaltma için Projeksiyon (2018), https://arxiv.org/abs/1802.03426
[3] Ehsan Amid, Manfred K. Warmuth, TriMap: Üçüzleri Kullanarak Büyük Ölçekli Boyut Azaltma (2019), https://arxiv.org/abs/1910.00204
[4] Yingfan Wang, Haiyang Huang, Cynthia Rudin, Yaron Shaposhnik, Boyut Azaltma Araçlarının Nasıl Çalıştığını Anlamak: Veri Görselleştirme için t-SNE, UMAP, TriMAP ve PaCMAP'nin Deşifresine Deneysel Bir Yaklaşım (2020), https://arxiv.org/abs/2012.04456
9 Nisan'da yapılan bir iş haberleri duyurusu, Compass Pathways Yatırımcısı Peter Thiel'in "bilgisayar arayüzlerinin zihinsel rahatsızlıkları olan kişilerin tedavisine yardımcı olan" bir cihazdaki yeni hissesini müjdeledi. Thiel'in en yeni satın alması olan Psyber, bir insan beyni ile harici bir cihaz arasında doğrudan iletişimi sağlayan bir beyin bilgisayar arayüzüdür.
Veri Bilimi nedir? Veri bilimi, verilerden anlamlı içgörüler elde etmek için verileri analiz etmeye odaklanan bir çalışma alanıdır. Elde edilen bilgiler iş, sağlık, yaşam tarzı ve insan süreçlerinin her alanında daha iyi kararlar almayı desteklemek için kullanılır.