假设你的开发误差曲线如下图所示:
我们之前说过,如果你的开发误差曲线趋于平稳,仅仅通过添加数据你不可能达到预期的性能。
但是很难确切地知道红色开发误差曲线的外推是什么样的。如果开发集很小,那将更不确定,因为曲线可能有噪声。
假设我们在绘图中添加训练误差曲线,如下所示:
现在,你可以绝对肯定地说,添加更多的数据本身并不足够。这是为什么?记住我们的两个观察结果:
- 随着我们添加更多的训练数据,训练误差只会变得更差。因此,蓝色的训练误差曲线只会保持不动或变得更高,所以它只会远离期望的性能水平(绿色的线)。
- 红色的开发误差曲线通常要高于蓝色的训练误差曲线。因此,当训练误差高于期望性能水平,通过添加更多数据来让红色开发误差曲线下降到期望性能水平之下也基本没有可能。
在相同的绘图中检查开发误差曲线和训练误差曲线可以让我们更加自信地推断开发误差曲线。
为了便于讨论,假设期望性能是我们对最优错误率的估计。那上面的绘图就是一个标准的“教科书”式的例子(具有高可避免偏差的学习曲线的样子):当训练集大小处于最大处时(大概对应我们的所有训练数据),在训练误差和期望性能之间有大的间隙,表明可避免偏差很大。此外,训练误差和开发误差曲线之间的间隙小,表明方差较小。
在上面的分析中,我们只在曲线最右端的点去衡量训练误差和开发误差,这对应使用所有的可训练数据。绘制完整的学习曲线给我们提供了一个更全面图,包含了算法在不同训练集大小上下的表现。