对象检测的训练/测试拆分百分比 - 当前建议是什么?



使用 Tensorflow 对象检测 API,当前关于标记示例的训练/测试拆分百分比的建议/最佳实践是什么?我看到了很多相互矛盾的信息,从 70/30 到 95/5。任何最近的现实世界经验都值得赞赏。

传统建议是~70-75%的训练和其余的测试数据。最近的文章确实暗示了不同的分裂。这些天我读了很多 95/2.5/2.5(训练/测试/开发超参数调优(。

我想您的最佳拆分取决于可用数据量和偏差/方差特征。训练数据性能不佳可能是由于拟合不足导致的,需要更多的训练数据。如果您的模型拟合良好甚至过度拟合,您应该能够将一些训练数据分配给测试数据。

如果您被困在中间,您也可以考虑交叉验证作为一种计算成本高昂但数据友好的选项。

这取决于数据集的大小,正如Andrew Ng所建议的那样:(训练/开发或验证/测试(

If the size of the dataset is 100 to 10K ~ 60/20/20
If the size of the dataset is 1M to INF ==> 98/1/1 or 99.5/0.25/0.25 

请注意,这些不是固定的,只是建议。

这里提到的测试集的目标是为你的工作提供公正的性能测量。在某些作品中,不要只设置两个集合是可以的(然后他们会称之为训练/测试,尽管这里的测试集实际上是工作,因为开发集比率可以是 70/30(

最新更新