4

使用带有支持向量机的 RBF 内核时有两个参数:C 和 γ。事先不知道哪个 C 和 γ 最适合一个问题;因此,必须进行某种模型选择(参数搜索)。目标是识别好的(C;γ),以便分类器可以准确地预测未知数据(即测试数据)。

weka.classifiers.meta.GridSearch是用于调整一对参数的元分类器。然而,似乎需要很长时间才能完成(当数据集相当大时)。为了缩短完成这项任务所需的时间,您建议做什么?

根据支持向量机的用户指南

C:软边距常数。较小的 C 值允许忽略靠近边界的点,并增加边距。

γ> 0 是控制高斯宽度的参数

4

1 回答 1

3

Hastie 等人的SVMPath探索了 C 的整个正则化路径,并且只需要与训练单个 SVM 模型大致相同的计算成本。从他们的论文中:

我们的 R 函数 SvmPath 在 pentium 4、2Ghz linux 机器上以 1.44(0.02) 秒计算混合示例中的所有 632 个步骤(n+ = n− = 100,径向内核,γ = 1);svm 函数(使用优化的代码 libsvm,来自 R 库 e1071)需要 9.28(0.06)秒来计算沿路径 10 个点的解。因此,我们的程序计算整个路径所花费的时间比 libsvm 计算典型的单一解决方案所花费的时间多 50%。

他们在 R 中发布了该算法的 GPLed 实现,您可以在此处从 CRAN下载

使用 SVMPath 应该可以让您快速找到任何给定 γ 的良好 C 值。但是,您仍然需要针对不同的 γ 值进行单独的训练。但是,这应该比为每对 C:γ 值单独运行要快得多。

于 2010-03-10T22:05:50.140 回答