按照传统做法,我使用 k 折交叉验证来选择和优化我的神经网络分类器的超参数。当需要存储最终模型以供未来预测时,我发现使用先前 k 倍 cv 迭代的权重在后续迭代中播种模型的初始权重有助于提高准确性(似乎很明显)。我可以使用最终迭代中的模型对看不见的数据进行未来预测。
- 这种方法会导致过度拟合吗?
(请注意,我在此过程中使用了所有可用数据,并且我没有任何保留数据用于验证。)
按照传统做法,我使用 k 折交叉验证来选择和优化我的神经网络分类器的超参数。当需要存储最终模型以供未来预测时,我发现使用先前 k 倍 cv 迭代的权重在后续迭代中播种模型的初始权重有助于提高准确性(似乎很明显)。我可以使用最终迭代中的模型对看不见的数据进行未来预测。
(请注意,我在此过程中使用了所有可用数据,并且我没有任何保留数据用于验证。)
直接回答您的问题:估计模型在以前用于拟合的数据上的性能会高估性能。
当您的数据集“小”时,您将面临关于应该将多少数据用于训练和测试集的偏差方差困境:
太多的训练数据,你最终得到的测试样本很少,你的性能估计有很大的差异。
测试数据过多,您的训练样本不能很好地代表您尝试建模/定位的人群,因此您的平均性能将远低于可以达到的水平。
K-fold CV 是评估某些程序性能的折衷方案。一旦您确定了某个模型或超参数,在进入生产阶段时,您可以:
选择采用您训练过的 k 个模型之一,可能使用“一个标准变化经验法则”。
重新训练你的所有数据,你可以期望得到的模型至少和你估计的一样好。
使用所有 k 个模型组成一个集成,您可以期望得到的模型至少与您估计的一样好。