【发布时间】:2019-10-28 01:34:43
【问题描述】:
使用 Tensorflow 对象检测 API,关于标记示例的训练/测试分割百分比的当前建议/最佳实践是什么?我见过很多相互矛盾的信息,从 70/30 到 95/5 不等。任何最近的现实世界经验都会受到赞赏。
【问题讨论】:
标签: tensorflow machine-learning object-detection
使用 Tensorflow 对象检测 API,关于标记示例的训练/测试分割百分比的当前建议/最佳实践是什么?我见过很多相互矛盾的信息,从 70/30 到 95/5 不等。任何最近的现实世界经验都会受到赞赏。
【问题讨论】:
标签: tensorflow machine-learning object-detection
传统建议是约 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)
【讨论】: