2017-10-03 2 views
0

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?

Antwort

1

Das ist keine Einschränkung. Hast du die Dokumentation für den Kurs gelesen? http://dlib.net/dlib/svm/svm_c_linear_dcd_trainer_abstract.h.html#svm_c_linear_dcd_trainer In der Dokumentation von dlib heißt es, Warmstart sei auf eine Klasseneinteilung beschränkt. Die Dokumentation für den svm_c_linear_dcd_trainer erwähnt nicht einmal eine Klassenklassifikation in der Nähe, wie ich sehen kann.

+0

Was ist der "dob"? –

+0

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 ... –

+0

"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. –

Verwandte Themen