2

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

我已经尝试过运行easy.py,但是对于我正在使用的数据集,估计时间几乎是永远的(在20、50、100和200个数据样本上运行easy.py,并得到一个预测的超线性回归我必要的运行时间需要数年)。

有没有办法比默认值更快地获得更好的 C 和 Gamma 值?我正在使用 Java 库,如果这有什么不同的话。

4

1 回答 1

3

正如我所相信的easy.py那样,无需网格搜索即可完成此操作。

查看 Trevor Hastie 等人的这篇论文:支持向量机的整个正则化路径(PDF)。一次“SVM 运行”将一次性计算所有“C”值的损失,因此您可以看到它如何影响您的 SVM 性能。

他们有这个算法的实现,你可以通过svmpath包在R中使用它。

我相信算法的核心是用 fortran 编写的,但用 R 包装。

于 2010-05-06T17:20:26.940 回答