如何在libsvm中找出最佳的C / Gamma参数?

时间:2010-05-03 21:11:28

标签: java machine-learning svm libsvm

我正在使用libsvm对具有大量特征/属性的数据集进行多类分类(每个项目大约5,800个)。我想为C和Gamma选择比我目前使用的默认值更好的参数。

我已经尝试过运行easy.py,但对于我正在使用的数据集,估计的时间已经接近(在20,50,100和200个数据样本中运行easy.py并获得超线性回归,它预测我需要的运行时间需要数年)。

有没有办法更快地达到比默认值更好的C和Gamma值?我正在使用Java库,如果这有任何区别的话。

1 个答案:

答案 0 :(得分:3)

我可以在没有网格搜索的情况下完成此操作,我相信easy.py会这样做。

请看Trevor Hastie等人撰写的这篇论文:The Entire Regularization Path for the Support Vector Machine(PDF)。一个“SVM运行”将一次性计算所有“C”值的损失,因此您可以看到它如何影响您的SVM性能。

他们有此算法的实现,您可以通过R包在svmpath中使用。

我认为算法的核心是用fortran编写的,但是包含在R中。

相关问题