matlab - 为什么我们需要在图像分类的 multiSVM 方法中进行交叉验证?

标签 matlab machine-learning classification svm cross-validation

我是图像分类的新手,目前正在研究SVM(支持向量机)方法,通过multisvm函数对四组图像进行分类,我的算法每次训练和测试数据都是随机选择的,每次性能都不同。有人建议进行交叉验证,我不明白为什么我们需要交叉验证,这样做的主要目的是什么? 。我的实际数据集包括训练矩阵大小 28×40000 和测试矩阵大小 17×40000。如何通过这个数据集进行交叉验证帮助我。提前致谢。

最佳答案

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

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

理想情况下10-fold通常用于交叉验证。

关于matlab - 为什么我们需要在图像分类的 multiSVM 方法中进行交叉验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20554831/

相关文章:

python-3.x - 没有收到检测到的汽车上的盒子

algorithm - 最先进的分类算法

matlab - 能否将此代码进一步矢量化以消除循环?

c - 如何在C中实现Z系数?

Python强化学习——元组观察空间

machine-learning - 情感分析/分类任务中二进制与 tfidf Ngram 特征的比较?

audio - 用神经网络找到千分之一的 gem ?还有什么吗

matlab - 查找视频中的帧数

matlab - 使单击 MATLAB 绘图标记绘制子图

python - 使用 Lab 时,transforms.Normalize() 介于 0 和 1 之间