【问题标题】:Selection of training data for SVMSVM 训练数据的选择
【发布时间】:2015-06-24 19:54:57
【问题描述】:

我知道类似的问题已经在这里提出过几次,但我还有一点不清楚。

我有 1098 张图像要分类。作为一般规则(根据我的阅读),数据的拆分是

80/20 - 训练/测试

80% 的训练数据

80/20 或 90/10 用于 20 倍或 10 倍交叉验证。

现在我面临的问题是数据的原始 80/20 拆分是随机完成的。因此,如果我将数据的随机抽样(训练/测试用例)重复一百次并执行交叉验证,我发现最佳 SVM 参数正在发生变化。

所以基本上,我对如何拆分数据感到困惑,当我随机拆分时,我不会在每个样本上得到可重复的结果。我该怎么办?

我正在使用带有 RBF 内核的 libsvm。对数据进行 30 次采样的示例给了我以下信息:

文本的格式不正确,因此我附上了一个指向包含该信息的文本文件的链接。 括号中的值为[C gamma]。

http://goo.gl/jd0DNT

我如何选择最佳训练集以及如何选择最佳参数...有没有智能的方法?

【问题讨论】:

    标签: machine-learning libsvm


    【解决方案1】:

    随机函数的类似再现性问题的一般解决方案是

    • 执行一次随机函数并永久保留结果
    • 使用相同的种子使随机函数本身可重现

    无论如何,我认为您在第一次拆分时试图超越交叉验证。

    【讨论】:

    • 感谢您的指点...但是我不理解您所说的“在第一次拆分时超越交叉验证”的意思。您的意思是我应该使用完整的数据,而不进行 80/20(训练/测试)拆分,只进行交叉验证,然后最终训练?
    • 是的。第一次 80/20 拆分的预期收益是什么?可能是一些验证。但是在内部 10 倍验证中已经进行了类似的验证。外边的 20% 也因训练而丢失,这通常是一种浪费,只有当你有足够多的样本时你才能负担得起。
    • 我明白你在说什么。在那种情况下,分类器报告的分类率将是最佳交叉验证率,我正确吗?
    • 对于 k-fold,您可以获得 k 个费率。通常它们通过平均来组合。
    • 事实上是的,交叉验证是 k-folds 的平均值。谢谢。
    猜你喜欢
    • 2015-09-26
    • 2016-08-09
    • 2015-08-14
    • 2014-11-03
    • 2019-07-12
    • 2014-05-18
    • 2015-05-04
    • 2015-05-04
    • 2015-07-25
    相关资源
    最近更新 更多