Scikit Learn 的支持向量分类器是硬边距还是软边距

Ste*_* Oh 2 svm scikit-learn

我想知道下面来自 scikit learn 的支持向量分类器是硬边距还是软边距?

from sklearn import svm
clf = svm.SVC()
Run Code Online (Sandbox Code Playgroud)

ami*_*ola 6

虽然很晚了,但我不同意所提供的答案,原因如下:

  • 硬间隔分类仅在数据可线性分离时才起作用(并且请注意,默认选项SVC()是内核'rbf'而不是线性内核);
  • 硬间隔分类器的原始优化问题具有以下形式:
  • 另一方面,正如您可能从指南中看到的 scikit-learn 中考虑的原始优化问题如下:

该公式(在文献中确定了软边缘分类器的优化问题)使其也适用于非线性可分离数据集,并引入了:

  • zeta_i,它测量允许实例 i​​ 违反边际的程度(从第一个公式到第二个公式的过程中,功能边际可以小于 1);
  • 超参数C,它是对目标函数施加的“惩罚”的一部分,用于允许实例的功能裕度小于 1。

最终,正如您在 sklearn文档中看到的那样,超参数必须严格为正,这强化了提供软间隔分类的C想法。是另一个 SO 参考。SVC()