Który zakres wyszukiwania do określania optymalnych parametrów C i gamma SVM?

32

Używam SVM do klasyfikacji i próbuję określić optymalne parametry dla jądra liniowego i RBF. W przypadku jądra liniowego używam sprawdzania krzyżowego wyboru parametrów w celu określenia C, a dla jądra RBF używam wyszukiwania siatki w celu określenia C i gamma.

Mam 20 (numerycznych) funkcji i 70 przykładów szkoleniowych, które należy podzielić na 7 klas.

Którego zakresu wyszukiwania należy użyć do określenia optymalnych wartości parametrów C i gamma?

Kywia
źródło

Odpowiedzi:

31

Sprawdź Praktyczny przewodnik po klasyfikacji SVM dla niektórych wskaźników, szczególnie na stronie 5.

Zalecamy „wyszukiwanie siatki” na C i γ przy użyciu weryfikacji krzyżowej. Wypróbowuje się różne pary wartości (C,γ) i wybiera się tę o najlepszej dokładności walidacji krzyżowej. Odkryliśmy, że wypróbowanie wykładniczo rosnących sekwencji C i γ jest praktyczną metodą identyfikacji dobrych parametrów (na przykład ).C=25,23,,215;γ=215,213,,23

Pamiętaj, aby najpierw znormalizować swoje dane, a jeśli możesz, zbierz więcej danych, ponieważ na podstawie ich wyglądu problem może być mocno nieokreślony.

Ciri
źródło
Czy testy rówieśnicze powinny być wykonywane ręcznie? nie ma biblioteki, aby to osiągnąć?
x-rw
11

Sprawdź rozdział 2.3.2 tego artykułu autorstwa Chapelle i Ziena. Mają dobrą heurystykę, aby wybrać dobry zakres wyszukiwania dla jądra RBF i C dla SVM. CytujęσC

Aby określić dobre wartości pozostałych wolnych parametrów (np. Według CV), ważne jest wyszukiwanie we właściwej skali. Dlatego naprawiamy wartości domyślne dla i σ, które mają właściwy rząd wielkości. W danej c -class problemu używamy 1 / c kwantylem odległościach parami D' p í j wszystkich danych punktów jako domyślny dla Ď . Domyślną wartością dla C są odwrotności wariancji empirycznej s 2 w przestrzeni cech, którą można obliczyć s 2 = 1Cσc1/cDijρσCs2 zmacierzyKjądran×n.s2=1niKii1n2i,jKijn×nK

Następnie używają wielokrotności (np dla k { - 2 , . . . , 2 } ) wartości domyślnej jako zakres wyszukiwania w siatce-wyszukiwać za pomocą sprawdzianu krzyżowego. To zawsze działało dla mnie bardzo dobrze.2kk{2,...,2}

Oczywiście, my @ciri powiedziałem, normalizacja danych itp. Jest zawsze dobrym pomysłem.

fabee
źródło
Myślę, że istnieje kilka równych receptur jądra rbf. Jeden z gamma, a drugi z sigma, tj. Gamma = 1/2 sigma ^ 2. Czy gamma w powyższej heurystyce odpowiada gamma, sigma lub sigma ^ 2? Znalazłem inne opisy tej samej heurystyki, które dotyczą gamma.
maszyny
Jeśli sprawdzisz połączony papier, będzie to 12σ2
fabee
@fabee Czy testy równorzędne powinny być wykonywane ręcznie? nie ma biblioteki, aby to osiągnąć?
x-rw