SVM, değişken etkileşim ve eğitim verisi uyumu


12

2 genel / daha teorik sorum var.

1) SVM'lerin tahmin modelleri oluştururken değişken etkileşimleri nasıl ele aldığını merak ediyorum. Örneğin, iki f1 ve f2 özelliğim varsa ve hedef f1, f2'ye bağlıysa ve f1 * f2 derse (veya bazı işlev h (f1, f2)) varsa, SVM uyuyor (sadece OOS'a değil, eğitim verilerine bile) sadece f1 ve f2 dahil olmak üzere özelliklerde f1, f2 ve h (f1, f2) eklerken geliştirebilir misiniz? SVM algoritması özellik etkileşimleriyle ilgileniyor mu? SVM'nin daha yüksek boyutlu uzayda hiper uçaklar yaratmaya çalıştığı gibi görünüyor, ancak sormak istemediğinden emin değilim.

2) Eğitim verisine bir SVM takarken, yeterli özellik verildiğinde ve optimal parametreler (kaba kuvvet aramasıyla veya başka bir yöntemle) bulunduğunda, bir SVM her zaman önemsiz bir şekilde eğitim verisine uyacak mı? Bunu doğru ifade edip etmediğimden emin değilim, ancak temel olarak, özelliklerde yeterli varyans / gürültü varsa, bir SVM her zaman% 100 eğitim verilerine uyacak mı? Tersine, SVM eğitim verilerine% 100 uymuyorsa, bu, verilerde yakalanmayan hedef değişkeni etkileyen bazı bilgiler (veya diğer özellikler) olduğu anlamına mı gelir?

Teşekkürler

Küçük açıklama. Özellikle çekirdek SVM'lerinden bahsediyorum

Yanıtlar:


8

HighBandwidth öğesinin önerdiği gibi, doğrusal bir SVM mi yoksa doğrusal olmayan bir tane mi kullandığınıza bağlıdır (çekirdek kullanılmıyorsa bilgiç olma, bir SVM yerine maksimum marj doğrusal sınıflandırıcıdır).

Maksimum kenar boşluğu doğrusal sınıflandırıcısı, diğer tüm doğrusal sınıflandırıcılardan farklı değildir, çünkü veri oluşturma işlemi öznitelikler arasında etkileşimler olduğu anlamına gelirse, bu etkileşim terimlerinin sağlanması performansı artıracaktır. Maksimal marj doğrusal sınıflandırıcısı, sırt regresyonuna benzer, aşırı takılmayı önlemek için tasarlanan ceza süresinde (regülasyon parametresi için uygun değerler verilir) küçük bir fark vardır ve çoğu durumda sırt regresyonu ve maksimum marj sınıflandırıcısı benzer performans verecektir.

O etkileşim terimleri önemli olması muhtemeldir düşünüyorsanız, o zaman polinom çekirdek kullanarak bir SVM özelliği uzaya bunları tanıtabilirsiniz , hangi her eksenin veya daha küçük bir monomiali temsil ettiği bir özellik alanı verecektir , parametresi farklı siparişlerin monomiyallerinin nispi ağırlıklandırmasını etkiler. Dolayısıyla, polinom çekirdeği olan bir SVM, bu etkileşimleri dolaylı olarak içeren nitelik alanına bir polinom modelinin yerleştirilmesine eşdeğerdir. d cK(x,x)=(xx+c)ddc

Yeterince özellikleri göz önüne alındığında, herhangi bir doğrusal sınıflandırıcı olabilir trivially verileri uygun. Bir boyutlu uzayda "genel pozisyonda" IIRC an noktaları bir hiper-düzlem (cf VC boyutu) ile parçalanabilir (herhangi bir şekilde ayrılabilir). Bunu yapmak genellikle aşırı fazla oturmaya neden olur ve bundan kaçınılmalıdır. Maksimal marj sınıflandırmasının amacı, mümkün olan en büyük ayrımı (yanlış sınıflandırma üretmek için herhangi bir eğitim örneğinden en büyük sapmayı gerektirecek) anlamına gelen bir ceza terimi ekleyerek bu aşırı uyumu sınırlamaktır. Bu, çok fazla fazla bağlantıya maruz kalmadan verileri çok yüksek boyutlu bir alana (doğrusal bir modelin çok güçlü olduğu) dönüştürebileceğiniz anlamına gelir.n - 1nn1

