sklearn svm 调参_支持向量机高斯核调参小结

本文介绍了SVM中RBF核函数的主要超参数,包括惩罚系数C和高斯核参数γ,阐述了它们对模型复杂度的影响。通过一个分类例子展示了如何使用scikit-learn的GridSearchCV进行调参,并给出了调参后的最佳参数组合。此外,还通过可视化展示了不同参数组合的分类效果。
摘要由CSDN通过智能技术生成

在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF一定不比线性核函数差,但是在实际应用中,却面临着几个重要的超参数的调优问题。如果调的不好,可能比线性核函数还要差。所以我们实际应用中,能用线性核函数得到较好效果的都会选择线性核函数。如果线性核不好,我们就需要使用RBF,在享受RBF对非线性数据的良好分类效果前,我们需要对主要的超参数进行选取。本文我们就对scikit-learn中 SVM RBF的调参做一个小结。

1. SVM RBF 主要超参数概述

如果是SVM分类模型,这两个超参数分别是惩罚系数$C$和RBF核函数的系数$\gamma$。当然如果是nu-SVC的话,惩罚系数$C$代替为分类错误率上限nu, 由于惩罚系数$C$和分类错误率上限nu起的作用等价,因此本文只讨论带惩罚系数C的分类SVM。

惩罚系数$C$即我们在之前原理篇里讲到的松弛变量的系数。它在优化函数里主要是平衡模型的复杂度和误分类率这两者之间的关系,可以理解为正则化系数。当$C$比较大时,我们的损失函数也会越大,这意味着我们不愿意放弃比较远的离群点。这样我们会有比较少的支持向量,也就是说支持向量和超平面的模型也会变得越复杂,也容易过拟合。反之,当$C$比较小时,意味我们不想理那些离群点,会选择较多的样本来做支持向量,最终的支持向量和超平面的模型也会简单。scikit-learn中默认值是1。

另一个超参数是RBF核函数的参数$\gamma$。回忆下RBF 核函数$K(x, z) = exp(-\gamma||x-z||^2)\;\;\gamma>0$,$\gamma$主要定义了单个样本对整个分类超平面的影响,当$\gamma$比较小时,单个样本对整个分类超平面的影响距离比较远,容易被选择为支持向量,反之,当$\gamma$比较大时,单个样本对整个分类超平面的影响距离比较近,不容易被选择为支持向量,或者说整个模型的支持向量也会少,模型会变得更复杂。scikit-learn中默认值是$\frac{1}{样本特征数}$

如果把惩罚系数$C$和RBF核函数的系数$\gamma$一起看,当$C$比较大, $\gamma$比较大时,我们会有更少的支持向量,我们的模型会比较复杂,容易过拟合一些。如果$C$比较小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值