SVM和交叉验证

时间:2014-03-01 06:42:26

标签: svm cross-validation

问题如下。当我支持向量机训练时,假设我已经使用高斯核对10000个训练点进行了交叉验证,并获得了最佳参数C和\ sigma。现在我有另外40000个新的训练点,因为我不想浪费时间进行交叉验证,我坚持从前10000点获得的原始C和\ sigma,并在这些参数上训练整个50000点。这有什么潜在的重大问题吗?似乎对于C和\ sigma在某个范围内,最终的测试错误不会那么糟糕,因此上述过程似乎没问题。

1 个答案:

答案 0 :(得分:0)

这样的appraoch有一个主要的坑洼。 Csigma都是数据相关。特别是,可以证明,最佳C强烈依赖于训练集的大小。因此,一旦你的训练数据大5倍,即使它没有带来“新”知识 - 你仍然应该找到新的C来获得与以前完全相同的模型。所以,你可以做这样的程序,但要记住,较小的训练集的最佳参数不必对于较大的训练集是最好的(尽管,它们有时仍然是)。

更好地看到图片。如果这个程序完全“好”,那么为什么不适合C更小的数据? 5次?小25倍? Mayone每节课一个单点? 10,000可能看起来“很多”,但这取决于所考虑的问题。在许多现实生活领域中,这只是一个“常规”(生物学)甚至“非常小”(金融)数据集,因此如果您的程序对于此特定问题 ,您将无法确定直到你测试它。