Week1 深度学习的实用层面
1.训练、开发、测试集
-
应用深度学习是一个典型的迭代过程,需要多次循环往复,即使是经验丰富的专家也不可能在问题一开始就准确确定参数/超参数的合适取值。
- 这也就决定了循环一个过程的效率是决定项目进展速度的一个关键因素。
- 创造高质量的训练集、验证集和测试集有助于提高循环效率。
- 训练集/验证集/测试集的划分
- 之前的小数据时代:训练集与测试集分别为70%与30%,或者训练集、验证集、测试集分别为60%、20%、20%被认为是很好的选择;
- 大数据时代,如有一百万条数据,则训练集、验证集、测试集分别为98%、1%、1%;
- 百万级以上的数据,训练集可以占到99.5%,验证集与测试集各0.25%,或者验证集0.4%,测试集0.1%。
- 实际应用中可能会遇到验证集与测试集不匹配的情况。例如,训练集是高清图片,但是实际应用的测试集图片并不清晰。Tips:保证验证集和测试集的数据来自同一分布。
- 测试集是为了做无偏验证,所以如果不需要无偏验证也可以没有测试集。
2. 方差与偏差(variance and bias)
- 一种情况是将数据可视化,但只适用于低维,如果高维数据不容易可视化,则可以通过产看训练集误差与验证集误差来判断
结论 | 高方差 | 高偏差 | 高偏差,高方差 | 低偏差,低方差 |
---|---|---|---|---|
验证集误差 | 11% | 16% | 30% | 1% |
训练集误差 | 1% | 15% | 15% | 0.5% |
上述结论的前提是最优误差/贝叶斯误差很低;训练集和验证集数据来自同一分布