Ich verwende dlib
für ein Programm, das medizinische Bilder mit SVM klassifiziert. Da die Bilder groß sind (viele Features, sagen wir 10000 bis 100000) und ich einen linearen Kernel benutze, klingt es so, als wäre die svm_c_linear_dcd_trainer
eine gute Klasse. Ein weiterer Grund, warum ich die Klasse mag, ist, dass sie "Warmstart" unterstützt, also wenn eine einzelne Beobachtung oft zur Probe hinzugefügt/subtrahiert wird (wie in LOOCV), die für lange Vektoren effizient ist.ist die "Warmstart" -Option von dlib dcd Trainer nur für 1-Klassen-Klassifizierung?
Aber das einzige Beispiel von svm_c_linear_dcd_trainer
verwendet one_class-Klassifizierung. Die Dokumentation schlägt vor, dass die Option force_last_weight_to_1
, die den Warmstart implementiert, nur für die 1-Klassen-Klassifizierung ist.
Stimmt das, d. H. Ist diese Warmstartoption für die binäre Klassifizierung nicht verfügbar? In diesem Fall wäre eine andere Implementierung schneller?
Was ist der "dob"? –
Danke für Ihre Antwort! In der Dokumentation sagt es nicht wirklich, wie man einen Warmstart macht? Ich fand die Verbindung mit der Option "force-to-1" im Beispielprogramm und die Kommentare dort dachten, dass es für 1-Klassen-Klassifizierer war ... –
"Aber die empiric_kernel_map beiseite zu legen, der wichtigste Schritt beim Drehen eines Lineare SVM in eine Einklassen-SVM ist die folgende: Wir fügen einen -1-Wert an das Ende jedes Merkmalsvektors an und weisen dann den Trainer an, das Gewicht für dieses Merkmal auf 1 zu setzen. –