C:惩罚系数,即对误差的宽容度。C越高,说明越不能容忍出现误差,容易过拟合;C越小,容易欠拟合。C过大或者是过小,泛化能力都会变差。
gamma是选择径向基函数(RBF)作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma越小,支持向量越多。支持向量的个数影响训练与预测的速度。
C 和 gamma是相互独立的。
RBF函数公式:
![807a6f31b22677c3ea32b795f760c2f6.png](https://i-blog.csdnimg.cn/blog_migrate/fd8c127708e46f5e27bb73288a29e83f.png)
注意sigma和gamma的关系。 gamma会影响每个支持向量对应的高斯作用范围,从而影响泛化性能。如果gamma设太大,
无穷小,则理论上,高斯核的SVM可以拟合任何非线性数据,但容易过拟合)而测试准确率不高的可能,就是通常说的过拟合;而如果设的过小,则会造成平滑效应太大,无法在训练集上得到特别高的准确率,也会影响测试集的准确率,就会发生欠拟合。
关于RBF的核函数SVM可以得到的两个结论:
1、样本数目少于特征维度并不一定会导致过拟合
2、RBF核应该可以得到与线性核相近的效果(按照理论,RBF核可以模拟线性核),可能好于线性核,也可能差于,但是,不应该相差太多。当然,很多问题中,比如维度过高,或者样本海量的情况下,大家更倾向于用线性核,因为效果相当,但是在速度和模型大小方面,线性核会有更好的表现。
参考:
CSDN-专业IT技术社区-登录blog.csdn.net