当用支持向量机进行分类时,支持向量越多越好还是越少越好?

您所在的位置:网站首页 svm的作用 当用支持向量机进行分类时,支持向量越多越好还是越少越好?

当用支持向量机进行分类时,支持向量越多越好还是越少越好?

2023-03-26 20:54| 来源: 网络整理| 查看: 265

最近工作中恰好遇到类似的问题,发现网上现有的解释并不很全面,就去做了一些小实验。现在正好来分享一下自己的观点。

以下的实验和观点是基于sklearn.svm.SVC [1],kernel是rbf,数据集用的是iris其中两个class的前两个维度。对于其它类型的svm算法或者不同的kernel,如果结论和这个有差别,以后会补充。

先放结论:对于使用rbf kernel的支持向量机(svm/svc)

参数C和gamma都会影响支持向量的数量。参数C越大,支持向量的数量越少。仅凭支持向量的数量,不能很好地说明模型是否存在过拟合(或者欠拟合)的问题。更少的支持向量占用的存储空间更小,预测速度更快。当 C 逐渐增大的时候,判定边界也越来越复杂,过拟合的风险越来越大,同时支持向量(白色边框的点)的数量越来越少。

分析如下:

首先,保持gamma=0.7(rbf kernel coefficient)不变,设定不同的变量 C(penalty parameter on error term), 结果如下图所示。当 C 逐渐增大的时候,判定边界也越来越复杂,过拟合的风险越来越大,同时,我们也发现支持向量(白色边框的点)的数量越来越少。这是因为当 C 增大时,对于误差的惩罚增大,判定边界趋向于将每一个点都正确地分类,导致支持向量机的margin越来越窄,从而使得能成为支持向量的点的数量越来越少。当然,据此我们并不能得出“支持向量越少,支持向量机就越容易过拟合”的结论,因为支持向量的数量还受gamma的影响。

当 gamma 越来越大时,判定边界也越来越复杂,过拟合的风险越来越大,同时,支持向量(白色边框的点)的数量先减少后增多。

接下来, 我们保持 C=1 不变,设定不同的 gamma,结果如下图所示。我们发现,当 gamma 越来越大时,判定边界也越来越复杂,过拟合的风险越来越大,同时,我们也发现支持向量(白色边框的点)的数量先减少后增多。Scikit learn 对于 gamma 的作用有很好的解释 [2],这里我就简单地转述一下:当 gamma 很小时,每一个支持向量的影响范围很大,甚至可以包含整个训练集,从而使得模型受限于每一个数据点,并不能很好的反应数据的复杂性。这样结果就是模型会接近线性(正如前两幅图所示)。当 gamma 很大时,每一个支持向量的影响范围很小,导致 C 并不能很好地实现 regularization 从而无法避免过拟合。

接下来,我们可以从下图更直观的观察 C 和 gamma 对于支持向量数量的影响。结果和前面分析的基本一致:保持 gamma 不变,当 C 增大时,支持向量的数量变小;保持 C 不变,当 gamma 增大时,支持向量的数量先变小再变大。

保持 gamma 不变,当 C 增大时,支持向量的数量变小;保持 C 不变,当 gamma 增大时,支持向量的数量先变小再变大。

那么,支持向量的数量对于支持向量机的表现有什么影响呢?对于上图同样的 C 和 gamma 的gird,我们可以画出下图 validation accuracy [2]。Scikit learn给出的结论是:对于一些适当大小的gamma,当 C 很大时,我们也可以得到相似的支持向量机的表现。所以,通常没有必要限制支持向量的数量,gamma 参数自己就是一个很好的 regularizer。在实际情况里,更少的支持向量占用的存储空间更小,预测速度更快。

对于一些适当大小的gamma,当 C 很大时,我们也可以得到相似的支持向量机的表现。

综上所述,对于使用 rbf kernel 的 svm(svc),我们可以得出的结论是:

参数 C 和 gamma 都会影响支持向量的数量。参数 C 越大,支持向量的数量越少。仅凭支持向量的数量,不能很好地说明模型是否存在过拟合(或者欠拟合)的问题。更少的支持向量占用的存储空间更小,预测速度更快。

Python code:

To be added

Reference:

http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVChttp://scikit-learn.org/stable/auto_examples/svm/plot_rbf_parameters.html


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3