Frage

Ich benutze libsvm Für die Klassifizierung von Datensätzen mit mehreren Klassen mit einer großen Anzahl von Funktionen/Attributen (ca. 5.800 pro Element). Ich möchte bessere Parameter für C und Gamma auswählen als die Standardeinstellungen, die ich derzeit verwende.

Ich habe bereits versucht, Easy.py zu rennen, aber für die von mir verwendeten Datensätze ist die geschätzte Zeit für immer (lief Easy.py bei 20, 50, 100 und 200 Datenproben und erhielt eine superlineare Regression, die projizierte meine notwendige Laufzeit, um Jahre zu dauern).

Gibt es eine Möglichkeit, schneller zu besseren C- und Gamma -Werten zu gelangen als die Standardeinstellungen? Ich benutze die Java -Bibliotheken, wenn das einen Unterschied macht.

War es hilfreich?

Lösung

Es ist möglich, dies ohne Gittersuche zu erreichen, wie ich glaube easy.py tut.

Schauen Sie sich dieses Papier von Trevor Hastie et al. Der gesamte Regularisierungspfad für die Support -Vektormaschine (PDF). Ein "SVM -Lauf" berechnet den Verlust für alle Werte von "C" in einem Schuss, sodass Sie sehen können, wie es Ihre SVM -Leistung beeinflusst.

Sie haben eine Implementierung dieses Algorithmus, in dem Sie verwenden können R durch die SvmPath Paket.

Ich glaube, der Kern des Algorithmus ist in Forran geschrieben, ist aber in R. eingewickelt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top