【问题标题】:What is `eps` in libsvm?libsvm 中的“eps”是什么?
【发布时间】:2016-08-17 22:37:43
【问题描述】:

svm-train 可执行文件有参数e,它允许设置一些epsilon。描述只说

设置终止标准的容差(默认 0.001)

我觉得它的信息量不够大,在互联网上也找不到相关的解释。也许,它是一些众所周知的通用 SVM 参数,但我对通用 SVM 还不够熟悉。

我指的是分类中使用的 epsilon,而不是回归中使用的 epsilon(“在 epsilon-SVR 的损失函数中”)并指定为 libsvm 并带有选项 -p

【问题讨论】:

  • Does this 帮助(是的,它是一个众所周知的通用参数,当您访问资源时,您可能会将其包含在交叉验证过程中以获得良好的值;但是 C 很多更重要)?
  • @sascha ,该页面似乎在谈论不同的 epsilon - “epsilon-SVR 的损失函数中的 epsilon”,指定为 libsvm 并使用 -p 选项并默认为 0.1

标签: machine-learning svm libsvm


【解决方案1】:

使用数值优化求解 SVM。求解器是迭代的,并且可能会永远重复迭代,直到您达到恰好为零的错误 - 找到问题的确切解决方案(由于浮点舍入错误,这永远不会真正发生)。在这种情况下,epsilon 是在我们停止运行求解器迭代之前解决方案需要接近于零的容差。 0.001 通常是一个不错的值。较小的值将需要更长的时间来训练(需要更多的迭代),但不太可能导致较低的错误率,因为解决方案足够接近开始。 0.01 也很常见,这需要更少的时间来训练(更少的迭代),但有时测试数据的错误率更高,而不是更精确的解决方案。

【讨论】:

    猜你喜欢
    • 2013-11-12
    • 2013-11-23
    • 1970-01-01
    • 2014-02-23
    • 2012-04-08
    • 2014-08-22
    • 2012-07-15
    • 2016-04-04
    相关资源
    最近更新 更多