Forum: PC-Programmierung [Matlab] SVMTRAIN macht nur Mist


von Karl O. (knorke)


Lesenswert?

Hi,

ich hatte einen eigenen SVM algorithmus geschrieben, mit dem ich meine 
Daten (krank ja/nein gegen diagnostische Parameter) leidlich 
klassifizieren kann. Komme auf 34% error bei 50% Chance-Level. Jetzt 
gibt es im neuen Matlab ja eine eingebaute SVM-Funktion für die Dummen. 
svmtrain und svmclassify. Komischerweise ist die Performance aber 
totaler Mist. Das Trainingsset wird zu 100% gefittet (wie bei meinem 
auch) aber im Testset hab ich wieder 50% Fehler. Zufall halt. Nehme ich 
statt dem Standardkernel (linear) den Gauss-Kernel, bekomme ich nur noch 
positive Resultate, also ebenfalls 50% Fehler, aber nicht mehr zufällig.
Hat jemand Erfahrung damit? Hab schon versucht noch vorhe zu 
normalisieren, bringt nix. Und aufgrund der hohen Dimensionalität (450) 
kann man auch nix plotten... Die Beispiele von Matlab funktionieren 
jedenfalls.

von Arc N. (arc)


Lesenswert?

Karl Otto schrieb:
> Hab schon versucht noch vorhe zu
> normalisieren, bringt nix. Und aufgrund der hohen Dimensionalität (450)
> kann man auch nix plotten... Die Beispiele von Matlab funktionieren
> jedenfalls.

Regularisierungsparameter "durchprobiert"?

Unter Umständen könnte auch eine PCA vor der SVM was bringen.
Im ML-Kurs (Coursera/Stanford) gab's noch die Empfehlungen:
n = Anzahl der Features, m = Anzahl der Trainingsbeispiele
n >= m -> Logistische Regression oder SVM ohne Kernel.
n = "klein", m = "mittel" -> SVM mit Gauß
n = "klein", m = "groß" -> Features hinzufügen/erzeugen, dann 
logistische Regression oder SVM ohne Kernel.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.