The MNIST database is a large database of handwritten digits that is commonly used for training various image processing systems. The database is also widely used for training and testing in the field of machine learning. It was created by "re-mixing" the samples from NIST's original datasets. The creators felt that since NIST's training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments. Furthermore, the black and white images from NIST were normalized to fit into a 28x28 pixel bounding box and anti-aliased, which introduced grayscale levels.
The MNIST database contains 60,000 training images and 10,000 testing images. Half of the training set and half of the test set were taken from NIST's training dataset, while the other half of the training set and the other half of the test set were taken from NIST's testing dataset.
The original creators of the database keep a list of some of the methods tested on it. In their original paper, they use a support-vector machine to get an error rate of 0.8%. An extended dataset similar to MNIST called EMNIST has been published in 2017, which contains 240,000 training images, and 40,000 testing images of handwritten digits and characters.
DatasetThe set of images in the MNIST database is a combination of two of NIST's databases: Special Database 1 and Special Database 3. Special Database 1 and Special Database 3 consist of digits written by high school students and employees of the United States Census Bureau, respectively.
PerformanceSome researchers have achieved "near-human performance" on the MNIST database, using a committee of neural networks; in the same paper, the authors achieve performance double that of humans on other recognition tasks. The highest error rate listed on the original website of the database is 12 percent, which is achieved using a simple linear classifier with no preprocessing.
In 2004, a best-case error rate of 0.42 percent was achieved on the database by researchers using a new classifier called the LIRA, which is a neural classifier with three neuron layers based on Rosenblatt's perceptron principles.
Some researchers have tested artificial intelligence systems using the database put under random distortions. The systems in these cases are usually neural networks and the distortions used tend to be either affine distortions or elastic distortions. Sometimes, these systems can be very successful; one such system achieved an error rate on the database of 0.39 percent.
In 2011, an error rate of 0.27 percent, improving on the previous best result, was reported by researchers using a similar system of neural networks. In 2013, an approach based on regularization of neural networks using DropConnect has been claimed to achieve a 0.21 percent error rate. In 2016 the single convolutional neural network best performance was 0.31 percent error rate. As of August 2018, the best performance of a single convolutional neural network trained on MNIST training data using realtime data augmentation is 0.26 percent error rate. Also, the Parallel Computing Center obtained an ensemble of only 5 convolutional neural networks which performs on MNIST at 0.21 percent error rate. Some images in the testing dataset are barely readable and may prevent reaching test error rates of 0%. In 2018 researchers from Department of System and Information Engineering, University of Virginia announced 0.18% error with simultaneous stacked three kind of neural networks .
ClassifiersThis is a table of some of the machine learning methods used on the database and their error rates, by type of classifier:
|Linear classifier||Pairwise linear classifier||Deskewing||7.6|
|Decision stream with Extremely randomized trees||Single model||2.7|
|K-Nearest Neighbors||K-NN with non-linear deformation||Shiftable edges||0.52|
|Boosted Stumps||Product of stumps on Haar features||Haar features||0.87|
|Non-linear classifier||40 PCA + quadratic classifier||3.3|
|Random Forest||Simple statistical pixel importance||2.8|
|Support-vector machine||Virtual SVM, deg-9 poly, 2-pixel jittered||Deskewing||0.56|
|Deep neural network||2-layer 784-800-10||1.6|
|Deep neural network||2-layer 784-800-10||Elastic distortions||0.7|
|Deep neural network||6-layer 784-2500-2000-1500-1000-500-10||Elastic distortions||0.35|
|Convolutional neural network||6-layer 784-50-100-500-1000-10-10||Expansion of the training data||0.27|
|Convolutional neural network||Committee of 35 CNNs, 1-20-P-40-P-150-10||Elastic distortions||Width normalizations||0.23|
|Convolutional neural network||Expansion of the training data||0.21|
|Random Multimodel Deep Learning||10 NN-10 RNN - 10 CNN||0.18|
|Convolutional neural network||Committee of 20 CNNS with Squeeze-and-Excitation Networks||Data augmentation||0.17|