【Method】SVM (六) 调参、复杂度、优缺点
原理
核函数选择
n = 特征数, m = 训练样本数
Linear kernel: 如果 n 相对于 m 很大。例如 n » m, n=10,000, m=10~1000
Gaussian kernel: n较小,m中等。 n=1~1000, m=10~10,000
Linear kernel: n较小,m很大。n=1~1000, m>50,000
调参
gamma 越大,支持向量越少,gamma 越小,支持向量越多。而支持向量的个数影响训练和预测的速度。
C 越高,容易过拟合。C 越小,容易欠拟合。C一般可以选择为:10^t , t=[- 4,4]就是0.0001 到10000。选择的越大,表示对错误例惩罚程度越大,可能会导致模型过拟合
Grid Search
网格搜索实际上就是暴力搜索:首先为想要调参的参数设定一组候选值,然后网格搜索会穷举各种参数组合,根据设定的评分机制找到最好的那一组设置。
from sklearn.model_selection import GridSearchCV
Random Search
优点
- SVM 是一种有坚实理论基础的新颖的小样本学习方法。
- SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。
缺点:
- SVM算法对大规模训练样本难以实施。