我正在使用张量流对CNN进行文本分类研究。当我运行我的模型时,我获得了非常高的训练精度(大约100%)。但是,在测试分割时,我得到的准确度结果不一致(有时为11%,有时为90%)。
此外,我还注意到训练中的损失正在减少,直到达到像0.000499564048368这样的小数字,而在测试中它不是,有时它会得到像70这样的高值。这是什么意思?有什么想法吗?
答案 0 :(得分:1)
如果您的训练准确度非常高,测试精度也很差,那么您几乎肯定会过度拟合。为了更好地了解模型的真实准确性,请使用交叉验证。
交叉验证将数据集拆分为训练和验证集,并多次执行此操作,每次稍微更改训练和验证数据。这是有益的,因为它可以防止您在一个标签上训练模型的情况,并且无法准确识别另一个标签。例如,想象一下这样的训练集:
Feature1, Feature2, Label
x y 0
a y 0
b c 1
如果我们仅在前两个数据点上训练模型,它将无法识别第三个数据点,因为它不是一般构建的。