为什么我们在使用多类SVM方法进行图像分类时需要交叉验证?

我刚开始接触图像分类,目前正在使用SVM(支持向量机)方法,通过multisvm函数对四组图像进行分类。我的算法每次都会随机选择训练和测试数据,结果每次的性能都不一样。有人建议我进行交叉验证,但我并不明白为什么需要交叉验证以及它的主要目的是什么。我的实际数据集包括训练矩阵大小为28×40000和测试矩阵大小为17×40000。请问如何对这个数据集进行交叉验证?提前感谢您的帮助。


回答:

交叉验证用于选择模型。样本外错误可以通过验证错误来估计。因此,您希望选择验证错误最小的模型。这里的模型指的是您想要使用的特征,更重要的是SVM中的gammaC参数。经过交叉验证后,您将使用平均验证错误最小的gammaC来训练整个训练数据集。

您可能还需要评估特征和参数的性能,以避免高偏差和高方差。您的模型是否存在欠拟合或过拟合,可以通过样本内错误和验证错误来观察。

理想情况下,通常使用10折交叉验证。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注