与传统的神经网络方法相比,支持向量机具有更出色的性能,它采用结构风险最小化原则,能在经验风险与模型复杂度之间做适当的折中,从而获得更好的推广能力。但是,支持向量机在实际应用中,关于参数选择的问题仍然没有得到很好的解决,如多项式学习机器的阶数问题、径向基机器中的函数宽度,以及Sigmoid机器中函数的宽度和偏移等。统计学习理论目前对这些问题给出了一些建议和解释,但还没有给出实际可行的方案,目前也只有通过实验方法来确定最佳参数。因此,在使用支持向量机进行分类和预测时,如何选择适当的参数就成了一个非常重要的问题。
由SVM基本算法可以看出,支持向量机判决函数的依据是支持向量机和偏移值,而支持向量是由训练集中的一部分组成的,不同的训练集中训练出来的支持向 量和偏移是不一样的,所以SVM分类器性能对训练集数据选取很敏感。为了提高支持向最机的分类性能,通常需要不断调整训练集,并对其进行多次反复的训练,对一个具体分类器找到最佳训练集,即找到分类中用于判别的支持向量,这就是系统的再学习过程。为了选择一个SVM分类器较优的参数,前提是要确定一个好的训练集。比较常用的方法是先用训练集一部分样本训练,通过实验得到SVM对这个训练集的最佳参数,找出对这个训练集中分类错误的样本,这时把这些分类错误的样本再加到训练集中,重新使用新的样本集训练测试SVM,一直到最佳参数。若分类结果不满意再重复上述过程。
对于确定的训练样本集,研究表明支持向量机RBF核具有较为优越的性能,所以实验中通常选择RBF核函数。RBF核函数实验中需要调试的参数是惩罚系数C和径向基宽度σ,关于这两个参数的选择,使用交叉选择的方法可以快速达到最优解。一般来说,C的取值一般为2 9>C>2 1, or的取值一般小于2 8>σ> 2 1,所以可以先把C的值确定为9个,即份(2 1,2 2...,2 9),同样σ的值确定为8个,这样再根据经验选择以上组合,可以快速达到较优的结果。可以先确定其中一个值,然后微调另一个值,得到分类结果,调好一个参数后再固定它,微调另一个参数,直到达到最佳。