【问题标题】:Tensorflow model accuracy张量流模型精度
【发布时间】:2018-11-25 20:00:26
【问题描述】:

我的模型已针对 36 个类别的一组 29K 图像进行了训练,并在 7K 图像上进行了验证。该模型的训练准确率为 94.59%,验证准确率为 95.72% 它是为数字和字符的 OCR 创建的。我知道用于 36 类训练的图像数量可能不够。我不确定从这些结果中可以推断出什么。

问题:这是一个好的结果吗?测试准确度是否应该始终大于训练准确度?我的模型是否过拟合?

问题:我如何知道我的模型是否过拟合?我假设一个非常高的训练精度和非常低的测试精度会表明这一点?

【问题讨论】:

    标签: python tensorflow deep-learning


    【解决方案1】:
    1. 95% 对于 36 个类来说相当不错。如果您的验证准确度高于训练准确度,则说明您欠拟合。您可以运行更多 epoch,直到您的训练准确度高于验证准确度。
    2. 确切地说,如果训练准确度高得多,则说明过度拟合。

    【讨论】:

    • 如果我的训练准确率没有提高怎么办?我只是将模型运行了几次迭代,它的准确率下降到 94.37%,验证准确率变为 94.29% 在这种情况下我该怎么办?
    • 如果您的图片数量不足,这可能是原因。您应该尝试数据增强。此外,其中一种技术是只复制有问题的类中的数据。
    • 训练和测试的理想准确率百分比是多少?我知道这取决于很多因素,但假设我的训练准确率是 95%,我的验证准确率应该是多少才能使模型成为一个好的模型?另外,95% 的训练准确率表明我的模型已经很好地分析了训练数据?我觉得这些独立的百分比没有任何意义,训练和验证的准确性是相对的。我错了吗?
    • 在我看来,2-4% 的过拟合是好的。如果您的数据集类似于 ImageNet 图像,您可以将您的准确性与 ImageNet 上不同模型的性能进行比较。如果不同(医学、卫星等图像,而不仅仅是真实世界的照片)则很难说,但一般来说,对于多标签分类,如果你在 90% 以上,你的模型就可以了,95- 98% 是好的。
    【解决方案2】:
    1. 训练准确度应始终高于测试准确度/验证准确度。这是因为您的模型必须能够很好地处理提供的数据,以便能够预测未知数据。但是,它有时也会发生,原因可能是 一种。测试测试不是随机选择或随机选择但结果是 有利的(巧合)。 湾。您的模型非常通用,并且与第一个问题相结合。

    2. 首先检查学习曲线,您的情况很少见,其中训练精度较小。解决方案可能是更多数据或更复杂的模型或更多时期(欠拟合的解决方案)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 2019-06-18
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多