Bazı çekirdeklerin "önemsiz" bir sınıflandırmanın genel konumdaki herhangi bir sonlu eğitim örneği için mümkün olduğu garanti edilen sonsuz boyutlu bir özellik alanı yarattığını unutmayın. Örneğin, radyal temel işlev çekirdeği, ; burada özellik alanı sonsuz boyutlu bir hiper kürenin pozitif ortezidir. Bu tür çekirdekler SVM'yi esasen herhangi bir karar sınırını temsil edebilen evrensel bir tahminci yapar .K(x,x)=expγxx2

Ancak bu hikayenin sadece bir parçası. Uygulamada, genellikle kenar boşluğunun ihlal edilmesine izin verilen yumuşak kenarlı bir SVM kullanıyoruz ve marjı maksimuma çıkarmak (yani, kullanılan cezaya benzer bir ceza terimi olan) arasında bir dengeleme parametresi var. sırt regresyonu) ve gevşek değişkenlerin büyüklüğü (eğitim örneğindeki kayba benzer). Daha sonra, regresyon parametresini ayarlayarak, örneğin sırt regresyonu durumunda yaptığımız gibi, çapraz doğrulama hatasını (veya bir-dışarıda bırakma hatasına bağlı olan) en aza indirerek aşırı uydurmaktan kaçınırız.

SVM Yani ederken olabilir trivially eğitim seti sınıflandırmak düzenliliği ve çekirdek parametreleri kötü şekilde seçildiği takdirde, genellikle sadece bunu yapacağız. Herhangi bir çekirdek modeli ile iyi sonuçlar elde etmenin anahtarı, uygun bir çekirdek seçmektir ve daha sonra verilerin aşırı veya eksik oturmasını önlemek için çekirdek ve düzen parametrelerini ayarlamaktır.


Teşekkürler Dikran. Bu son derece ayrıntılı ve yararlı oldu. Sanırım soruların cevaplarını anlıyorum. Hızlı bir takip. SVM'ler için uygun çekirdeği nasıl seçebiliriz? Düzenleme / çekirdek parametrelerine benzer mi (örn. Çapraz doğrulama yoluyla)? Yoksa seçim için teorik bir temel var mı? Eğer rbf çekirdeği SVM'yi evrensel bir tahminci yaparsa, çekirdek seçiminin ayarlanması gereken başka bir parametre olduğunu tahmin ederim ama emin değilim. Muhtemelen anlayabileceğiniz gibi, bu konuda oldukça yeniyim.
tomas

Bir çekirdek seçmek, genellikle sınıflandırıcıya problemin uzman bilgisine sahip olmanın iyi bir yoludur, örneğin el yazısı bir karakter tanıma sistemi için, muhtemelen küçük dönüşlere ve görüntünün çevirilerine değişmeyen bir çekirdek kullanmak istersiniz. Çekirdek otomatik olarak seçilmesi, çapraz doğrulama (bunu yapacağım şey) veya bir bırakma hatası hatası (SVM'ler için verimli bir şekilde gerçekleştirilebilir) ile gerçekleştirilebilir. Ancak, veri kümesi küçükse, çapraz doğrulama yoluyla bir çekirdek seçmek, çapraz doğrulama hatasının aşırı takılması nedeniyle zor olabilir.
Dikran Marsupial

Birçok uygulama için, doğrusal veya RBF çekirdekleri iyi varsayılan seçimlerdir ve daha geniş bir çekirdek yelpazesini (sorunun uzman bilgisi olmadan) keşfetmekle elde etmek için genellikle nispeten az şey vardır.
Dikran Marsupial

1

Yanıtlar doğrusal SVM veya çekirdek SVM kullanıp kullanmadığınıza bağlıdır. Doğrusal SVM ile, yalnızca verdiğiniz özellikleri kullanırsınız ve etkileşimleri hesaba katmaz. Kernel SVM ile, seçtiğiniz çekirdeğe bağlı olarak temelde birçok farklı özellik kullanıyorsunuz. Ayırıcı bir varsa, yani , özellikleridir, o zaman egzersiz verilerinin tam olarak sağlayabilirsiniz. Genellikle özellikleri belirtmezsiniz, ancak gibi özelliklerle ilgili bir çekirdeği . Kernel Hilbert uzaylarını yeniden üretmeye bakın.sign(i=1Kβi(x)β0)βi,i{1,2,...K}KK(x1,x2)=i=1Kβi(x1)βi(x2)

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.