使用训练阶段使用的完全相同的数据集进行交叉验证是否好?

Is it good to do Cross Validation with the exact same dataset that is used in training phase?

我正在使用 Weka API 来测试一些算法的性能。如果我想按如下方式划分数据集:

对于验证阶段,我应该对 10% 的新鲜数据使用交叉验证方法吗?还是对已经训练过的 70% 的数据应用交叉验证更好?为什么?

它实际上是非常具体的问题,但总的来说 - 它取决于数据集的大小。如果你有大数据集,那么即使是一个子样本也具有代表性,因此你可以将所有内容一次拆分为 train/valid/test 并且只是 运行 一个典型的优化和测试例程。另一方面,如果你有相当小的数据集(~1000 个样本),那么实际上测试和验证都需要 CV(或其他技术,如 err 0.632)。这完全是关于获得的误差估计的统计显着性。如果数据很小——您需要生成多个实验 (CV) 以获得合理的估计量;如果您有 100,000 个样本,那么即使是 10% 也足以用作有效的误差估计量。