《Machine Learning Yearning》第12章

第12章是对设置开发集和测试集这一部分的一个总结。

12 Takeaways: Setting up development and test sets

 从能反映将来你希望获得的数据的分布上选择开发和测试集,并且想在上面做的更好。这可能跟你的训练集的分布不一样。

 如果可能的话,开发集和测试集的分布要一致。

 为你的团队选择一个单数字的评估指标来进行优化。如果你关心的是几个指标,那么想办法将它们组合成一个公式(例如多个误差指标的平均值)或者定义满足指标和优化指标。

 机器学习是一个高度迭代的过程:你可能在找到你最满意的那个算法前会尝试很多的idea。

 定义好开发集/测试集和单数字指标,能帮助你快速评估算法,同时迭代得更快。

 在尝试一个全新的应用时,先快速建立开发集/测试集和评估指标,也就是在一周之内。如果是成熟的应用,花费较长时间也是可以的。

 如果你有很大的数据,那么早期的那种7:3划分训练集和测试集的方法就不适用了。开发集/测试集可以比30%更少。

 你的开发集应该足够大,大到能够检测你算法准确率发生的重要变化,但是没有必要非常大。你的测试集应该足够大,大到能给你系统的最终性能提供一个置信估计。

 如果你的开发集和评估指标不再指引你的团队到正确的方向,那么赶紧修改它们:(i)如果你过拟合了开发集,那么获取更多的开发数据。(ii)如果你所关心的分布和开发/测试集的分布不同,那么获取新的开发/测试集。(iii)如果你的评估指标不能衡量对你来说最重要的部分,那么改变这个评估指标。

猜你喜欢

转载自blog.csdn.net/lisa_ren_123/article/details/81089162