Skip to content

Latest commit

 

History

History
19 lines (13 loc) · 1.75 KB

File metadata and controls

19 lines (13 loc) · 1.75 KB

26. 在训练集上的误差分析

你的算法首先得在训练集上表现良好,才能谈得上在开发集/测试集上的表现。

除了前面介绍的解决高偏差的技巧之外,我有时还会对训练数据进行误差分析,遵循类似于“眼球开发集”的误差分析模式。如果你的算法有很高的偏差的话,换句话说,你的算法不能很好的适用在训练集上,这可能会很有用。

比如,假设你正在为你的应用程序构建一个语音识别系统,并收集了一批来自于志愿者的音频剪辑数据。如果你的系统在该训练集上表现不佳,你应该考虑人工听取一组(100个左右样例)算法难以处理的音频剪辑数据,从而理清训练集误差的主要类别。与开发集上的误差分析类似,你应该计算在不同类别上所犯的错误比例:

音频片段 很大的背景噪声 发言者语速过快 声源离麦克风太远 备注
1 汽车噪声
2 餐厅噪声
3 用户在客厅里大喊大叫
4 咖啡店
占总数百分比 75% 25% 50%

在这里例子里,你可能注意到你的算法在对具有很高背景噪声的样本进行识别的时候会特别困难。因此,你可能会专注于那些能够让你的算法很好的适应带有背景噪声的样本的技术。

你还可以进行二次检查:给定与你的算法相同的输入音频片段,让一个人去听,然后看他是否能将这些音频片段转录出来。如果背景噪声太大以至于任何人都没办法确定音频里边所说的话,那么期望有算法能够识别这些数据也是不合理的。我们将在后续章节讨论将你的算法表现和人类水平表现进行比较的好处。