İkili sınıflandırma için değişken seçim prosedürü


29

Ne tercih ettiğiniz değişken / özellik seçimi çok daha fazla değişken olduğunda öğrenme kümesindeki gözlemler daha / ikili sınıflandırma için özellik? Buradaki amaç, sınıflandırma hatasını en iyi azaltan özellik seçim prosedürünün ne olduğunu tartışmaktır.

Biz yapabilirsiniz gösterimler düzeltmek tutarlılık için: için , let olmak gözlemlerin öğrenme seti grubundan . Yani öğrenme setinin büyüklüğüdür. Biz set özelliklerin sayısı (özellik alanı boyutunu yani) olmak. Let göstermektedirler koordinatı inci .i{0,1}{x1i,,xnii}in0+n1=npx[i]ixRp

Lütfen detayları veremiyorsanız tam referansları verin.

EDIT (sürekli güncellenen): Aşağıdaki cevaplarda önerilen prosedürler

Bu topluluk wiki olduğu için daha fazla tartışma ve güncelleme olabilir.

Bir sözüm var: belirli bir anlamda, değişkenlerin sıralanmasına izin vermeyen ancak değişkenlerin seçilmesine izin vermeyen bir prosedür uygularsınız (özellik sayısının nasıl seçileceği konusunda oldukça kaçınılmazsınız, sanırım hepiniz çapraz doğrulamayı mı kullanıyorsunuz?) bu yönde cevaplar? (bu topluluk wiki olduğu için, değişken sayısını nasıl seçeceğiniz hakkında bilgi eklemek için cevap yazmanıza gerek yok mu? Burada bu yönde bir soru açıkladım: Doğrulamayı çok yüksek boyutta çaprazlama (sayısını seçmek için değişkenlerin çok yüksek sınıflandırmada kullanılması) )


Bir soru mu yoksa havuz mu? İkincisi ise, topluluk wiki olmalıdır. İlki, ulaşmak istediğin şey hakkında daha fazla ayrıntı ver. Örneğin, tümüyle alakalı mı yoksa en az optimal seçim mi? Ne kadar var? Sınıflandırma sorunu ne kadar zor?

havuz ... birçoğu 1000 özellik veya daha fazla ve 100'den az gözlem anlamına gelir.
robin girard

Yanıtlar:


18

Çok popüler bir yaklaşım, log-olabilirliği ve L1-norm ("lasso"), L2-norm ("ridge") 'den oluşan bir ceza süresi toplamını maksimize ettiği, cezalandırılmış lojistik regresyondur. ("elastik") veya değişken gruplarıyla ilgili bir ceza ("grup kement"). Bu yaklaşımın bazı avantajları vardır:

  1. Güçlü teorik özelliklere sahiptir, örneğin, bu makaleyi Candes & Plan'da görün ve sıkıştırılmış algılamaya yakın bağlantılar;
  2. Bu örn erişilebilir Fuarlarımıza sahiptir İstatistiksel Öğrenme Elements Friedman-Hastie-Tibshirani (online) tarafından;
  3. Modellere uygun hazır bir yazılımı vardır. R çok hızlı ve oldukça büyük veri kümeleriyle iyi çalışan glmnet paketine sahip. Python, L1 ve L2 cezalı lojistik regresyon içeren bir scikit-learn ;
  4. Görüntü tanıma, sinyal işleme, biyometri ve finans konularındaki birçok uygulama makalesinde gösterildiği gibi pratikte çok iyi çalışır.

10

Leo Breiman ve Adele Cutleer'den Random Forests'i çeşitli nedenlerle hafifçe tercih ediyorum :

  • dengesiz sınıf örnekleminin yanı sıra kategorik ve sürekli prediktörlerle başa çıkmayı sağlar;
  • bir topluluk / gömülü yöntem olarak, çapraz doğrulama gömülüdür ve bir genelleme hatasını tahmin etmeyi sağlar;
  • ayarlama parametrelerine nispeten duyarsızdır (bir ağaç yetiştirmek için seçilen değişkenlerin yüzdesi, yapılı ağaçların sayısı);
  • değişken öneme sahip özgün bir ölçü sağlar ve değişkenler arasındaki karmaşık etkileşimleri ortaya çıkarabilir (bu sonuçların okunması zor olabilir).

Bazı yazarlar cezalandırılmış SVM veya Gradient Arttırıcı Makinelerin yanı sıra performans gösterdiğini iddia etti (son nokta için bakınız örneğin Cutler ve ark., 2009).

Ben önermek böylece onun uygulamalar veya avantajların tam bir kapsama, konu kapalı olabilir İstatistiksel Öğrenme Öğeleri HASTIE ark. (bölüm 15) ve Sayes ve ark. (2007) daha fazla okuma için.

Son fakat en az değil, randomForest paketi ile R'de güzel bir uygulaması var . Diğer R paketleri ayrıca parti veya şapka gibi onu da genişletir veya kullanır .

Referanslar:

