知道任何好的 C++ 支持向量机 (SVM) 库吗?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1710660/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Know any good c++ support vector machine (SVM) libraries?
提问by levesque
Do you know of any good c++ svm libraries out there I tried libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/but so far I'm not flabbergasted.
你知道那里有什么好的 c++ svm 库吗?我试过 libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/但到目前为止我还没有大吃一惊。
I have also heard of SVMLightand TinySVM. Have you tried them ? Any new players ?
我也听说过SVMLight和TinySVM。你试过吗?有新玩家吗?
Thanks !
谢谢 !
采纳答案by rcs
回答by Stompchicken
I've used SVMLight before and found it to be very stable and fast. I had a good experience using it and would recommend it.
我以前使用过 SVMLight,发现它非常稳定和快速。我有很好的使用体验,并会推荐它。
However, I think there is probably less documentation on SVMLight than libSVM; just the papers by Thorsten Joachims and the comments in the source code. I didn't find the source too hard to follow in general, but you need to read the papers beforehand to understand the background. It's also written in pure C, not C++, if that matters to you.
但是,我认为 SVMLight 上的文档可能比 libSVM 少;只是 Thorsten Joachims 的论文和源代码中的注释。一般来说,我没有发现来源太难理解,但是您需要事先阅读论文以了解背景。如果这对您很重要,它也是用纯 C 编写的,而不是用 C++ 编写的。
As for 'new players', the new research is mostly into making the SVM optimisation algorithms more efficient. For example, using stochastic gradient descent as in svmsgdand pegasos. I haven't looked at the implementations of these algorithms, but it's research code so I wouldn't expect that they are particularly easy to follow, if that's your primary concern.
至于“新玩家”,新的研究主要是为了让 SVM 优化算法更高效。例如,使用svmsgd和pegasos 中的随机梯度下降。我没有看过这些算法的实现,但它是研究代码,所以我不希望它们特别容易理解,如果这是你的主要关注点。
回答by s1n
Here's another monster listof SVM packages, libraries and SVM applications.
回答by Denis Arnaud
There is also dlib, which is quiet complete.
还有dlib,它很安静。
In particular, there are algorithms for performing classification, regression, clustering, sequence labeling, anomaly detection, and feature ranking, as well as algorithms for doing more specialized computations.
特别是,有执行分类、回归、聚类、序列标记、异常检测和特征排序的算法,以及执行更专业计算的算法。
回答by ahmed Boudissa
the best way to get started is to read the libsvm guide provided in the website, also, a good starting video tutorial on how to install libsvm, and do ur first trainig/classification task can be found here: http://www.youtube.com/watch?v=gePWtNAQcK8good luck with that, i am also just starting it these days, pretty good results that i got, but still tuning it.
最好的入门方法是阅读网站中提供的 libsvm 指南,还有一个关于如何安装 libsvm 的良好入门视频教程,可以在这里找到你的第一个训练/分类任务:http: //www.youtube .com/watch?v=gePWtNAQcK8祝你好运,这些天我也刚刚开始,我得到了相当不错的结果,但仍在调整它。
回答by Bill Li
SHARK is a modular C++ library for the design and optimization of adaptive systems. It provides methods for linear and nonlinear optimization, in particular evolutionary and gradient-based algorithms, kernel-based learning algorithms and neural networks, and various other machine learning techniques. SHARK serves as a toolbox to support real world applications as well as research in different domains of computational intelligence and machine learning. The sources are compatible with the following platforms: Windows, Solaris, MacOS X, and Linux.
SHARK 是用于自适应系统设计和优化的模块化 C++ 库。它提供了线性和非线性优化的方法,特别是基于进化和梯度的算法、基于核的学习算法和神经网络,以及各种其他机器学习技术。SHARK 作为一个工具箱来支持现实世界的应用程序以及计算智能和机器学习不同领域的研究。这些源代码与以下平台兼容:Windows、Solaris、MacOS X 和 Linux。