我是图像分类的新手,目前正在研究SVM(支持向量机)方法,通过multisvm函数对四组图像进行分类,我的算法每次训练和测试数据都是随机选择的,每次性能都不同。有人建议进行交叉验证,我不明白为什么我们需要交叉验证,这样做的主要目的是什么? 。我的实际数据集包括训练矩阵大小 28×40000
和测试矩阵大小 17×40000
。如何通过这个数据集进行交叉验证帮助我。提前致谢。
最佳答案
交叉验证用于选择模型。样本外错误可以根据验证错误来估计。因此,您希望选择验证误差最小的模型。这里的模型指的是您想要使用的功能,更重要的是 SVM 中的 gamma
和 C
。交叉验证后,您将使用选定的平均验证误差最小的 gamma
和 C
来训练整个训练数据。
您可能还需要估计特征和参数的性能,以避免高偏差和高方差。您的模型是否存在欠拟合或过拟合可以通过样本内误差和验证误差来观察。
理想情况下10-fold通常用于交叉验证。
关于matlab - 为什么我们需要在图像分类的 multiSVM 方法中进行交叉验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20554831/