2009-11-10 5 views
16

Знаете ли вы какие-либо хорошие C++-библиотеки C++ там Я пробовал libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/, но пока я не ошеломлен.Знаете ли вы какие-либо хорошие библиотеки векторных машин с поддержкой C++?

Я также слышал о SVMLight и TinySVM. Вы их пробовали? Любые новые игроки?

Спасибо!

+1

libsvm отлично работает, и работает очень хорошо. –

+1

Да, я использовал его немного больше, и теперь я могу сказать, что он работает достаточно хорошо для меня, не нужно ничего интересного :) – levesque

+0

LibSVM и SVMLight - известные зрелые библиотеки. – mrgloom

ответ

13
  • SVMTorch (поддержка векторных машин для крупномасштабных задач регрессии), реализованный в torch машины библиотеки обучения.
  • mySVM - на основе алгоритма оптимизации SVM-Light.

Полный список библиотек SVM можно найти here.

7

Я использовал SVMLight раньше и нашел, что он очень стабильный и быстрый. У меня был хороший опыт использования и рекомендовал.

Однако, я думаю, что на SVMLight, вероятно, меньше документации, чем libSVM; только статьи Торстена Йоакима и комментарии в исходном коде. Я не нашел источник слишком тяжелым, чтобы следовать в целом, но вам нужно заранее прочитать документы, чтобы понять предысторию. Он также написан на чистом C, а не на C++, если это имеет значение для вас.

Что касается «новых игроков», новое исследование в основном заключается в том, чтобы алгоритмы оптимизации SVM были более эффективными. Например, используя стохастический градиентный спуск, как в svmsgd и pegasos. Я не смотрел на реализацию этих алгоритмов, но это исследовательский код, поэтому я не ожидал бы, что они будут особенно легко следовать, если это ваша главная проблема.

1

лучший способ, чтобы начать это прочитать руководство libsvm представленную на сайте, также является хорошей отправной видео учебник о том, как установить libsvm и сделать ур первый тренировочный/классификационную задачу можно найти здесь: http://www.youtube.com/watch?v=gePWtNAQcK8 удачи с этим, я также только начинаю это в эти дни, довольно хорошие результаты, которые я получил, но все еще настраивая его.

2

Существует также dlib, который является тихим полным.

В частности, существуют алгоритмы для выполнения классификации, регрессии, кластеризации, маркировки последовательности, обнаружения аномалий и ранжирования функций, а также алгоритмы для выполнения более специализированных вычислений.

0

shark

SHARK представляет собой модульный C++ библиотека для проектирования и оптимизации адаптивных систем. Он предоставляет методы линейной и нелинейной оптимизации, в частности эволюционные и градиентные алгоритмы, алгоритмы обучения на основе ядра и нейронные сети, а также различные другие методы машинного обучения. SHARK служит в качестве инструмента для поддержки приложений реального мира, а также исследований в разных областях вычислительной разведки и машинного обучения. Источники совместимы со следующими платформами: Windows, Solaris, MacOS X и Linux.