【问题标题】:Usage of validation set in neural networks在神经网络中使用验证集
【发布时间】:2021-12-07 10:14:29
【问题描述】:

我想向你描述一个算法,我用它来选择隐藏层的数量和每个隐藏层中的神经元数量(我在任何地方都找不到这种方法的批准,但对我来说这似乎很合乎逻辑):

  1. 将数据分为 60%(训练)、20%(验证)和 20%(测试)部分。

现在我想检查一个隐藏层和两个隐藏层网络中的所有可能性。这样做:

  1. 我将使用一个隐藏层和在这一层中的 1、2 和 3 个神经元(3 个不同的网络)来训练网络。之后,我将为每个网络计算验证集(RMSE 和 MAE)的误差。

  2. 我将对具有 2 个隐藏层的网络做完全相同的事情,即我将估计具有两个隐藏层的网络,每个层中神经元数量的所有可能性(但神经元的数量只能是 1、2或 3)。这意味着我将有 9 对可能的结果:第一个隐藏层中的 1 个神经元,第二个隐藏层中的 1 个神经元。第一个隐藏层有 2 个神经元,第二个隐藏层有 1 个神经元,依此类推...对于 9 种架构中的每一种,我将计算验证集预测值和实际值之间的 RMSE 和 MAE。

  3. 在所有这些迭代中,我将选择验证集上的错误最低的架构。

你能告诉我这个算法是否有意义吗?如果没有,我还能用验证集做些什么来为神经网络选择最佳架构?

【问题讨论】:

    标签: algorithm machine-learning neural-network


    【解决方案1】:

    这是hyperparameter/model selection的绝对标准方法。依赖的“技巧”是您从一组非常有限的模型中进行选择(在您的情况下为 12),因此您对错误的估计将非常严格。您可以参考 Vladimir Vapnik 的“统计学习理论”一书,了解为什么这种方法很棒。

    话虽如此,您的工作假设是 20% 的数据“足够大”来估计您的性能,如果不是,您可以查看 Cross Validation

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 2023-02-11
      • 1970-01-01
      • 2018-08-25
      • 2012-05-15
      • 2018-11-01
      相关资源
      最近更新 更多