Ich habe 12 positive Trainingssätze (Krebszellen, die mit Medikamenten mit jeweils 12 verschiedenen Wirkmechanismen behandelt wurden). Für jeden dieser positiven Trainingssätze möchte ich eine Support-Vektor-Maschine trainieren, um sie von einem negativen Satz gleicher Größe zu unterscheiden, der aus dem Experiment entnommen wurde. Jeder Satz hat zwischen 1000 und 6000 Zellen, und es gibt 476 Merkmale (Bildmerkmale) jeder Zelle, die jeweils linear auf [0, 1] skaliert sind.
Ich benutze LIBSVM und den Gaußschen RGB-Kernel. Mit der fünffachen Kreuzvalidierung habe ich eine Rastersuche nach log₂ C ∈ [-5, 15] und log₂ ɣ ∈ [-15, 3] durchgeführt. Die Ergebnisse sind wie folgt:
Ich war enttäuscht, dass es keinen einzigen Parametersatz gibt, der für alle 12 Klassifizierungsprobleme eine hohe Genauigkeit bietet. Ich war auch überrascht, dass die Gitter im Allgemeinen keinen hochgenauen Bereich aufweisen, der von niedrigeren Genauigkeiten umgeben ist. Bedeutet dies nur, dass ich den Suchparameterraum erweitern muss, oder ist die Rastersuche ein Hinweis darauf, dass etwas anderes nicht stimmt?
Antworten:
Die optimalen Werte für die Hyperparameter sind für verschiedene Lernaufgaben unterschiedlich. Sie müssen sie für jedes Problem separat einstellen.
Der Grund, warum Sie kein einziges Optimum erhalten, liegt darin, dass sowohl der Kernel-Parameter als auch der Regularisierungsparameter die Komplexität des Modells steuern. Wenn C klein ist, erhalten Sie ein glattes Modell. Wenn der Kernel mit breit ist, erhalten Sie ein glattes Modell (da die Basisfunktionen nicht sehr lokal sind). Dies bedeutet, dass unterschiedliche Kombinationen von C und der Kernelbreite zu ähnlich komplexen Modellen mit ähnlicher Leistung führen (weshalb Sie in vielen Ihrer Diagramme das Diagonalmerkmal erhalten).
Das Optimum hängt auch von der jeweiligen Stichprobe des Trainingssatzes ab. Es ist möglich, den Kreuzvalidierungsfehler zu stark anzupassen. Wenn Sie also Pech haben, kann die Auswahl der Hyperparameter durch Kreuzvalidierung die Leistung tatsächlich verschlechtern, wenn Sie Pech haben. Siehe Cawley und Talbot für eine Diskussion darüber.
Die Tatsache, dass es ein breites Werteplateau für die Hyperparameter gibt, bei denen Sie ähnlich gute Werte erhalten, ist tatsächlich ein gutes Merkmal von Support-Vektor-Maschinen, da dies darauf hindeutet, dass sie bei der Modellauswahl nicht übermäßig anfällig für Überanpassungen sind. Wenn Sie einen scharfen Peak bei den optimalen Werten hätten, wäre dies eine schlechte Sache, da der Peak mit einem endlichen Datensatz schwer zu finden wäre, der einen unzuverlässigen Hinweis darauf liefert, wo sich dieser Peak tatsächlich befindet.
quelle