Handwritten Digit Recognition using Convolutional Neural Networks in Python with Keras.
The dataset was constructed from a number of scanned document dataset, available from the National Institute of Standards and Technology (NIST)
Each image is a 28 by 28 pixel square (784 pixels total). A standard spit of the dataset is used to evaluate and compare models,where 60,000 images are used to train a model and a separate set of 10,000 images are used to test it.
It is a digit recognition task. As such there are 10 digits (0 to 9) or 10 classes to predict. Results are reported using prediction error, which is nothing more than the inverted classification accuracy.
NETWORK TOPOLOGY IS SUMMARIZED AS FOLLOWS: Convolutional layer with 30 feature maps of size 5ร5. Pooling layer taking the max over 22 patches. Convolutional layer with 15 feature maps of size 3ร3. Pooling layer taking the max over 22 patches. Dropout layer with a probability of 20%. Flatten layer. Fully connected layer with 128 neurons and rectifier activation. Fully connected layer with 50 neurons and rectifier activation. Output layer.
RESULTS: Excellent results achieve a prediction error of less than 1%. State-of-the-art prediction error of approximately 0.2% can be achieved with large Convolutional Neural Networks. There is a listing of the state-of-the-art results and links to the relevant papers on the MNIST