scikit lernen svc coef0 parameter range
Frage ich mich, wie wichtig die coef0
parameter für SVCs unter der Polynom-und sigmoid Kernel. Wie ich es verstehe, es ist die intercept-Begriff, nur eine Konstante als bei der linearen regression, um den offset der Funktion von null. Aber meines Wissens, die SVM (scikit verwendet libsvm) finden sollten Sie diesen Wert.
Was ist eine gute Allgemeine Auswahl über testen (gibt es eine?). Zum Beispiel in der Regel mit C
eine sichere Wahl ist 10^-5 bis 10^5, geht bis in exponentiellen Schritten.
Aber für coef0
, der Wert scheint mir sehr von Daten abhängig und ich bin mir nicht sicher, wie Sie Sie zu automatisieren Auswahl guter Bereiche für jede grid-Suche, die auf jeden Datensatz. Alle Zeiger?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, sigmoid-Funktion ist nur selten die kernel. In der Tat, für fast keine Werte der Parameter es ist bekannt, zu induzieren, um die gültigen kernel (in der Mercer Sinne).
Zweite, coef0 ist nicht ein intercept-Begriff, es ist ein parameter der kernel-Projektion, die verwendet werden können, zu überwinden eine der wichtigsten Probleme mit dem polynomial-kernel. In der Regel, nur mit coef0=0 sollte in Ordnung sein, aber polynomial-kernel hat ein Problem mit p->inf, es mehr und mehr trennt paar Punkte, für die
<x,y>
ist kleiner als 1 und<a,b>
mit größeren Wert. es ist, weil die Befugnisse der Werte kleiner als eins näher und näher an 0, während der gleiche Strom der Wert größer als eins wächst bis unendlich. Sie können coef0 "skalieren" Ihre Daten, so gibt es keine solche Unterscheidung - Sie können hinzufügen1-min <x,y>
, so werden keine Werte kleiner als 1 . Wenn Sie wirklich das Gefühl die Notwendigkeit einer Optimierung dieser parameter, ich würde vorschlagen, die Suche in den Bereich von [min(1-min , 0),max(<x,y>
)], wobei max wird berechnet durch alle die Ausbildung.