我们如何决定特定数据集需要使用哪个内核?是否需要遵循任何标准?还有选择 C 和 gamma 值的标准是什么?
如果这个问题看起来很傻,请原谅我。
谢谢你。
我们如何决定特定数据集需要使用哪个内核?是否需要遵循任何标准?还有选择 C 和 gamma 值的标准是什么?
如果这个问题看起来很傻,请原谅我。
谢谢你。
在不知道数据几何结构的情况下,通常通过反复试验来确定内核。径向基函数 (RBF) 内核是一个很好的开始选择,因为大多数数据不是线性可分的。幸运的是,训练 SVM 速度很快,因此暴力破解内核搜索并不是一个糟糕的方法。
为了选择 C 和 gamma 值,我们通常使用网格搜索:
图中的每个单元格都代表一个 SVM 模型,该模型在给定相应的 C 和 gamma 参数的情况下根据您的数据进行训练。颜色代表右侧刻度所描绘的精度。请注意,我们的尺度是对数的,因此我们能够搜索广泛的解决方案空间,同时只训练 169 个模型。
从这个例子中,我们可以预测最佳 (C,gamma) 值组合将在周围的区域中或者
我们可以通过“放大”到验证准确度最高的区域来进一步细化我们的 C 和 gamma 参数。换句话说,我们可以以更精细的粒度和由感兴趣区域确定的边界重复网格搜索,直到找到最佳的 C/gamma 组合。
具有最小测试或CV误差(或最大准确度)。