Kümeleme sorunları için özellik seçimi


9

Denetimsiz algoritmalar (kümeleme) kullanarak grup birlikte farklı veri kümeleri yapmaya çalışıyorum. Sorun, birçok özelliğim (~ 500) ve az miktarda vaka (200-300) olmasıdır.

Şimdiye kadar sadece verileri eğitim setleri olarak etiketlediğim sınıflandırma problemleri yapıyordum. Orada, özelliklerin önceden seçilmesi için bazı kriterler (yani random.forest.importance veya information.gain) kullandım ve daha sonra ilgili özellikleri bulmak için farklı öğrenciler için sıralı bir ileri seçim kullandım.

Şimdi, gözetimsiz öğrenme durumunda, ön seçim için herhangi bir kritere sahip olmadığımı veya sıralı ileri seçimi kullanamadığımı görüyorum (en azından mlr paketinde değil).

Kümelenme algoritmamın önüne geçmek için az sayıda özellik bulmadan önce temel bileşen analizini yapıp yapamayacağımı merak ediyordum. Yoksa başka bir fikrin var mı?

Teşekkürler

Düzenle:

Tamam, bu yüzden çevrimiçi biraz araştırma yaptıktan sonra sorumu biraz güncelleyebilirim: Her şeyden önce, iki nedenden dolayı, kümeleme algoritmalarından önce PCA kullanımını engelleyen bazı makaleler okudum:

  • PC'ler tüm özelliklerin işlevleridir, bu nedenle sonucu inital veri setiyle ilişkilendirmek zordur ve bu nedenle yorumlanması daha zordur

  • Dahası, gerçekte özelliklerinizin çok küçük bir kısmının kümelemeyi yapmakta yardımcı olduğu sorununa sahipseniz, bu özelliklerin aynı zamanda numuneler arasındaki en büyük varyansı da (PC'lerin yaptığı) açıkladığı söylenmez.

Yani PCA masa dışında ...

Şimdi kümelenme için sıralı bir ileri seçim yapmak için ilk fikre geri döndüm.

Hangi performans ölçüsünü önerirsiniz? (Dunn-Index'i düşündüm) Hangi kümeleme algoritması az çok aynı büyüklükteki kümelere yol açacaktır? (hiyerarşik kümeleme için genellikle tek bir aykırı olan bir küme ve diğerleriyle birlikte bir küme alırım -> bu yüzden bir şekilde aykırı değerlere karşı koruyan bir şeye ihtiyacım olur)

Umarım bana yardımcı olabilirsiniz ...


Rasgele ormanlar denetimsiz problemlerde uygulanabilir. Ve bence hala süreçte bazı bilgilendirici özellikler elde edebilirsiniz.
Amanita Kiki

Yanıtlar:


11

Denetimsiz öğrenme problemlerinde boyut küçültme hakkında paylaşacağım birkaç düşüncem var. Yanıtlamada, ilginizin, yorumlamanın kasıtlı olarak vurgulandığı otomatik, anahtar teslimi, kara kutu ve "düşük dokunma" makine öğrenme yaklaşımının aksine "yüksek dokunuşlu" insan katılımı wrt küme yorumlaması olduğunu varsaydım. . İkincisi olsaydı, neden soruyu soruyorsun? Ayrıca, stratejik B2C pazarlama, B2B teknoloji arenaları ve eğitim politikası (kümelenme öğrencileri ve okulları) dahil olmak üzere yıllar boyunca çok çeşitli iş ortamlarında küme çözümleri çalıştırma konusunda bir ton deneyimim olduğunu unutmayın.

Öncelikle, "farklı veri gruplarını gruplandırma" hakkındaki yorumunuzla ilgili bir sorum var. Bununla ne kastettiğinizi veya yaklaşımı nasıl etkileyebileceğini bilmiyordum ve ayrıntılı olarak düşünmenizi umuyordum.

PCA tabanlı çözümlerin "yorumlanması zor" olduğu yukarıdaki 1 numaralı varsayımınıza meydan okumak istiyorum. Kümelemede bir ön adım olarak bir PCA çalıştırmanın nedenleri , çoğu kümeleme algoritması özellik fazlalığına duyarlı olduğu sürece, sonuçta ortaya çıkan çözümün hijyeni ile ilgilidir. PCA, bu fazlalığı yönetilebilir bir avuç bileşen haline getirir, böylece özellik seçimi ile ilgili not ettiğiniz zorlukları ve zorlukları en aza indirir. Bir PCA'dan çıkan bileşenlerin ayrı ayrı özelliklerin ayrıntı düzeyini ve özgüllüğünü bulanıklaştırdığı doğru olsa da, bu sadece güvendiğiniz bir sorundursonuçları analiz etmede bu bileşenler üzerinde. Başka bir deyişle, hiçbir şekilde yalnızca küme yorumlama bileşenlerini kullanmaya kilitlenmezsiniz. Sadece bu değil, faktör boyutlarının "ne anlama geldiğini" önemsemeniz bile gerekmez. Bunlar, eyleme geçirilebilir bir çözümü kolaylaştıran bir amaç için sadece ara ve (sonuçta) tek kullanımlık araçlardır. Ancak bu noktayı belirtirken, ekipler haftalarca dikkatlice "anlamlı" bir faktör çözümü oluşturabilir, isteyecek ve geçirecekleri için birçok uygulayıcıdan ayrıldım. Bana göre bu, müşteri zaman ve parasının verimsiz bir israfı.

Bu noktada ele alınması gereken bir kayık teknik kaygı olacaktır. Birincisi, PCA algoritmanız ölçeğe göre değişmez değilse (örneğin, OLS vs ML ise), sonuçta ortaya çıkan herhangi bir PCA çözümü bozulacak ve yüksek varyans özelliklerine daha fazla yüklenecektir. Bu durumlarda, bu varyansı düzleştirmek için özelliklerinizin önceden işlenmesi veya dönüştürülmesi gerekir. Burada ortalama standartlaştırma, aralık veya IQR standartlaştırma, ipsatif ölçekleme vb. Gibi çok sayıda olasılık vardır. En iyi, en yorumlanabilir çözümü sunarak bu dönüşümden yararlanın.

Bir küme çözümü oluşturulduktan sonra, yorum en iyi şekilde (deneyimlerime göre) bileşenleri göz ardı ederek ve doğrudan çözümde kullanılmayan ek açıklayıcı bilgilerle birlikte orijinal özelliklerine geri katlanarak motive edilir. Bu noktada, birkaç sezgisel tarama nitel içgörü için en iyi rehberlerdir. Bu, her özellik için ortalamalara veya medyanlara (sayfa satırları), her küme (sütunlar) için kümelerinizi profilleyen bir e-tablo oluşturmak kadar kolay olabilir ve ayrıca toplam örneğiniz için genel ortalamayı temsil eden ek bir sütun . Daha sonra, her bir özellik için küme ortalamalarını büyük ortalamaya göre endeksleyerek (ve 100 ile çarparak), "100" civarında "normal" IQ veya ortalama davranış olduğu sürece IQ puanı gibi bir sezgisel tarama oluşturulur, 120'den büyük dizinler, bir özelliğin bir kümenin davranışı hakkında "doğru" olma olasılığının yüksek olduğunu ve 80 veya daha düşük dizinlerin, bir kümenin "doğru olmayan" özelliklerinin göstergesidir. 120+ ve 80 veya daha az olan bu indeksler, çözümü yönlendirmedeki belirli bir özelliğin önemi için proxy t testleri gibidir. Tabii ki, grup anlamlılık testleri arasında koşabilir ve örnek boyutlarına bağlı olarak, bu hızlı ve kirli başparmak kuralları etrafında değişen cevaplar alırsınız.

Tüm bunlardan sonra, hala bir kümeleme algoritmasına doğrudan girdi olarak PCA'yı kullanmaya karşı olduğunuzu varsayalım, azaltılmış bir özellik grubunun nasıl seçileceğiyle ilgili sorun devam ediyor. PCA burada hala faydalı olabilir çünkü PCA'lar bağımlı bir değişken olmadan bir regresyon yürütmeye benzer. Her bileşendeki en üstteki yükleme özellikleri, küme algoritmasına girişler olabilir.

Çok sayıda özellik ve verilerinizin nispeten küçük örneklem büyüklüğü ile ilgili noktanıza göre, birçok "tam bilgi" çok değişkenli analizde tipik kural, özellik başına en az yaklaşık 10 gözlemdir. Bu soruna geçici bir çözüm bulmak için kullanılabilecek bazı özel yöntemler vardır. Örneğin, kısmi en küçük kareler (PLS) ilk olarak Herman Wold tarafından 1990'da bu kesin sorunla karşı karşıya olan kemometri gibi alanlarda kullanılmak üzere Teorik Ampirizm kitabında geliştirilmiştir . Doğada faktör-analitiktir, ancak boyutları oluşturmak için büyük bir n gerektirmesi çok daha az katıdır. Diğer çözümler arasında, büyük miktarlarda bilgi ile kullanılan rastgele orman benzeri "böl ve fethet" makine öğrenimi yaklaşımları bulunmaktadır. Bu yöntemler bu pdf'de incelenirhttp://www.wisdom.weizmann.ac.il/~harel/papers/Divide%20and%20Conquer.pdf

Ancak, yine de faktör analizi ile hiçbir şey yapmak istemediğinize karar verdiğinizi ve bir çeşit denetimli, "sıralı" seçim sürecini yürütmek için ölü olduğunuzu varsayın. Bana göre en önemli konu, post-hoc performans metriği (Dunn Index) bulmak ve bu yaklaşımı mümkün kılmak için uygun bir vekilin (bağımlı bir değişken) tanımlanması hakkında daha az. Bu karar tamamen sizin kararınızın ve verilerinizdeki KOBİ durumunun bir fonksiyonudur. "En iyi uygulamalar" yoktur, bunun için çok daha az kolay yanıt yoktur ve verilerinizi nasıl tanımladığınız göz önüne alındığında, küçük bir zorluk yoktur.

Bu karar verildikten sonra, aralarından seçim yapabileceğiniz yüzlerce olası değişken seçim çözümü vardır. Değişken seçimi, her istatistikçinin ve erkek kardeşinin bir makale yayınladığı bir konu alanıdır. Tercih ettiğiniz yaklaşım "sıralı ileri seçim" iyi görünüyor.

Algoritmanın bir parçası olarak bir küme çözümüne katlanan denetimli öğrenme modellerinin bulunduğunu belirtmek gerekir. Bunun örnekleri, gizli sınıf modelleri olarak bilinen büyük ve oldukça esnek yaklaşımları içerir. LC modellerinin özü iki aşamalı olmalarıdır: birinci aşamada bir DV tanımlanır ve bir regresyon modeli oluşturulur. İkinci aşamada, modelden kalan çıktıdaki herhangi bir heterojenite - tek bir gizli vektör - gizli "sınıflara" ayrılır. Bu CV tartışmasında LC modellemeye genel bir bakış var ... Gizli sınıf multinomial logit modeli şüphe

Bu yardımcı olur umarım.


Soruma bu kadar kapsamlı bir şekilde cevap vermek için zaman ayırdığınız için teşekkür ederiz. Her şeyden önce kemometriden bahsetmeniz komik çünkü tam olarak üzerinde çalıştığım alan bu. Farklı örneklerin ölçümlerinde kümeler bulmaya çalışıyorum ve özelliklerim bir nmr spektrumunda sinyaller. Bu aynı zamanda PCA'yı bu kadar erken atmayı düşündüğümün ana nedeni, çünkü analizimin amacı kümeleri bir avuç gerçek özellik (sinyal) ile ilişkilendirmek. Sıralı bir seçim kullanarak ölü set değilim, şimdiye kadar kullandığım şey bu. Verdiğiniz bağlantılara bir göz atacağım.
JohnDoe

Kemometri hakkında komik. Wold'un kitabı genel olarak iyi bir okuma. Ne tür "özneler" örnekleri içerir? Ve nmrs görüntüleme nedir?
Mike Hunter

Numuneler sulu bitki özütleridir ve 1H-nmr ​​spektrumlarını alır. Görevim tamamen açıklayıcı. Daha sonra farklı genotipler veya bitkinin kuraklık-stres direnci gibi farklı özellikleri ile ilgili istediğimiz herhangi bir küme bulmam gerekiyor. Doğru metabolit setini bulmak için iyi bir başlangıç ​​noktası bulmak kolay değil. / farklı sorular için farklı özellikler tarafından yapılan farklı kümeler olacağından kümelerin bölünmesine yardımcı olan özellikler.
JohnDoe

Bu nedenle, sıralı yaklaşımın en iyi şekilde çalışabileceğini düşündüm: - verileri kümelemek için bir dizi özellik bulun - sonra bu özellikleri tüm kümeden kaldırın ve baştan başlayın Bu şekilde, daha sonra ilgili olabileceğim birkaç küme kümesi bulmayı umuyorum sorular
JohnDoe

1
Göz önünde bulundurulması gereken bir şey, herhangi bir keşif çalışmasını "doğrulayıcı" küme analizi olarak da adlandırılan önceden belirlenmiş veya tanımlanmış kümeler kümesiyle karşılaştırmaktır. Bunu öneriyorum çünkü sizin ve ekibinizin küme oluşumu hakkında, örneğin bitki "kuraklık-stres-direncinin" bir fonksiyonu olarak bazı güçlü gelen hipotezleri var gibi görünüyor. Keşif çalışmasının üstün bilgiler ve sonuçlar sağlayacağını düşünüyorum. Keşifsel kümeleme verilerinizdeki tüm bilgileri kullanır, ancak "doğrulayıcı" atama kuralları tipik olarak göreli bir avuç özellikten yararlanır
Mike Hunter

1

İhtiyacınız olan tek şey kümeleme kalitesinin bir ölçütüdür. Fikir şu: Tren ve test üzerindeki verileri bölüyorsunuz, tren kısmında kümeleme oluşturuyorsunuz; test kümesinin her bir elemanını (en yakın küme tarafından) kümelemek için bu kümelemeyi kullanın; test setinde ayrı bir kümeleme oluşturun; testteki kümelemenin tahmin edilen kümelemeyle benzerliğini bulun. Bu benzerlik, kümelenme kalitesinin kriteridir. Şimdi, bu benzerliğin nasıl ölçüleceği size kalmış. Bunu aldıktan sonra, bu benzerliği en üst düzeye çıkarmak için özelliklerin alt kümesini seçersiniz.

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.