svm模型的建立分为下面几个步骤:
选定训练集——数据预处理(归一化)——训练——考察分类准确率——预测(测试集)
有一个关键性步骤是选择相关参数(主要是惩罚参数c和核函数参数g)
K-CV方法找最佳参数:原始数据均分为K组,每个子集做验证集,其余K-1组作为训练集,得到K个模型。用K个模型最终验证集的分类准确率平均数作为此K-CV分类器的性能指标。
[bestacc,bestc,bestg]=SVMcgForClass(train_label,train,cmin,cmax,gmin,gmax,v,cstep,gstep,accstep)
通过上面的函数确定最佳c与最佳g后,进行SVM网络训练
cmd=['-c',num2str(bestc),'-g',num2str(bestg)];
model=svmtrain(train_wine_labels,train_wine,cmd);
[predict_label,accuracy]=svmpredict(test_wine_labels,test_wine,model);