0%

26. 训练集误差分析

你的算法必须在训练集上表现得很好,才能期望它在开发集和测试集上能够有着良好的表现。除了先前提到的用于处理高偏差的技术外,我通常也会在训练数据上进行误差分析,处理方式类似于在开发集上设置一个 Eyeball 开发集。当你的算法有着高偏差时(例如算法没有很好拟合训练集的时候)这将有所帮助。

举个例子,假设你正在为一个应用程序构建一个语音识别系统,并收集了一组志愿者的音频片段。如果系统在训练集上表现不佳,你可能会考虑以约 100 个算法处理得很差的样本作为一组并人为去听它们,从而知道训练集误差的主要种类。类似于开发集上的误差分析,你可以计算不同类别的错误样本数量:

在本例中,你可能会发现算法在面对具有大量背景噪音的训练样本时遇到了特别困难的情况。因此你可能会关注一些技术,使其能够更好地适应背景噪音的训练样本。

你也可以仔细检查正常人是否能转录这些音频片段,这些音频应该与你的学习算法的输入音频相同。如果背景噪音过于嘈杂,导致任何人都不能理解音频里说了什么,那么期望算法正确地识别这样的话语就不太合理。我们将在后面的章节中讨论将算法的性能与人类水平进行比较的好处。