Skip to content

iliatarasov/multilayer-perceptron-on-MNIST-with-numpy

Repository files navigation

The goal of this project is to build a multilayer perceptron multiclass classifier from scratch using only numpy. The neural net that I created is a proof of concept and a display of my understanding of how MLPs work at the low level.

Here is a quick layout of the notebook:

  • I first take the dataset from the Digit Recognizer Kaggle challenge and use the neural network I created to make a submission and get an evaluation
  • Then I create a network of the same architecture and API using PyTorch
  • After that I compare the results and discuss the shortcomings of my numpy neural net

This notebook uses my networks as modules, the source code for which can be found in the corresponding folders.

Update 13 July 2023: I have created a follow-up project that extends this network to a convolutional neural network also made from scratch.