【发布时间】:2018-04-06 08:47:07
【问题描述】:
我目前正在研究手写数字识别问题。
首先,我已经针对 MNIST 数据集测试了样本手写数字。
我得到了 53% 的准确度,我需要 90% 以上的准确度。
以下是我迄今为止为提高准确性所做的尝试。
-
创建我自己的数据集
我已经创建了 41,000 个示例。首先,我制作了一个小型数据集,其中包含 10000 个示例(每个数字 1000 个)。
数据集是按照mnist格式创建的(可能是想在后期将我的数据集和mnist数据集结合起来)。 在此基础上构建的模型准确率接近 65%。
-
接近
- 我一直在使用 softmax 测试我的输入数据,但它对准确性部分没有太大帮助。于是我开始尝试cnn的方式。
所以我的问题是:
是否有其他方法/算法可以更准确地检测数字。
我需要对模型进行更多训练吗?
我需要清理图像吗?
我正在尝试合并 mnist 数据集和我的数据集(41,000 位数据),看看它是否会提高准确性。
代码
针对 mnist 测试我的图像(在此代码之前运行 mnist)
您可以找到 Ipyhton 笔记本:
针对 MNIST(脚本 - 1)测试我的示例数字
根据我的数据集测试我的样本数字(脚本 - 2)
脚本和图像可在此link 获得
【问题讨论】:
-
我使用过 CNN、Ensemble 模型等,但从未获得 65% 的分数。即使是简单的随机森林模型也能提供 96% 的准确率。
-
@pissall,我使用我的数据集(不是 mnist 的数据)使用了 softmax,为此我得到了 65% 的分数。我正在针对我的数据集使用 CNN,但准确度仍然很低。
-
@shahaf,谢谢分享链接,会看一下。
标签: python opencv tensorflow mnist