我试图通过使用NN和CNN对我自己和一些朋友写的手写数字进行分类.为了训练NN,使用MNIST数据集.问题是使用MNIST数据集训练的NN不能在我的数据集上给出令人满意的测试结果.我在Python和MATLAB上使用了一些库,具有不同的设置,如下所示.
在Python上我已经将这段代码用于设置;
它是用MNIST训练集训练的,测试结果如下:
MNIST上的测试结果=我自己的数据集上的96%测试结果= 80%
在MATLAB上我使用了深度学习工具箱,其中包含各种设置,归一化,与上面类似,NN的最佳精度约为75%.在MATLAB上使用NN和CNN.
我试图将自己的数据集类似于MNIST.以上结果从预处理数据集中收集.以下是应用于我的数据集的预处理:
我不知道该怎么做.仍存在一些差异,如对比度等,但对比度增强试验无法提高准确性.
这是来自MNIST和我自己的数据集的一些数字,用于直观地比较它们.
正如您所看到的,存在明显的对比差异.我认为准确性问题是由于MNIST和我自己的数据集之间缺乏相似性.我该如何处理这个问题?
有一个类似的问题在这里,但他的数据集是印刷数字集合,而不是像我一样.
编辑:我还测试了我自己的数据集的二进制化版本,该数据集是在使用二进制化MNIST和默认MNIST进行训练的NN上进行的.二值化阈值为0.05.
这是分别来自MNIST数据集和我自己的数据集的矩阵形式的示例图像.他们两个都是5.
MNIST:
Columns 1 through 10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 …
Run Code Online (Sandbox Code Playgroud)