【问题标题】:Are high values for c or gamma problematic when using an RBF kernel SVM?使用 RBF 内核 SVM 时 c 或 gamma 的高值是否存在问题?
【发布时间】:2014-06-16 22:54:38
【问题描述】:

我正在使用 WEKA/LibSVM 为术语提取系统训练分类器。我的数据不是线性可分的,所以我使用 RBF 内核而不是线性内核。
我遵循guide from Hsu et al. 并迭代了 c 和 gamma 的几个值。最适合对已知术语进行分类的参数(测试和训练材料当然不同)相当高,c=2^10 和 gamma=2^3。
到目前为止,高参数似乎工作正常,但我想知道它们是否会进一步导致任何问题,尤其是在过度拟合方面。我计划通过提取新术语来进行另一次评估,但是因为我需要人工判断,所以成本很高。
即使两个评估结果都是正面的,我的参数还有什么问题吗?我可能需要其他内核类型吗?

非常感谢!

【问题讨论】:

    标签: machine-learning nlp svm


    【解决方案1】:

    一般而言,您必须执行交叉验证以回答参数是否正确或是否会导致过度拟合。

    从“直觉”的角度来看 - 它似乎是高度过度拟合的模型。高 gamma 值意味着您的高斯非常窄(围绕每个点浓缩),再加上高 C 值将导致记住大部分训练集。如果您检查支持向量的数量,如果它是您全部数据的 50%,我不会感到惊讶。其他可能的解释是您没有缩放数据。大多数 ML 方法,尤其是 SVM,都需要对数据进行正确预处理。这尤其意味着您应该规范化(标准化)输入数据,使其或多或少包含在单位球体中。

    【讨论】:

    • 所有数据均已标准化。 10-fold-crossvalidation 7/10 步完成,支持参数。支持向量计数为 30k 中的 4k;我知道我想要尽可能少,但这似乎没问题? - 非常感谢!
    【解决方案2】:

    RBF 似乎是一个合理的选择,所以我会继续使用它。高伽玛值不一定是坏事,这取决于您的数据所在的规模。虽然较高的 C 值会导致过拟合,但它也会受到比例的影响,因此在某些情况下它可能会很好。

    如果您认为您的数据集很好地代表了整个数据,那么您可以使用交叉验证来测试您的参数并放心。

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 2018-03-07
      • 2014-03-15
      • 2014-01-10
      • 2012-09-28
      • 2014-12-07
      • 1970-01-01
      • 2021-10-15
      • 2017-07-17
      相关资源
      最近更新 更多