Cutler, A., Cutler, DR ve Stevens, JR (2009). Ağaç Tabanlı Yöntemler, Kanser Araştırmalarında Yüksek Boyutlu Veri Analizinde , Li, X. ve Xu, R. (ed.), S. 83-101, Springer.

Saeys, Y., Inza, I. ve Larrañaga, P. (2007). Biyoinformatikte özellik seçim tekniklerinin gözden geçirilmesi. Biyoinformatik , 23 (19) : 2507-2517.


7

Metropolis taraması / MCMC

  • Bir başlangıç ​​için rastgele birkaç özellik seçin, sadece bunlara sınıflayıcı ekleyin ve hatayı alın.
  • Bu çalışma kümesinde rasgele bir değişiklik yapın - bir özelliği kaldırın, başka birini rasgele ekleyin veya bir özelliği şu anda kullanılmayan bir özellikle değiştirin.
  • Yeni sınıflandırıcıyı eğitin ve hatasını alın; dEfarkı, yeni setteki hatayı eksi önceki setteki hatayı saklayın .
  • Olasılık ile min(1;exp(-beta*dE))bu değişikliği kabul edin, aksi halde reddedin ve başka bir rastgele değişiklik deneyin.
  • Uzun süre tekrarlayın ve nihayet küresel olarak en küçük hataya ulaşan çalışma setini geri getirin.

Daha akıllı bir betaparametre kontrolü ile genişletebilirsiniz . Daha basit bir yol, betadalgalanmaları azaltmak ve algoritmayı en aza indirgemek için zamanla arttırırken (fiziksel analojide sıcaklığı düşürürken) benzetilmiş tavlama kullanmaktır . Daha zor kopya değişimi kullanmaktır .


5

Eğer sadece genelleme performansı ile ilgileniyorsanız, herhangi bir özellik seçimi yapmamak ve bunun yerine regülasyonu kullanmaktan daha iyisin (ör. Ridge regresyon). Makine öğrenme topluluğunda özellik seçimi konusunda bazı açık zorluklar ve özellik seçiminden ziyade normalleştirmeye dayanan yöntemler, en azından daha iyi olmasa da, genellikle en azından aynı şekilde gerçekleştirir.


3

Açgözlü ileri seçim.

Bu yöntemin adımları:

  • Tren ve validasyon ayarınızın olduğundan emin olun
  • Aşağıdakileri tekrarlayın
    • Henüz seçilmemiş her bir özelliğe ve daha önce seçilen tüm özelliklere sahip bir sınıflandırıcı eğitin
    • Sonuç düzelirse, en iyi performans özelliğini ekleyin, işlemi durdurun

Sınıflandırıcınızı nasıl eğitirsiniz? Muhtemelen bu, eğitim setinde yapılır. Bir Destek vektörü Makinesi (SVM) ise, egzersiz sırasında denenecek birkaç parametre vardır. Her biri doğrulama (test) ayarına karşı test edildi mi? Yoksa k kat çapraz doğrulama kullanıyor musunuz? Performansınızı kontrol etmek için belirlenen doğrulama (test) 'i kaç kez kullanıyorsunuz - muhtemelen doğrudur. Pedantik olduğum için özür dilerim, ancak bu çok az tanımlanmış bir cevap ve aşırı uyuşmazlık riski.
Thylacoleo

@Thylacoleo Bu çok kaba bir temel ve açgözlü bir yöntemdir. Genelde validasyonunuzu, setler üzerinde aynı şekilde tutarsınız, ancak ne istersen sorun değil.
Peter Smit

2

Geriye doğru eleme.

Tam setle başlayın, ardından sınıflandırıcıyı kalan özellikler üzerinde yinelemeli olarak eğitin ve sınıflandırıcı hatası hızla arttığında / kabul edilemez hale geldiğinde durdurun.

Her özelliği yinelemeli olarak kaldırarak ve hata artışını kontrol edip, sınıflandırıcıdan uyarlarsa (Rastgele Orman durumunda olduğu gibi) kontrol etmek bile önem kazanabilir.


2
Ancak soru, gözlemlerden daha fazla değişken olduğunu söylüyor. Bu yüzden tam setle başlamak mümkün değil.
Rob Hyndman

Sorun ne?

2
Gözlemlerden daha fazla değişken olan bir modele uyamazsınız. Parametre tahmini için yeterli serbestlik derecesi yoktur.
Rob Hyndman

1
Fisher'in F hesaplamada, siz F hesaplamak (n - k - p) / (k - 1) * ...ile ngözlem sayısı, ksınıfları (burada 2) sayısı ve pdeğişkenlerin sayısı. n - 2 - p < 0ne zaman n < p + 2(burada durum böyle) yol açar F < 0. Bu bir problem olmaz mıydı?
Matthieu

3
Düzenli ya da tamamen Bayes regresyonu, başlı başına tüm yordayıcılarla birlikte benzersiz bir çözümün elde edilmesine izin verirdi - şüphesiz, bazı diğer ML teknikleri için de geçerlidir.
Scortchi
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.