Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 1.25 KB

README.md

File metadata and controls

12 lines (8 loc) · 1.25 KB

scratch-nn

Neural network from scratch using numpy in python. (Sorry, I did not write a neural network in Scratch)

I did this project because I felt like I didn't really know what was going on under the hood when I was first learning about machine learning. Many online resources start you off using PyTorch or Tensorflow, so you don't understand on a mathematical level what is actually going on in a network—personally, having this level of insight has helped me diagnose problems in more complicated projects that do use high-performance ML frameworks. I think everyone who wants a good intro to machine learning should do this as an exercise, and I'm currently working on a tutorial to walk a beginner through this.

The network

I set out to complete the MNIST handwritten digit classification task. I designed a one-hidden-layer fully connected neural network, with cross-entropy loss as the loss function. After 20 epochs of training the test accuracy was around 80%.

The hardest part about this project was computing the gradients by hand.