In this notebook, I implemented a simple two-layer neural network and trained it on the MNIST digit recognizer dataset.
The goal of this project is not state-of-the-art accuracy, but to serve as an instructional example to understand the underlying math of neural networks — forward propagation, backward propagation, and gradient descent.
- Input layer: 784 units (28x28 pixels)
- Hidden layer: 10 units with ReLU activation
- Output layer: 10 units with Softmax activation
- Forward propagation equations
- Backward propagation (gradients for W and b)
- Parameter updates using gradient descent
- How accuracy improves during training
- MNIST handwritten digits dataset (0–9)
Clone this repo and open the notebook:
git clone <your-repo-link>
cd <repo-folder>
jupyter notebook