4折交叉验证|咖啡

Posted

技术标签:

【中文标题】4折交叉验证|咖啡【英文标题】:4 fold cross validation | Caffe 【发布时间】:2016-02-23 07:40:18 【问题描述】:

所以我尝试在我的训练集上执行 4 折交叉验证。我将我的训练数据分为四个季度。我使用四分之三的时间进行培训,四分之一的时间用于验证。我再重复三遍,直到所有季度都有机会成为验证集,至少一次。

现在经过培训,我有四个 caffemodel。我在我的验证集上测试模型。在每种情况下,我都会得到不同的准确性。我应该如何从这里开始?我应该只选择精度最高的模型吗?

【问题讨论】:

【参考方案1】:

也许这是一个迟到的回复,但无论如何...... 简短的回答是,如果四个模型的性能相似且足够好,那么您可以根据所有可用数据重新训练模型,因为您不想浪费任何一个。

n 折交叉验证是一种实用的技术,可以在您没有大量数据开始时,对您尝试训练的模型的学习和泛化特性进行深入了解。您可以在网络上随处找到详细信息,但我建议您阅读开源书籍 Introduction to Statistical Learning,第 5 章。

一般规则是,在您训练好 n 个模型后,对预测误差(MSE、准确度或其他)进行平均,以大致了解该特定模型的性能(在您的情况下,可能是网络架构和学习策略)在该数据集上。 主要思想是评估在训练拆分中学习的模型,检查它们在验证集上是否具有可接受的性能。如果他们不这样做,那么您的模型可能会过度拟合训练数据。如果训练和验证拆分的错误都很高,那么应该重新考虑模型,因为它们没有预测能力。

无论如何,我也会考虑advice of Yoshua Bengio,他说对于深度学习所针对的问题,您通常有足够的数据来简单地进行训练/测试拆分。在这种情况下,this answer on *** 可能对您有用。

【讨论】:

以上是关于4折交叉验证|咖啡的主要内容,如果未能解决你的问题,请参考以下文章

R语言里怎么做十折交叉验证

交叉验证

k折交叉验证模型选择方法

交叉验证(cross validation)是什么?K折交叉验证(k-fold crossValidation)是什么?

K折交叉验证实现python

如何在 LibSVM 中实现十折交叉验证