2009-11-10 9 views
16

Kennen Sie irgendwelche guten C++ svm Bibliotheken da draußen Ich versuchte libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/, aber bis jetzt bin ich nicht verblüfft.Kennen Sie eine gute C++ Support Vector Machine (SVM) Bibliotheken?

Ich habe auch gehört, von SVMLight und TinySVM. Hast du sie ausprobiert? Irgendwelche neuen Spieler?

Danke!

+1

libsvm ist großartig und funktioniert wirklich gut. –

+1

Ja, ich habe es ein wenig mehr verwendet und jetzt kann ich sagen, es funktioniert gut genug für mich, keine Notwendigkeit für etwas Züchter :) – levesque

+0

LibSVM und SVMLight sind gut bekannte reife libs. – mrgloom

Antwort

13
  • SVMTorch (Support-Vektor-Maschinen für eine groß angelegte Regressionsprobleme) implementiert in der torch maschinellen Lernen Bibliothek.
  • mySVM - basierend auf dem Optimierungsalgorithmus von SVM-Light.

Eine umfassende Liste der SVM-Bibliotheken finden Sie here.

7

Ich habe SVMLight zuvor verwendet und festgestellt, dass es sehr stabil und schnell ist. Ich hatte eine gute Erfahrung damit und würde es empfehlen.

Ich denke jedoch, dass es wahrscheinlich weniger Dokumentation über SVMLight als libSVM gibt; nur die Papiere von Thorsten Joachims und die Kommentare im Quellcode. Ich fand die Quelle im allgemeinen nicht zu schwer, aber Sie müssen die Papiere vorher lesen, um den Hintergrund zu verstehen. Es ist auch in reinem C geschrieben, nicht in C++, wenn das für Sie wichtig ist.

Wie bei "neuen Spielern" geht es in der neuen Forschung hauptsächlich darum, die SVM-Optimierungsalgorithmen effizienter zu machen. Zum Beispiel mit stochastischem Gradientenabfall wie in svmsgd und pegasos. Ich habe mir die Implementierungen dieser Algorithmen nicht angeschaut, aber es ist Forschungscode, also würde ich nicht erwarten, dass sie besonders einfach zu befolgen sind, wenn das Ihre Hauptsorge ist.

1

der beste Weg, um loszulegen ist die LIBSVM Führung, die in der Website zu lesen, auch ein guter Ausgang Video-Tutorial, wie LIBSVM zu installieren und tun ur erste trainig/Klassieraufgabe hier: http://www.youtube.com/watch?v=gePWtNAQcK8 viel glück damit, ich beginne gerade auch in diesen tagen, ziemlich gute ergebnisse, die ich bekam, aber immer noch tunen.

2

Es gibt auch dlib, die leise abgeschlossen ist.

Insbesondere gibt es Algorithmen zur Klassifizierung, Regression, Clustering, Sequenzmarkierung, Anomalieerkennung und Feature-Ranking sowie Algorithmen für spezialisierte Berechnungen.

0

shark

SHARK ist eine modulare C++ Bibliothek für die Auslegung und Optimierung von adaptiven Systemen. Es bietet Methoden zur linearen und nichtlinearen Optimierung, insbesondere evolutionäre und gradientenbasierte Algorithmen, kernelbasierte Lernalgorithmen und neuronale Netze sowie verschiedene andere maschinelle Lerntechniken. SHARK dient als Toolbox zur Unterstützung von realen Anwendungen sowie der Forschung in verschiedenen Bereichen der Computational Intelligence und des maschinellen Lernens. Die Quellen sind kompatibel mit den folgenden Plattformen: Windows, Solaris, MacOS X und Linux.