如果开发集上运行性能良好,却在测试集上效果不佳。如果此时开发集和测试集的分布相同,那么你就能清楚地明白问题所在:算法在开发集上 过拟合了(overfit)。解决方案显然就是去获取更多的开发集数据。
但是如果开发集和测试集服从不同的分布,解决方案就不那么明确了。此时可能存在以下一种 或者多种情况:
1. 算法在开发集上过拟合了。
2. 测试集比开发集更难进行预测,尽管算法做得足够好了,却很难有进一步的提升空间。
3. 测试集不一定更难预测,但它与开发集性质并不相同(分布不同)。因此在开发集上表现 良好的算法不一定在测试集上也能够取得出色表现。如果是这种情况,大量针对开发集性 能的改进工作将会是徒劳的。