【机器学习和深度学习】验证集及K折交叉验证(K-Fold Cross Validation)
·
测试集及K折交叉验证
V1.0
验证集的引入
在模型训练过程中,可能模型已经发生了过拟合,但过拟合的模型参数恰好能够拟合的模型的测试集。此时测试集和训练集的损失可能表现的比较平稳且接近,其难以通过测试集的损失和验证集的损失来观察到模型已经发生了过拟合,在真实场景下,模型可能表现不佳。因此我们需要使用一部分数据来进行测试和验证,除了测试集之外,我们可以引入验证集。
训练集、验证集和测试集的作用
训练集的作用是大家最为熟悉的,训练集是用来训练模型的训练,直接参与模型参数的学习。
验证集通常被用来搜索最优超参数,可以在验证集的数据上使用不同的超参数,并选取最优超参数。验证集因为通常用来验证,因此通常不参与模型参数的更新(这里不是指超参数)。
测试集也是我们熟悉的,通常使用测试集的数据对模型进行验证和评估,并可以以测试结果来评价模型的泛化能力。当模型已经发生了过拟合而恰好能拟合测试集数据时,此时可以引入验证集。
K折交叉验证(K-Fold Cross Validation)
K折交叉验证,将原有的训练集分为 K K K份,仍然会有一部分样本作为测试集。
进行 K K K次训练和验证,每次均使用不同的 1 1 1份样本作为验证集,余下的 K − 1 K-1 K−1份样本作为训练集,因此一共进行 K K K次训练和验证。
K折交叉验证,使用 K K K份样本的每份样本作为验证集时的平均误差来评价模型。
更多推荐
所有评论(0)