SVM, Overfitting, boyutsallık laneti


37

Veri setim küçük (120 örnek), ancak özelliklerin sayısı büyük (1000-200.000) arasında değişiyor. Özellik alt kümesini seçmek için özellik seçimi yapmama rağmen, yine de uygun olabilir.

İlk sorum şu, eğer SVM, eğer varsa, aşırı yüklenmeyi nasıl ele alıyor?

İkincisi, sınıflandırma durumunda fazladan takma hakkında daha fazla çalıştıkça, az sayıda özelliğe sahip veri kümelerinin bile üst üste gelebileceği sonucuna vardım. Sınıf etiketi ile ilişkilendirilmiş özelliklere sahip değilsek, yine de overfitting gerçekleşir. Bu yüzden, bir sınıf etiketi için doğru özellikleri bulamazsak otomatik sınıflandırmanın ne anlama geldiğini merak ediyorum. Doküman sınıflandırması durumunda, bu, etiketlerle ilgili olan ve çok zaman alan bir sözcük sözlüğünün elle işlenmesi anlamına gelir. Sanırım söylemeye çalıştığım şey, doğru özellikleri seçmeden genelleştirilmiş bir model oluşturmak çok mu zor?

Ayrıca, deneysel sonuçlar, sonuçların çok az / hiç uyuşma göstermediğini göstermezse, anlamsız hale gelir. Bunu ölçmenin bir yolu var mı?

Yanıtlar:


41

Uygulamada, SVM'lerin, nitelik sayısının gözlem sayısından fazla olduğu durumlarda bile, aşırı uyuma karşı dirençli olma eğiliminin nedeni, düzenlileştirme kullanmasıdır. Aşırı uyumdan kaçınmanın anahtarı, normalleştirme parametresinin ( ) dikkatli bir şekilde ayarlanmasında ve doğrusal olmayan SVM'lerde, çekirdeklerin dikkatli seçilmesinde ve çekirdek parametrelerinin ayarlanmasında yatmaktadır.C

SVM, marjına bağlı olan (esas olarak karar sınırından her sınıfa en yakın kalıba olan mesafeye kadar) genelleme hatasına bağlı bir sınırlamanın yaklaşık bir uygulamasıdır, ancak bu nedenle özellik alanının boyutluluğundan bağımsızdır (bu yüzden Verileri çok yüksek boyutlu bir alana haritalamak için çekirdek numarası kullanmak, göründüğü kadar kötü bir fikir değildir). Bu nedenle , ilke olarak, SVM'lerin aşırı uydurmaya karşı oldukça dayanıklı olması gerekir, ancak pratikte bu, ve çekirdek parametrelerinin dikkatli seçimine bağlıdır . Ne yazık ki, aşırı araştırma aynı zamanda ana araştırma alanım olan hiper parametrelerini de ayarlarken oldukça kolay bir şekilde gerçekleşebilir.C

GC Cawley ve NLC Talbot, Hiper parametrelerin Bayesian düzenlenmesi yoluyla model seçiminde aşırı uyumu önleme, Makine Öğrenimi Araştırma Dergisi, cilt 8, sayfa 841-861, Nisan 2007. ( www )

ve

GC Cawley ve NLC Talbot, Model seçiminde aşırı uydurma ve performans değerlendirmesinde sonraki seçim önyargısı, Makine Öğrenimi Araştırma Dergisi, 2010. Research, vol. 11, sayfa 2079-2107, Temmuz 2010. ( www )

Bu makalelerin her ikisi de SVM yerine çekirdek sırt regresyonu kullanmaktadır, ancak aynı problem SVM'lerle de aynı şekilde ortaya çıkmaktadır (aynı sınırlar KRR için de geçerlidir, bu nedenle pratikte aralarında seçim yapmak için fazla bir şey yoktur). Dolayısıyla bir anlamda SVM'ler aşırı uydurma sorununu gerçekten çözmüyor, sorunu sadece model uydurmadan model seçimine kaydırıyorlar.

