我目前正在研究 MATLAB 中用于语音识别的神经网络,并已提取 MFCC 用于分类目的。目前每个 1 秒语音片段有 500 个特征,并且有五个不同的类别(即五个不同的词)
我正在使用两批不同的语音剪辑:一个是我用来训练神经网络的 500 个文件(以及根据 nprtool 的通常计算进行验证/测试)。另一个由 250 个文件组成,纯粹用于测试目的。两个批次都是一次性生成的。
使用第一批,我能够获得近乎完美的训练/验证/测试准确度(95-100%)。但是,当我尝试使用第二批(即单独的 250 个文件)进行测试时,准确率下降到 20%。由于有五个类别,这最初让我认为神经网络只是随机选择类别。然而,查看混淆矩阵,似乎第一类被识别为 95-100% 的准确率 - 但是其他语音文件被完全错误分类。
我的第一个想法是过度拟合以某种方式发生了。我知道 nprtool 使用 MapMiniMax 函数进行标准化 - 这会破坏神经网络的泛化特性吗?还是在我缺少的培训和测试之间还有另一个步骤?
提前致谢。