Multi-Class Deep Learning Model for MNIST Handwritten Digits Using Keras Take 1

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The purpose of this project is to construct a predictive model using various machine learning algorithms and to document the end-to-end steps using a template. The MNIST dataset is a multi-class classification situation where we are trying to predict one of several (more than two) possible outcomes.

INTRODUCTION: The MNIST problem is a dataset developed by Yann LeCun, Corinna Cortes, and Christopher Burges for evaluating machine learning models on the handwritten digit classification problems. The dataset was constructed from many scanned document datasets available from the National Institute of Standards and Technology (NIST). The MNIST handwritten digit classification problem has become a standard dataset used in computer vision and deep learning.

Images of digits were taken from a variety of scanned documents, normalized in size and centered. Each image is a 28 by 28-pixel square (784 pixels total). A standard split 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, so there are ten classes (0 to 9) to predict.

For this iteration, we will construct a simple dense deep-learning model to classify the images. This model will serve as the baseline for future iterations.

ANALYSIS: For this iteration, the performance of the Take1 model with the default parameters achieved an accuracy score of 98.05% on the validation dataset after training for ten epochs. After tuning the hyperparameters, the Take1 model processed the training dataset with an accuracy rate of 98.82%. The same model processed the test dataset with an accuracy of 98.17%. If we were to train the model much further than three epochs, we could run into the over-fitting issue.

CONCLUSION: For this dataset, the model built using Keras and TensorFlow achieved a satisfactory result and should be considered for future modeling activities.

Dataset Used: MNIST Handwritten Digits Dataset

Dataset ML Model: Multi-class classification with numerical attributes

Dataset Reference:

One potential source of performance benchmarks:

The HTML formatted report can be found here on GitHub.