【发布时间】:2023-03-17 03:13:01
【问题描述】:
我正在处理文档分类问题,并尝试应用基本的 RNN/LSTM 模型。
我制作了多层 LSTM 模型并训练了 15 个 epoch,但我得到了大约 53% 的训练结果。和 41% 的测试精度。当我用更大的时期训练时,训练精度。增加和测试ACC。下降到约 33%。
我知道如果测试ACC。低于training acc.,它可能是过拟合的。而导致过拟合的原因是,模型甚至训练了训练数据集的噪声。但我认为如果发生过拟合,训练会发生。必须相当高(80-90%)并测试acc。比这要低得多,因为过度拟合意味着模型实际上是“过度拟合”来训练数据集。
现在我想知道为什么当我用 15 个 epoch 进行训练并且只获得 53% 的训练准确率时,我的准确率会降低 10%。这是过度拟合吗?当我的训练量很低时会发生过拟合吗?
非常感谢!
【问题讨论】:
-
重命名:当然,为什么不呢?
-
@MateenUlhaq 感谢您的评论!正如我在正文中所写的那样,我认为过度拟合实际上是“过度训练”了火车数据集(甚至是噪音)。所以我认为过度拟合的结果是更高的训练 acc 和更低的测试 acc。你能帮我纠正我的错误想法吗?谢谢!!
-
一般来说(非常普遍),训练集的准确率往往会不断提高,因为这是优化器试图做的事情。不幸的是,我们已经看到,在某个特定点之后,使用优化器进一步提高训练准确性可能会导致您的模型在“现实世界”中表现更差。为了确定这一点,我们不断检查验证集;当验证集开始表现越来越差时,我们意识到我们的优化器只会让真实世界的模型性能变得更差。如果您的模型不是一个好的模型(或您的优化器),那么您将尽早达到这一点。
-
@MateenUlhaq 我真的很感激。我会检查有效的集合。但如果有效的 acc 也不好,替代方案是:更改模型或更改优化器,对吗?还有其他选择吗?非常感谢!!
-
此页面列出了一些需要检查的典型事项:machinelearningmastery.com/improve-deep-learning-performance。一件容易尝试的事情是将学习率降低 10 或 100 倍。
标签: deep-learning