SVM optimal C ve gama parametrelerini belirlemek için hangi arama aralığı?


32

Sınıflandırma için SVM kullanıyorum ve doğrusal ve RBF çekirdekleri için en uygun parametreleri belirlemeye çalışıyorum. Doğrusal çekirdek için C'yi belirlemek için çapraz doğrulanmış parametre seçimini, RBF çekirdeği için ise C ve gama belirlemek için ızgara aramasını kullanın.

20 (sayısal) özellik ve 7 sınıfa ayrılması gereken 70 eğitim örneğim var.

C ve gama parametreleri için en uygun değerleri belirlemek için hangi arama aralığını kullanmalıyım?

Yanıtlar:


31

Check out SVM Sınıflandırma için pratik bir rehber bazı işaretçiler, özellikle sayfa 5 için.

Çapraz doğrulama kullanarak ve üzerinde "grid arama" yapmanızı öneririz . Çeşitli çift değerleri denenir ve en iyi çapraz doğrulama doğruluğuna sahip olan seçilir. Üstel bir şekilde büyüyen ve dizilerinin iyi parametreleri tanımlamak için pratik bir yöntem olduğunu gördük (örneğin, ).Cγ(C,γ)CγC=25,23,,215;γ=215,213,,23

Öncelikle verilerinizi normalleştirmeyi unutmayın; eğer yapabilirseniz, görünümünden dolayı daha fazla veri toplayın, ancak probleminiz çok az belirlenebilir.


Akran testi manuel olarak yapılmalı mı? Bunu elde etmek için bir kütüphane yok mu?
x-rw

11

Bu makalenin 2.3.2 bölümünü Chapelle ve Zien tarafından inceleyin. SVM için RBF çekirdeğinin sigma'sı ve için iyi bir arama aralığı seçmek için güzel bir buluşsal var . Alıntı yaparımσC

Kalan serbest parametrelerin iyi değerlerini belirlemek için (örneğin CV), doğru ölçekte arama yapmak önemlidir. Bu nedenle , doğru büyüklük sırasına sahip olan ve için varsayılan değerleri düzeltiriz . Bir sınıfı problemde , tüm veri noktalarının ikili uzaklıkları varsayılan olarak . için varsayılan , ile hesaplanabilen, özellik uzayındaki ampirik varyansının tersidir. bir gelen çekirdek matris .Cσc1/cDijρσCs2s2=1niKii1n2i,jKijn×nK

Daha sonra, (örneğin, katları kullanımı için ) bir arama aralığı olarak varsayılan değer enine doğrulamayı ızgara-arayın. Bu benim için her zaman çok iyi çalıştı.2kk{2,...,2}

Tabii ki, biz ciri dedi, verileri normalleştirmek vs. her zaman iyi bir fikirdir.


Birkaç eşit rbf çekirdeği formülasyonu olduğunu düşünüyorum. Biri gama ve diğeri sigma ile, yani gama = 1 / 2sigma ^ 2. Yukarıdaki sezgisel taramadaki gama gama, sigma veya sigma ^ 2 ile aynı mı? Gamma için olan aynı heurstik için başka açıklamalar da buldum.
makinalar

Bağlantılı kağıdı kontrol ederseniz,12σ2
fabee

@fabee Akran testi manuel olarak yapılmalı mı? Bunu elde etmek için bir kütüphane yok mu?
x-rw
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.