Welcher Suchbereich zur Bestimmung der SVM-optimalen C- und Gamma-Parameter?

32

Ich verwende SVM zur Klassifizierung und versuche, die optimalen Parameter für lineare und RBF-Kernel zu ermitteln. Für den linearen Kernel verwende ich eine kreuzvalidierte Parameterauswahl, um C zu bestimmen, und für den RBF-Kernel verwende ich eine Gittersuche, um C und Gamma zu bestimmen.

Ich habe 20 (numerische) Funktionen und 70 Trainingsbeispiele, die in 7 Klassen eingeteilt werden sollten.

Welchen Suchbereich soll ich zur Ermittlung der optimalen Werte für die C- und Gamma-Parameter verwenden?

Kywia
quelle

Antworten:

31

Schauen Sie sich einen praktischen Leitfaden für SVM Klassifizierung für einige Hinweise, insbesondere Seite 5.

Wir empfehlen eine "Gittersuche" für und γ mittels Kreuzvalidierung. Es werden verschiedene Paare von ( C , γ ) -Werten ausprobiert, und es wird derjenige mit der besten Kreuzvalidierungsgenauigkeit ausgewählt. Wir haben herausgefunden, dass die Suche nach exponentiell wachsenden Sequenzen von C und γ eine praktische Methode ist, um gute Parameter zu identifizieren (z. B. C = 2 - 5 , 2 - 3 , ... , 2 15 ; γ = 2 - 15 , 2 - 13 ,Cγ(C,γ)Cγ ).C=2-5,2-3,,215;γ=2-15,2-13,,23

Denken Sie daran, zuerst Ihre Daten zu normalisieren, und wenn Sie können, sammeln Sie mehr Daten, da Ihr Problem anscheinend stark unterbestimmt ist.

ciri
quelle
Sollte ein Peer-Test manuell durchgeführt werden? gibt es keine bibliothek um das zu erreichen?
x-rw
11

Lesen Sie Abschnitt 2.3.2 dieses Papiers von Chapelle und Zien. Sie haben eine schöne Heuristik, um einen guten Suchbereich für des RBF-Kernels und C für die SVM auszuwählen . Ich zitiereσC

Um gute Werte für die verbleibenden freien Parameter zu ermitteln (z. B. durch CV), ist es wichtig, auf der richtigen Skala zu suchen. Wir legen daher Standardwerte für und σ fest , die die richtige Größenordnung haben. In einem c- Klassen-Problem verwenden wir das 1 / c- Quantil der paarweisen Abstände D ρ i j aller Datenpunkte als Standard für σ . Die Voreinstellung für C ist die Umkehrung der empirischen Varianz s 2 im Merkmalsraum, die durch s 2 = 1 berechnet werden kannCσc1/cDichjρσCs2 aus einemn×nKernmatrixK.s2=1nichKichich-1n2ich,jKichjn×nK

Danach sie ein Vielfaches (zB für k { - 2 , . . . , 2 } ) der Standardwert als Suchbereich in einer Gittersuche Kreuzvalidierung verwendet. Das hat bei mir immer sehr gut geklappt.2kk{-2,...,2}

Natürlich haben wir @ciri gesagt, das Normalisieren der Daten usw. ist immer eine gute Idee.

Fabee
quelle
Ich denke, es gibt mehrere gleiche Rbf-Kernel-Formulierungen. Eine mit Gamma und eine mit Sigma, dh Gamma = 1/2 Sigma ^ 2. Entspricht das Gamma in der obigen Heuristik Gamma, Sigma oder Sigma ^ 2? Ich habe andere Beschreibungen der gleichen Heurik gefunden, die für Gamma sind.
Maschinen
12σ2
@fabee Sollte der Peer-Test manuell durchgeführt werden? gibt es keine bibliothek um das zu erreichen?
x-rw