The MNIST dataset is targeted by several machine learning models written from scratch. The implemented algorithms so far are: vanilla kNN, logistic regression, convolutional neural networks and classification Gaussian processes. The code for the neural networks is partly influenced by the Stanford CS231 assignments.
It is tested in Anaconda 2.7 environment. Mainly the external packages numpy, scipy and matplotlib are used, so an Anaconda installation is not really required.
see main.py
accuracies on the test set:
- kNN: 97.05 %
- LogReg: 92.61 %
- ConvNet: 99.03 %
- CGPs: 95.39 %