【转】sklearn中SVM的一些参数

本文深入解析SVM模型中的关键参数C和gamma的作用及影响。C参数控制错误的宽容度,过高易过拟合,过低则欠拟合。Gamma参数影响数据在新特征空间的分布,其值大小决定支持向量数量,进而影响训练和预测速度。文章还探讨了RBF核函数的幅宽对泛化性能的影响,以及如何通过GridSearch寻找最优参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. https://blog.youkuaiyun.com/lujiandong1/article/details/46386201

    SVM的两个参数 C 和 gamma

               SVM模型有两个非常重要的参数C与gamma。其中 C是惩罚系数,即对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。C越小,容易欠拟合。C过大或过小,泛化能力变差

               gamma是选择RBF函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的个数影响训练与预测的速度。

              此外大家注意RBF公式里面的sigma和gamma的关系如下:

       

            这里面大家需要注意的就是gamma的物理意义,大家提到很多的RBF的幅宽,它会影响每个支持向量对应的高斯的作用范围,从而影响泛化性能。我的理解:如果gamma设的太大,会很小,很小的高斯分布长得又高又瘦, 会造成只会作用于支持向量样本附近,对于未知样本分类效果很差,存在训练准确率可以很高,(如果让无穷小,则理论上,高斯核的SVM可以拟合任何非线性数据,但容易过拟合)而测试准确率不高的可能,就是通常说的过训练;而如果设的过小,则会造成平滑效应太大,无法在训练集上得到特别高的准确率,也会影响测试集的准确率。

    此外,可以明确的两个结论是:
    结论1:样本数目少于特征维度并不一定会导致过拟合,这可以参考余凯老师的这句评论:
    “这不是原因啊,呵呵。用RBF kernel, 系统的dimension实际上不超过样本数,与特征维数没有一个trivial的关系。”

    结论2:RBF核应该可以得到与线性核相近的效果(按照理论,RBF核可以模拟线性核),可能好于线性核,也可能差于,但是,不应该相差太多。
    当然,很多问题中,比如维度过高,或者样本海量的情况下,大家更倾向于用线性核,因为效果相当,但是在速度和模型大小方面,线性核会有更好的表现。

    老师木还有一句评论,可以加深初学者对SVM的理解:
    “须知rbf实际是记忆了若干样例,在sv中各维权重重要性等同。线性核学出的权重是feature weighting作用或特征选择 。”
    以上摘录了:http://blog.sina.com.cn/s/blog_6ae183910101cxbv.html


    Grid Search

    Grid Search是用在Libsvm中的参数搜索方法。很容易理解:就是在C,gamma组成的二维参数矩阵中,依次实验每一对参数的效果。

                                                        


    使用grid Search虽然比较简单,而且看起来很naïve。但是他确实有两个优点:

    1. 可以得到全局最优
    2. (C,gamma)相互独立,便于并行化进行


    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值