我对SVM中的namings感到有点困惑。我正在使用这个库LibSVM。可以设置很多参数。有谁知道这些是松弛变量? THX
答案 0 :(得分:15)
“松弛变量”是c-svm中的C和nu-SVM中的nu。这些都在它们各自的公式中起到相同的作用 - 控制大范围和分类器误差之间的权衡。在C的情况下,人们通常以数量级测试它,例如10 ^ -4,10 ^ -3,10 ^ -2,......到1,5左右。 nu是0到1之间的数字,通常从.1到.8,它控制支持向量与数据点的比率。当nu是.1时,边距很小,支持向量的数量将是数据点数量的一小部分。当nu为.8时,余量非常大,大部分点将落在边际内。
要考虑的其他事项是您选择的内核(线性,RBF,sigmoid,多项式)和所选内核的参数。通常,人们必须进行大量的实验才能找到最佳的参数组合。但是,请注意过度拟合数据集。
Burges写了一篇很棒的教程:A Tutorial on Support Vector Machines for Pattern Recognition
但如果你大多只是想知道如何使用它而不是如何使用它,请阅读"A Practical Guide to Support Vector Classication" by Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin(libsvm的作者)
答案 1 :(得分:1)
首先确定您打算使用哪种类型的SVM:C-SVC,nu-SVC,epsilon-SVR或nu-SVR。在我看来,你需要在大部分时间内改变C和伽玛......其余的通常是固定的..