支持向量机的老牌库 libsvm 3.20,算是搞 SVM 入门时绕不开的一套资源。功能比较全,训练、预测、参数优化都有,连 matlab 接口都集成得挺好。如果你想自己调调参数,还能用它自带的 GUI 工具,图形化操作方便不少。

支持向量核函数软间隔这些 SVM 关键概念,在 libsvm 里都能看到实际代码体现。比如调 Cgamma 时用它自带的 Grid Search,就挺省事。

核函数支持得也全,像 RBF线性核多项式核这些全都有,甚至你还可以自定义核函数。对于搞科研或者比赛的同学,这点就实用了。

性能上也还不错,3.20 版本做了不少优化,大数据集时训练速度提升蛮。内存管理也改善了,不容易爆内存,对老机器算比较友好了。

最方便的还是它对 matlab 的支持了,调用方式简单,甚至还有图形界面可用。你平时如果用 matlab 比较多,直接接上就能跑,免去格式转换的烦恼。

应用场景?挺多的:文本分类(比如垃圾邮件识别)、图像识别基因数据、甚至还有金融风控啥的,SVM 都能派上用场。你只要把数据准备好,丢给 libsvm 基本就能跑起来。

如果你是第一次用 SVM,建议先用默认参数跑一遍看看效果,再慢慢调整。哦对了,最新版 3.21 也出了,但 3.20 的资料更多,入门更稳妥。