Today, with deep learning frameworks like PyTorch, TensorFlow, and Keras being widely used, most developers can train models just by calling the .fit() method. However, this convenience often hides the underlying mathematical principles. When you face issues like gradient explosion, gradient vanishing, or training non-convergence, a lack of deep understanding of backpropagation and gradient descent often leaves you with no choice but to adjust hyperparameters blindly.
This project was created exactly to solve this problem. The author implemented a complete neural network from scratch using pure NumPy, without relying on any deep learning frameworks. Through six progressive files, readers can build a neural network by hand that achieves an accuracy of approximately 95.57% on the MNIST handwritten digit dataset.