Öncelikle bir çeşit özellik seçimi yaparak, SVM için hayatı biraz daha kolaylaştırmak bir cazibedir. Bu, genel olarak, SVM'den farklı olarak, özellik seçim algoritmalarının, niteliklerin sayısı arttıkça daha fazla uyuşma sergileme eğiliminde olduğu için işleri daha da kötüleştirir. Bilgilendirici niteliklerin hangileri olduğunu bilmek istemiyorsanız, özellik seçimi adımını atlamak ve verilerin aşırı sığdırılmasını önlemek için sadece düzenlemeyi kullanmak daha iyidir.

Kısacası, 120 gözlem ve niteliklerin bin ile ilgili bir sorun ile (örneğin, sırt regresyon Lars Lasso, esnek ağ gibi veya diğer düzgünleştirilmiş modeli) bir SVM ile hiçbir içsel problem yoktur parametrelerinin uygun ayarlanmış düzenlileştirme sağlanır .


Bilgi Kazançlarına göre sıralama sıralamasının daha fazla kullanılması muhtemel olan özellik seçimi yöntemlerini gösteren herhangi bir makale var mı?
user13420

1
Bildiğim kadarıyla, asıl nokta SVM'nin niteliklerin sayısı nedeniyle aşırı uydurmalara dirençli olduklarını gösteren bazı teorik sonuçlara sahip olduğudur, ancak özellik seçim yöntemleri buna bile sahip değildir. FWIW, Miller tarafından "regresyondaki alt küme seçimi" konulu monografi, öngörü performansının gerekli olması durumunda düzenlileştirme yöntemlerinin kullanılmasını önerir. Özellik seçiminde, düzenlemenin özellik seçiminden daha iyi performans gösterme eğiliminde olduğunu gösteren bazı açık zorluklar olmuştur (bkz. Nipsfsc.ecs.soton.ac.uk ve causality.inf.ethz.ch/challenge.php ).
Dikran Marsupial

Birinci paragrafta belirtildiği gibi, SVM'ler aşırı uydurmaya karşı dirençli olma eğilimindedir , normalleştirme kullandığı içindir (parametre C) , bu nedenle varsayılan olarak svmbu düzenlileştirme parametreleri C'dir ? Ve emin değişkenler bu kontrol kişilerden biriyim C , o demek gevşeklik değişkenleri ?
avokado

10

İkinci ve son sorularla başlayacağım.

Genelleme sorunu açık bir şekilde önemlidir, çünkü makine öğrenmesinin sonuçları genelleştirilemezse, o zaman tamamen yararsızdırlar.

Genelleme sağlama yöntemleri istatistiklerden gelmektedir. Genelde, verilerin gerçekliğe dayanan bazı olasılık dağılımlarından üretildiğini varsayıyoruz. Örneğin, 2000 yılında doğmuş bir erkekseniz, 10'a ulaştığınızda ağırlık, boy / göz renginizin ne kadar olduğuna dair olasılık dağılımı vardır; bu, 2000 yılındaki mevcut gen havuzundan, olası çevresel faktörler vb. Elimizde çok fazla veri var, bu temel dağılımlar hakkında bir şeyler söyleyebiliriz, örneğin yüksek olasılıkla gauss veya multinom olmaları. Eğer dağılımları doğru gösteren, 2010 yılında 10 yaşında bir çocuğun boy, kilo ve göz rengi göz önüne alındığında, çocuğun erkek olma ihtimalinin iyi bir tahminini alabiliriz. Ve olasılık 0 veya 1'e yakınsa, çocukların cinsiyetinin gerçekte ne olduğuna dair iyi bir çekim yapabiliriz.

Daha resmi olarak, genellikle eğer eğitim hatası ise yüksek olasılıklı ( ) ise, aynı dağıtımdan elde edilen bazı verilerdeki hatanın daha az olacağını söylemeye çalışırız . Eğitim setinin büyüklüğü, epsilon ve aşan test hatası olasılığı arasında bilinen bir ilişki vardır . Burada tanıttığım yaklaşım, Muhtemelen Yaklaşık Doğru Öğrenme olarak bilinir ve öğrenme algoritmalarının genelleştirilmesi sorunuyla ilgilenen bilgisayarlı öğrenme teorisinin önemli bir parçasıdır. Aynı zamanda epsilonu azaltabilen ve bu sınırlarda deltayı artırabilen başka faktörler de vardır. hipotez uzayının karmaşıklığı.δ k + ϵ k + ϵkδk+ϵk+ϵ

