gpt4 book ai didi

python - Scikit-Learn的SVM类中的nu参数是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 22:25:04 29 4
gpt4 key购买 nike

我按照 http://scikit-learn.org/stable/auto_examples/svm/plot_oneclass.html#example-svm-plot-oneclass-py 中显示的示例进行操作,其中一类 SVM 用于异常检测。现在,这可能是 scikit-learn 独有的符号,但我找不到关于如何使用赋予 OneClassSVM 构造函数的参数 nu 的解释。

http://scikit-learn.org/stable/modules/svm.html#nusvc ,据说参数 nu 是参数 C 的重新参数化(这是我熟悉的正则化参数) - 但没有说明如何执行重新参数化。

非常感谢公式和直觉。

谢谢!

最佳答案

C的问题和nu的引入

参数C的问题是:

  1. 它可以取任何正值
  2. 它没有直接的解释。

因此很难正确选择,必须通过交叉验证或直接实验来找到合适的值。

作为回应 Schölkopf 等人。重新构造 SVM 以采用新的正则化参数 nu。这个参数是:

  1. 介于 0 和 1 之间
  2. 有直接的解释

nu的解读

参数 nu 是边际误差分数的上限,也是支持向量相对于训练样本总数的分数的下限。例如,如果您将其设置为 0.05,则可以保证最多 5% 的训练示例被错误分类(尽管代价很小),并且至少 5% 的训练示例是支持向量。

C 和 nu 的关系

C 和 nu 之间的关系由以下公式控制:

nu = A+B/C

A 和 B 是常数,不幸的是并不那么容易计算。

结论

关键信息是 C 和 nu SVM 在分类能力方面是等效的。与 C 相比,nu 的正则化更容易解释,但 nu SVM 通常更难优化,并且运行时的扩展性不如 C 变体随输入样本数量的增加。

更多细节(包括 A 和 B 的公式)可以在这里找到:Chang CC, Lin CJ - "Training nu-support vector classifiers: theory and algorithms"

关于python - Scikit-Learn的SVM类中的nu参数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230955/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com