当对神经网络使用“K-Fold Cross Validtion”时,我们是否:
- 随机选择并保存网络的初始权重(我们称之为)
- 将数据拆分为等块
- 训练模型块,验证剩下的块('第块)
- 获取验证错误并将权重恢复为
- 转移 按 1 并从 3 重复。
- 平均化验证错误,以更好地了解网络将如何使用这些数据进行泛化。
- 恢复到 最后一次,并使用整个数据集训练网络
问题一:
我意识到 7 是可能的,因为我们非常了解网络在第 6 步的帮助下将如何泛化。 - 这个假设是否正确?
问题2:
正在恢复到初始状态 必要性,否则我们会过拟合?(像我们在第 4 步和第 7 步中所做的那样还原。)
问题3,最重要的:
假设我们已经完成了第 7 步,并将使用整个数据训练模型。到目前为止,我们不打算在完成后对其进行验证。在那种情况下,我们如何知道在第 7 步期间何时停止训练模型?
当然,我们可以使用与交叉验证期间相同数量的 epoch 进行训练。但是我们怎么能确定交叉验证首先是用适当数量的 epoch 训练的呢?
请注意 - 在第 3、4、5 步中,我们只有 'th 块来评估训练与验证损失。 'th 块非常小,所以在实际的交叉验证过程中,不清楚何时提前停止......更糟糕的是,在 Leave-One-Out(也称为 All- But-One),其中 K 仅由单个训练示例构成