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

Train / Test split % for Object Detection - what's the current recommendation?

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

传统建议是约 70-75% 的训练和其余的测试数据。最近的文章确实表明了不同的分裂。这些天我读了很多95/2.5/2.5(train / test / dev for hyperparameter tuning)

我想您的最佳拆分取决于可用数据量和 bias/variance 特征。在训练数据上表现不佳可能是欠拟合造成的,需要更多的训练数据。如果您的模型拟合良好甚至过度拟合,您应该能够将一些训练数据分配给测试数据。

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

正如 Andrew Ng 所建议的那样,这取决于数据集的大小: (train/dev 或 Val/test)

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 

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

此处提到的测试集的目标是为您的工作提供公正的性能评估。在一些作品中,不只设置两个集合是可以的(然后他们会称之为 train/test,虽然这里的测试集实际上是有效的,因为开发集比例可以是 70/30 )