机器学习(Machine Learning)与 深度学习(Deep Learning)的相关研究中,经常会将数据集(dataset)划分为训练集(training set)跟测试集(testing set)这两个子集,训练集用以建立模型(model),测试集则用来评估该模型对未知样本进行预测时的精确度,正规的说法是模型的泛化能力(generalization ability)。
但是有时候我们的数据点少,训练集和测试集就会很少,因此模型结果可能会有很大波动。也就是说,训练集和测试集的划分方式可能会对模型产生很大影响,这就无法对模型进行可靠评估。
在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集随机分为k个小数据集,每次将其中一个小数据集作为测试集,剩下k-1个小数据集作为训练集进行训练,这就是K-折交叉验证
注意:当你把原始数据的训练集和测试集都划分好了之后,做K折交叉验证需要在原来的训练集上做,得出相关的结论,再在测试集上看结果。
下面上图让大家直观了解下: