【问题标题】:Does it make sense to maximize both training and validation accuracy?最大化训练和验证准确性是否有意义?
【发布时间】:2020-06-09 21:19:13
【问题描述】:

在训练我的 CNN 时,我通常的目标是将 验证 准确度最大化到 1.0(即 100%)。我知道另一方面,以 1.0 的训练准确度为目标是没有多大意义的,因为我们不希望我们的模型自己记住训练数据。

但是,“混合”方法呢--
最大化训练和验证的准确性不是很有意义吗?

【问题讨论】:

  • 什么意思?在每次训练迭代期间,只有训练数据的准确性得到最大化。

标签: tensorflow keras deep-learning neural-network conv-neural-network


【解决方案1】:

我们先说一下验证的目的是什么:

当我们训练神经网络时,我们试图教神经网络在给定任务中针对任务中的整个输入/输出对群体表现良好。然而,拥有整个数据集是不现实的,尤其是对于图像等高维输入。因此,我们创建了一个包含(希望)大量数据的训练数据集。我们希望在训练神经网络时通过最大化训练数据集的性能来最大化整个数据集的性能。这称为泛化

我们如何知道神经网络的泛化能力很好?正如您所提到的,我们不想简单地记住训练数据。这就是验证准确性的用武之地。我们通过网络提供神经网络未训练的数据来评估其性能。因此,验证集的目的是衡量泛化。

您应该同时注意训练和验证的准确性。验证和训练准确度之间的差异称为泛化差距,它将告诉您神经网络对新输入的泛化程度。您希望训练和验证的准确性都很高,并且它们之间的差异最小。

【讨论】:

    【解决方案2】:

    从技术上讲,如果你能做到这一点,那就太棒了,你不会说模型过度拟合,除非验证准确度和训练准确度之间存在差距,如果它们的值接近,要么都很高,要么都很低,那么模型没有过拟合。理想情况下,您希望所有样本、训练、验证和测试都具有高精度,但正如我所说的“理想”。你只是不太关心训练样本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 2023-03-24
      • 1970-01-01
      • 2021-07-30
      • 2022-07-22
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      相关资源
      最近更新 更多