gpt4 book ai didi

python - MNIST:试图获得高精度

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:40 26 4
gpt4 key购买 nike

我目前正在研究手写数字识别问题。

首先,我针对 MNIST 数据集测试了示例手写数字。

我的准确率为 53%,我需要 90% 以上的准确率。

以下是我迄今为止为提高准确性所做的尝试。

  1. 创建了我自己的数据集

    • 我已经创建了 41,000 个示例。首先,我制作了一个小型数据集,其中包含 10000 个示例(每个数字 1000 个)。

    • 数据集是按照mnist格式的行创建的(后期可能想到了把我的数据集和mnist数据集拼凑起来)。以此为基础构建的模型准确率接近 65%。

  2. 方法

    • 我一直在使用 softmax 测试我的输入数据,但它在准确性方面没有多大帮助。所以我开始尝试cnn方式。

所以我的问题是:

  1. 是否有其他方法/算法能够更准确地检测数字。

  2. 我需要更多地训练模型吗?

  3. 我需要清理图像吗?

  4. 我正在将 mnist 数据集和我的数据集(41,000 位数据)组合在一起,看看它是否会提高准确性。

代码

针对 mnist 测试我的图像(在此代码之前运行 mnist)

您可以找到以下 Ipyhton 笔记本:

  1. 针对 MNIST(脚本 - 1)测试我的示例数字

  2. 针对我的数据集(脚本 - 2)测试我的示例数字

脚本和图像可以在这个 link 上找到。

最佳答案

首先注意几点:

  • cnn 和 softmax 并不相互排斥。你可以让你的 cnn 用于较低级别。您应该使用 softmax 进行预测(往往效果最好,因为只有一个答案)。
  • 关于你的训练很难说。请考虑在训练数据集和评估集上发布损失图。通常我们应该看到两条线向下并趋于平缓。如果他们没有变平,你应该训练更长时间。如果两条线开始 fork ,您需要更多的正则化或提前停止。
  • 您应该始终尝试各种参数(层数、神经元激活函数的数量等)。这称为超参数调整,有一些工具可以帮助您,而且它们通常会改进很多。
  • 除了 cnn 之外,您还应该尝试深度神经网络。我已经看到固定 DNNClassifier 的良好效果。

假设您执行了所有这些操作但没有看到任何改进,这可能意味着您的数据存在问题。查看混淆矩阵,看看模型哪里出了问题。看一些错误分类的例子。根据我的经验,我发现数据集中的 1 和 7 几乎无法区分。这不完全是一个解决方案,但应该为您指出需要修复的正确方向。

关于python - MNIST:试图获得高精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49688880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com