【问题标题】:Knowing best model in Neural Network了解神经网络中的最佳模型
【发布时间】:2019-11-01 07:04:47
【问题描述】:

我使用 CNN 训练了一个模型,

结果是,

准确度

损失

我从fast.ai读到,专家说,一个好的模型有val_loss略大于loss。

我的模型不同点,所以,我可以把这个模型当作好还是我需要重新训练......

谢谢

【问题讨论】:

  • 这取决于您的目标、您使用的模型、您的损失函数和样本数量。用这两张图来评价这个模型太难了
  • 投反对票,因为这不是编程问题。更适合datascience.stackexchange.com

标签: python tensorflow keras neural-network conv-neural-network


【解决方案1】:

对于您训练的 CNN,您的验证集似乎“太容易”,或者不足以代表您的问题。很难说你提供了多少信息。

我会说,您的验证集选择不正确。或者您可以尝试使用交叉验证来获得更多见解。

【讨论】:

  • 总数据集为 1000,x_train 为 (800,32) y_train 为 (200,32) y_train 为 (800,10) y_test 为 (200, 10)。
【解决方案2】:

首先,正如已经指出的那样,我会检查您的数据设置:训练和测试(验证)数据集包含多少数据点?他们的选择是否正确?

此外,这表明您的模型可能欠拟合训练数据。通常,您正在寻找关于在预测训练数据和不过度拟合(即在测试数据上做坏事)之间权衡取舍的“最佳位置”:

如果训练数据的准确度不高,那么您可能拟合不足(绿色虚线的左侧)。并且在训练数据上比在测试数据上做得更差是一个迹象(尽管这种情况没有显示在图中)。因此,如果您增加模型复杂性并将其更好地拟合训练数据(向说明图中的“最佳位置”移动),我会检查您的准确性会发生什么变化。

相比之下,如果您的测试数据准确度较低,则您可能处于过度拟合的情况(右侧绿色虚线)。

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 2017-06-26
    • 2016-03-07
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多