神经网络训练中的欠拟合、过拟合问题
  PfEVswrG0sbF 2024年01月14日 17 0

神经网络训练中的问题

神经网络在数据之海中打捞规律,自成模型。这个过程全权由电脑完成,也因此我们担心它是否是一种泛化的模式,在其它「海域」继续工作时,它能否也能得到正确的结果?如何发现 可以泛化的模式 是机器学习的根本问题。

image

过拟合与欠拟合

我们的数据通常分成3份:

  • 训练数据:用于神经网络训练的数据;
  • 测试数据:神经网络训练完后,用于评估其准确度的数据;
  • 验证数据:为了确定候选模型中的最佳模型所用的检验数据。

在实际训练中,会有 欠拟合过拟合 的情况。我们将神经网络用训练数据计算时的误差称为「训练误差」,用测试数据计算时的误差称为「泛化误差」。那么:

  • 当训练误差与泛化误差都很大时,称模型「欠拟合」。由于训练误差大,所以也称该模型有「高偏差」问题;
  • 当训练误差很小,但泛化误差很大时,称模型「过拟合」。由于泛化误差大,所以也称该模型有「高方差」问题。
image

模型选取

在机器学习中,我们通常从几个候选模型后选择最终的模型。例如,训练多层感知机时,我们会⽐较有着不同隐藏层数、每层有着不同数量神经元以及使用不同激活函数的模型。

当神经网络「欠拟合」时,我们首先可以让它训练更长一段时间,如果仍无效,则会考虑使用更复杂的神经网络(更多隐藏层、增加层的神经元、换其它激活函数等)或者使用其它类型的神经网络。

数据集大小

在如今有大量数据(百万甚至更大)的情况下,训练数据的比重可以占得很大:训/测/验 = 98%/1%/1% 即便是1%的数据也有上万,足以用于检验了,我们可以将更多数据投入训练中。

训练数据集的大小对模型训练结果有什么影响?训练集样本过少,可能会导致严重的「过拟合」问题,反过来说,更多的训练数据能减小泛化误差,而且通常没有坏处(除了训练久一点),尤其是训练复杂的模型时。

在尝试了更多数据后,如果模型仍「过拟合」或者你原本的数据已经是高质量的了,无法再获得更多数据时,则可以考虑 正则化 ,或者换用其它类型的神经网络。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年01月14日 0

暂无评论

推荐阅读
EM
  YS70eVTgu2rK   6天前   15   0   0 机器学习
HMM
  YS70eVTgu2rK   6天前   15   0   0 机器学习
PfEVswrG0sbF