2015-11-20 155 views
1

所以我试图对我的训练集执行4倍交叉验证。我将训练数据分为四个部分。我使用三个季度进行培训,四个季度进行验证。我再重复这三次,直到所有方面都有机会成为验证集,至少有一次。4折交叉验证| Caffe

现在训练后,我有四个caffemodels。我在我的验证集上测试模型。每种情况下我都会得到不同的准确度。我应该如何从这里出发?我应该选择最高精度的模型吗?

回答

0

也许这是一个迟到的回复,但在任何情况下...... 简短的回答是,如果四个模型的性能相似且足够好,那么您将对所有可用数据重新训练模型,因为你不想浪费他们中的任何一个。

n-fold交叉验证是一种实用技术,用于在您没有大量数据的情况下获得关于您正在尝试训练的模型的学习和泛化属性的一些见解。你可以在网上找到任何细节,但我建议开源书Introduction to Statistical Learning,第5章。

一般规则说,在你训练你的n个模型之后,你将预测误差(MSE,精度或其他)来获得该数据集上该特定模型的性能(在你的情况下可能是网络架构和学习策略)的总体思路。 主要思想是评估在训练分割中学习的模型,检查它们在验证集上是否具有可接受的性能。如果他们不这样做,那么你的模型可能会过度配合训练数据。如果训练和验证分裂的错误都很高,那么应该重新考虑这些模型,因为它们没有预测能力。

在任何情况下,我也会考虑advice of Yoshua Bengio谁说,深度学习的目的是为了解决这类问题,您通常拥有足够的数据来简单地进行训练/测试分割。在这种情况下,this answer on Stackoverflow可能对您有用。