我对SVM中的命名有些困惑。我正在使用这个库 LibSVM。有许多可以设置的参数。有人知道哪个是松弛变量吗?谢谢
回答:
“松弛变量”在c-svm中是C,在nu-SVM中是nu。这两者在各自的公式中起到相同的作用——控制宽边界与分类错误之间的权衡。对于C,通常以数量级进行测试,比如10^-4, 10^-3, 10^-2,…到1, 5左右。nu是一个介于0和1之间的数字,通常从0.1到0.8,用于控制支持向量与数据点的比例。当nu为0.1时,边界较小,支持向量的数量将是数据点数量的一小部分。当nu为0.8时,边界非常大,大多数点将落在边界内。
其他需要考虑的是你选择的核函数(线性、RBF、Sigmoid、多项式)以及所选核函数的参数。通常需要进行大量实验来找到最佳的参数组合。然而,要注意避免对数据集过拟合。
Burges写了一篇很棒的教程:模式识别的支持向量机教程
但如果你主要只是想知道如何使用它,而不太关心它的工作原理,请阅读 Chih-Wei Hsu, Chih-Chung Chang 和 Chih-Jen Lin(libsvm的作者)写的《支持向量分类实用指南》