数据集划分为 训练集 开发集(交叉验证集) 测试集,最大化团队效率。
如何划分
将所有的数据随机洗牌,放入交叉验证集和测试集中。选择的交叉验证集和测试集要能够反映你未来得到的数据。要尝试收集多的数据,并随机分配。这样就能瞄准想要的目标,高效迭代地进入同一个目标。
训练集将会影响到达目标的速度有多快。
在小的数据集上面,70/30 或者 60/20/20 经验法则,无疑是更好的。
但是当你有1000000张图片的时候,98/1/1 会更加合理。
测试集可以帮助评估投产系统的性能,大量测试数据,带来更高的置信度在评估系统整体性能的时候。当不需要非常高的精确评估的时候,测试数据可以不用太大,同时不用测试数据也是可以的,条件是有比较大的验证集,但一般还是要有测试集的。
另一方面,要让验证和测试更能反映真实的使用场景。
修改评估指标(验证,测试,指标)
什么时候修改?
当当前的指标下训练测试表现比较后,但是在实际的表现中效果不好的时候,需要修改。就是评估指标不能衡量不同的训练算法之间的优劣排序时。
方法?
针对一个特殊的数据实例,可以增加权重项,使得对于特殊项识别错误加大惩罚的力度,有一个问题是 需要在数据上进行一些另外的标注,才能判断是不是一些特殊的项。
一个好的评估指标和数据集能更快的做出决策,最佳实践是,如果不能定义出一个很完美的评估指标和开发集,就快设立一个简单模型,驱动团队进行迭代,然后快速不断进行改进。