测试结果不一致是什么意思



我正在对CNN进行一些研究,以便使用tensorflow进行文本分类。当我运行我的模型时,我得到了非常高的训练准确率(大约 100%(。但是,在测试拆分中,我得到的准确率结果不一致(有时为 11%,有时为 90%(。

此外,我还注意到训练中的损失正在减少,直到达到像 0.000499564048368 这样的小数字,而在测试中则不是,有时它会得到像 70 这样的高值。这是什么意思?有什么想法吗?

如果你得到非常高的训练准确性和糟糕的测试准确性,你几乎肯定是过度拟合。若要更好地了解模型的实际准确性,请使用交叉验证。

交叉验证将数据集拆分为训练集和验证集,并多次执行此操作,每次都会略微更改训练和验证数据。这是有益的,因为它可以防止在一个标签上训练模型,而无法准确识别另一个标签的情况。例如,想象一个训练集,如下所示:

Feature1, Feature2, Label
   x          y       0
   a          y       0
   b          c       1

如果我们只在前两个数据点上训练模型,它将无法识别第三个数据点,因为它不是一般构建的。

相关内容

最新更新