我正在使用 SVM 进行分类,并且正在尝试确定线性和 RBF 内核的最佳参数。对于线性内核,我使用交叉验证参数选择来确定 C,对于 RBF 内核,我使用网格搜索来确定 C 和 gamma。
我有 20 个(数字)特征和 70 个训练示例,应该分为 7 个类。
我应该使用哪个搜索范围来确定 C 和 gamma 参数的最佳值?
我正在使用 SVM 进行分类,并且正在尝试确定线性和 RBF 内核的最佳参数。对于线性内核,我使用交叉验证参数选择来确定 C,对于 RBF 内核,我使用网格搜索来确定 C 和 gamma。
我有 20 个(数字)特征和 70 个训练示例,应该分为 7 个类。
我应该使用哪个搜索范围来确定 C 和 gamma 参数的最佳值?
查看SVM 分类的实用指南以获取一些提示,尤其是第 5 页。
我们建议使用交叉验证和进行“网格搜索” 。尝试了各种值对,并选择了具有最佳交叉验证精度的值。我们发现尝试指数增长的和序列是识别良好参数的实用方法(例如,)。
请记住首先规范化您的数据,如果可以,请收集更多数据,因为从外观上看,您的问题可能严重不足。
查看Chapelle 和 Zien的这篇论文的第 2.3.2 节。他们有一个很好的启发式方法,可以为RBF 内核和SVM 的选择一个好的搜索范围。我引用
为了确定剩余自由参数的良好值(例如,通过 CV),在正确的范围内进行搜索很重要。因此,我们修复了具有正确数量级的和的默认值。在类问题中,我们使用所有数据点的成对距离的默认值。的默认值的倒数,可以通过 来自核矩阵。
之后,他们使用默认值的倍数(例如 for)作为使用交叉验证的网格搜索中的搜索范围。这对我来说总是很好。
当然,我们@ciri 说,规范化数据等总是一个好主意。