我经常看到人们谈论5x2交叉验证是嵌套交叉验证的特例。
我假设第一个数字(在这里:5)是指内环的折叠数,第二个数字(在这里:2)是指外环的折叠数?那么,这与“传统”模型选择和评估方法有何不同?我所说的“传统”
- 将数据集拆分为单独的训练(例如80%)和测试集
- 在训练集上使用k倍交叉验证(例如k = 10)进行超参数调整和模型选择
- 使用测试集评估所选模型的泛化性能
如果k = 2,则测试集和训练集的大小相等,那么5x2是否不完全相同?
1
您是对的,在这种情况下,它是相同的,只是它在外部循环中使用50/50分割而不是80/20分割。通常,它可以更好地估计泛化性能,因此应优先考虑,尤其是在样本量相对较小的情况下。根据我的经验,即使对于嵌套的简历,性能估计也有很大差异。通常,最好多次执行嵌套CV,以获得对泛化性能的良好估计。
—
乔治
通常,我通常不执行5x2嵌套CV,而是执行(k-1)xk,其中k = 5或10。在样本较少的情况下,我会增加k的较小值而不是增加折叠数。
—
乔治
我认为您的想法是倒退而不是完全错误的,但是被接受的答案可能与我将要参考的来源不同。他在Raschka撰写的《 Python Machine Learning》中提到:“嵌套交叉验证的特殊类型也称为5x2交叉验证”。有一个包含的图形,其中他显示2表示用于超参数调整的内部循环,而5表示用于无偏模型性能估计的外部循环。您可以在方案3下找到图形的彩色副本:sebastianraschka.com/faq/docs/evaluate-a-model.html
—
奥斯丁,