Şimdi SVM'ye geri dönelim. Çekirdek kullanmazsanız veya sonlu boyutlu boşluklara eşleştiren çekirdekleri kullanıyorsanız, hipotez alanı karmaşıklığının bir ölçüsü olan Vapnik-Chervonenkis boyutu sonludur ve bununla ve yeterli eğitim örnekleriyle yüksek olasılık, test setindeki hatanın eğitim setindeki hatadan çok daha büyük olmayacaktır. Sonsuz boyutlu özellik uzayları ile eşleştirilen çekirdekleri kullanırsanız, o zaman Vapnik-Chervonenkis boyutu da sonsuzdur ve yalnızca eğitim örneklerinin daha da kötüsü, ne olursa olsun iyi genelleme garanti edemez. Neyse ki, bir SVM'nin marjının büyüklüğü genellemenin sağlanması için iyi bir parametre olduğu ortaya çıktı. Büyük kar marjı ve eğitim seti ile, test hatasının antrenman hatasından daha büyük olmayacağını garanti edebilirsiniz.


7

Dikkate almak isteyebileceğiniz en az iki temel üstesinden gelme kaynağı var.

  1. Mevcut eğitim örneklerinden çok fazla çıkarılan bir algoritmadan fazla uyum. Bu, modelin genelleştirme yeteneğinin bir ölçüsü kullanılarak ampirik olarak en iyi şekilde korunur. Çapraz doğrulama böyle popüler bir yöntemdir.

  2. Fazla dağıtım, çünkü temel dağılım örneklendirildi. Genellikle, daha fazla veri toplayamazsanız veya sorunla ilgili etki alanı bilgisini modelinize ekleyemezseniz, bu konuda yapılabilecek çok az şey vardır.

120 örnek ve çok sayıda özellik ile 2'ye düşme olasılığınız çok yüksek ve 1'e de yatkın olabilirsiniz.

Model karmaşıklığının test ve eğitim hataları üzerindeki etkisini dikkatlice gözlemleyerek 1 hakkında bir şey yapabilirsiniz.


Ancak, fazla uydurmadığımızı nasıl tespit ederiz? Modeller çapraz onaylamada oldukça başarılı olursa, gerçekten iyi olduğu için mi yoksa 1 veya 2'den dolayı fazla takma nedeniyle mi yapıyorlar? Ayrıca binlerce özellik sayesinde, her bir özelliği elle analiz etmek zahmetli olacaktır. Aşırı yüklemeyi belirlemek mümkün değilse, herhangi bir çapraz doğrulama sonucuna nasıl güvenebiliriz?
user13420

1
Ek veriler olmadan, örneklenmemiş bir popülasyona karşı aşırı güç alıp almadığınızı bilmek çok zor. Modeli ayarlamak için bir doğrulama seti ve sonra test etmek için ayrı bir test seti kullanarak verileri üç kümeye bölebilirsiniz. Başka bir yaklaşım modelin karmaşıklığını değiştirmek ve eğitim ve test seti doğruluğunun nasıl değiştiğini görmek. Test setindeki bir kaldırma, verilerden bir dereceye kadar modelin aşırı yüklendiğini gösterir.
image_doctor

Tekrarlanan 50/50 görüşme denemelerinin uygulanması, eğitim ve test setlerinin dengeli olup olmadığı konusunda size bazı fikirler verecektir. Muhtemelen olmayacaklar. KNN gibi bazı modeller, eğitim setinde mükemmel bir doğruluk elde edeceğinden, bir bakıma doğal olarak donanıma sahiptir. Ancak yine de test setinde kabul edilebilir bir performans elde edebilirler. Makine öğrenmede olduğu gibi sonuçta, bunların hepsi verilerin kesin özelliklerine bağlıdır.
image_doctor

@ image_doctor "Model karmaşıklığını değiştirme" konusunda ayrıntılı bilgi verebilir misiniz?
Keith Hughitt
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.