SVM的参数选择

Parameter selection of SVM

我有一个数据集,我在 Matlab 中使用 libSVM 进行 classifcation。数据集包含 4 classes.

对于SVM的参数选择我可以做嵌套交叉验证。问题是我最后还需要best参数的值

完成嵌套交叉验证并获得最终准确度后,我想要最佳参数的值。然后我将为每个class(one-vs-all)训练一个支持向量机,使用最佳参数来选择最重要的特征(根据最高权重),即特征重要性图。

我该怎么做?我是否应该不进行嵌套交叉验证而只循环遍历所有参数并进行交叉验证?

其次,如果我使用线性 SVM,那么使用这个权重向量 w 来分配特征的重要性是可行的,但它是否也适用于非线性 SVM(例如 rbf 内核)?

要为您选择的内核找到 "best" 参数,您必须遍历所有参数以执行所谓的 "grid search"。 LIBSVM 不支持内置的网格搜索机制。

关于你的第二个问题,我建议在实际使用 SVM 之前执行特征选择(例如信息增益、互信息......)作为预处理步骤,然后在第二步中采取权重向量 考虑在内(但我不确定这是否适用于 RBF 或 Gaußian Kernels...)。