小结:建立开发集和测试集

  • 被选择作为开发集和测试集的数据,应当与你未来计划获取并对其进行良好处理的数据有着相同的分布,而不一定和训练集的数据分布一致。
  • 开发集和测试集的分布应当尽可能一致。
  • 为你的团队选择一个单值评估指标进行优化。当需要考虑多项目标时,不妨将它们整合到一个表达式里(比如对多个误差指标取平均),或者设定满意度指标和优化指标。
  • 机器学习是一个高度迭代的过程:在出现最终令人满意的方案之前,你可能要尝试很多想法。
  • 拥有开发集、测试集和单值评估指标可以帮助你快速评估一个算法,从而加速迭代进程。
  • 当你要探索一个全新的应用时,尽可能在一周内建立你的开发集、测试集和评估指标;而在已经相对成熟的应用上,可以考虑花费更长的时间来执行这些工作。
  • 传统的 70% / 30% 训练集/测试集划分对于大规模数据并不适用,实际上,开发集和测试集的比例会远低于 30%.
  • 开发集的规模应当大到能够检测出算法精度的细微改变,但也不需要太大;测试集的规模应该大到能够使你能对系统的最终性作出一个充分的估计。
  • 当开发集和评估指标对于团队已经不能提供一个正确的导向时,尽快修改它们:(i) 如果算法在开发集上过拟合,则需要获取更多的开发集数据。(ii) 如果开发集与测试集的数据分布和实际数据分布不同,则需要获取新的开发集和测试集。 (iii) 如果评估指标无法对最重要的任务目标进行度量,则需要修改评估指标。


改进当前页面