Can a dense neural network recognise a handwritten digit?
I wanted a small enough problem that I could understand the full training loop and evaluation process instead of treating a neural network as a black box.
My contribution
- Prepared the MNIST image data.
- Built and trained a neural-network classifier.
- Evaluated test performance and model mistakes.
- Used the project to learn the basic deep-learning workflow.
Problem & approach
I used MNIST to learn the standard image-classification workflow: preparing image data, defining a neural network, training it, checking validation/test behaviour, and looking at the mistakes the model made.
How it works
- 01
Prepare images
Normalize and shape the image data.
- 02
Train
Train a neural network on labelled handwritten digits.
- 03
Evaluate
Evaluate on held-out test images.
- 04
Inspect predictions
Inspect predictions and common mistakes.
Data & evaluation
Data & inputs
MNIST, loaded with TensorFlow Datasets.
How it was evaluated
The notebook’s saved test evaluation records 95.8% accuracy.
Results & progress
- 95.8%
- Recorded test accuracy
- Dense network
- Architecture
A digit from 0 to 9
- Recorded 95.8% held-out test accuracy in the training notebook.
Limits & lessons
Limitations
- MNIST is a standard educational dataset. This was an early learning project with a dense TensorFlow/Keras network.
What I learned
- There are much harder projects on the portfolio now, but this one shows where some of the ML work started. It gave me a concrete mental model of training, validation, overfitting, and evaluation.