硬边距支持向量机的Sklearn内置函数

2022-04-07 00:00:00 python scikit-learn svm

问题描述

我知道软边距支持向量机有一个内置函数,如下所示。

from sklearn.svm import SVC
clf = SVC(C=1, kernel = 'linear')
clf.fit(X, y)
但对于硬间隔支持向量机,我们需要C=0,对吗?但当我让C=0时,代码报告错误ValueError: C <= 0


解决方案

SCRICKIT-LEARN中没有硬边距支持向量机,因为它不是很有用的模型。从数值上讲,只需设置C=1e-10就可以非常接近它,但这可能会导致收敛问题,因为在对偶公式中,支持向量机C是拉格朗日乘子的上界。

相关文章