Engineered and implemented a multilayer perceptron (784-16-16-10 structure, ~13K parameters) from scratch using NumPy with no machine learning libraries.
Derived analytical matrix gradients by hand to train with a custom stochastic gradient descent (SGD) loop, achieving ~94.2% test accuracy.
Built a binary IDX parser with Python’s struct module to unpack raw MNIST bytes into normalized arrays.
Profiled training bottlenecks between full-batch and stochastic gradient descent, discovering parameter update cadence to be the critical factor for rapid convergence.