2009-11-10 7 views
16

¿Conoces alguna buena biblioteca de C++ svm por ahí Intenté libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/ pero hasta ahora no estoy atónito.¿Conoce alguna buena biblioteca de máquinas de vectores de soporte de C++ (SVM)?

También he oído hablar de SVMLight y TinySVM. ¿Has probado? ¿Algún jugador nuevo?

Gracias!

+1

libsvm es genial, sin embargo, y funciona muy bien. –

+1

Sí, lo he usado un poco más y ahora puedo decir que funciona lo suficientemente bien para mí, sin necesidad de nada más elegante :) – levesque

+0

LibSVM y SVMLight son bien conocidas libs maduras. – mrgloom

Respuesta

13
  • SVMTorch (Support Vector Machines para problemas de regresión a gran escala) implementado en la biblioteca de aprendizaje torch máquina.
  • mySVM - basado en el algoritmo de optimización de SVM-Light.

Se puede encontrar una lista completa de las bibliotecas de SVM here.

7

He usado SVMLight anteriormente y he encontrado que es muy estable y rápido. Tuve una buena experiencia al usarlo y lo recomendaría.

Sin embargo, creo que hay probablemente menos documentación en SVMLight que libSVM; solo los documentos de Thorsten Joachims y los comentarios en el código fuente. No encontré la fuente demasiado difícil de seguir en general, pero es necesario leer los documentos de antemano para entender el fondo. También está escrito en C puro, no en C++, si eso te importa.

En cuanto a los "nuevos jugadores", la nueva investigación se centra principalmente en hacer que los algoritmos de optimización de SVM sean más eficientes. Por ejemplo, usando un descenso de gradiente estocástico como en svmsgd y pegasos. No he visto las implementaciones de estos algoritmos, pero es un código de investigación, por lo que no esperaría que sean particularmente fáciles de seguir, si esa es su principal preocupación.

1

la mejor manera de empezar es leer la guía libsvm proporcionada en el sitio web, también, una buena partida de vídeo tutorial sobre cómo instalar libsvm, y hacer ur tarea primera trainig/clasificación se puede encontrar aquí: http://www.youtube.com/watch?v=gePWtNAQcK8 buena suerte con eso, también estoy empezando en estos días, obtuve resultados bastante buenos, pero todavía estoy afinando.

2

También hay dlib, que es silencioso completo.

En particular, existen algoritmos para realizar clasificaciones, regresiones, clustering, etiquetado de secuencias, detección de anomalías y clasificación de características, así como algoritmos para realizar cálculos más especializados.

0

shark

tiburón es una biblioteca modular C++ para el diseño y optimización de sistemas adaptativos. Proporciona métodos para optimización lineal y no lineal, en particular algoritmos evolutivos y basados ​​en gradiente, algoritmos de aprendizaje basados ​​en kernel y redes neuronales, y varias otras técnicas de aprendizaje automático. SHARK sirve como una caja de herramientas para soportar aplicaciones del mundo real, así como para la investigación en diferentes dominios de inteligencia computacional y aprendizaje automático. Las fuentes son compatibles con las siguientes plataformas: Windows, Solaris, MacOS X y Linux.

Cuestiones relacionadas