MNIST classification
A convolutional neural network to classify digits from the legendary MNIST Dataset of Yann LeCun.

In 1989 Yann LeCun built an algorithm that was able to recognize digits of various forms.
To accomplish this, he developed a novel technique called convolutional neural networks.
What went rather unrecognized back then is today seen as a milestone for deep learning.
Good 30 years later, LeCun has received several honoral doctorates for his developments.
I chose this project as a fun task next to my studies at the bootcamp because I read a lot about LeCun
and his pioneering role in data science and recently stumbled over this dataset on the internet.
Feel free to have a look at the original publication of LeCuns paper
or this legendary video of him demonstrating the product of his work:
The dataset was downloaded via tensorflow. Have a look at the notebook to find out how.
Alternatively, you can download it here.
My aim was to reach an accuracy of >90%.
After a little bit of preprocessing and target encoding, I tried out some architectures based on what has been previously used for this dataset.
Initializing and training a convolutional neural network with two convolutional 2D layers and two MaxPooling 2D layers resulted in a satisfactory accuracy of approximately 98% ✅.
An exact depiction of the architecture can be seen in the title picture of this page.
To have a look at the process, feel free to inspect the corresponding git repository.
- Numpy
- Matplotlib
- Tensorflow.keras
- Visualkeras