Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ayooshkathuria/mnist-handwritten-digit-recognition

Classification of MNIST Handwritten Digits Database using Deep Learning
https://github.com/ayooshkathuria/mnist-handwritten-digit-recognition

Last synced: about 2 months ago
JSON representation

Classification of MNIST Handwritten Digits Database using Deep Learning

Awesome Lists containing this project

README

        

##Classification of MNIST Handwritten Digits Database using Deep Learning

This repository contains code meant to classifiy MNIST Handwritten Digits usind Neural Networks. I have used the data from
http://deeplearning.net/data/mnist/ as well as an algorithmically expanded version of this datset for training the neural
networks. There are 3 code files which are described below.

####NeuralNetBasic.py
A very simple neural network implemented in python using Stochastic Gradient Descent and Backpropogation.

####NeuralNetOptimised
An optimised version of neural network above. Incorporates cross-entropy cost function instead of quadratic cost function
L2-regularisation, an algorithmically expanded dataset and better support for performance analysis. The weights have been
initialised with mean zero and standard deviation 1/sqrt(Number or outputs) rather than 1.

####NeuralNetTheano
Unlike previous two versions, this neural network is implemented using Theano. It also incorporates a couple of convolutional
layers and a softmax output layer in addition to fully connected layers. Dropout has also been implemented in fully connected
layers to address the problem of overfitting.

The best efficiency I obtained was 98.87% with a couple of convolutional layers, a fully connected layer of 640 neurons and an
output softmax layer of 10 neuron, learning rate of 0.1. The network trained over 50 epochs, and took a long while on my MacBook Air (I'm never doing that again).

This code hs been derived from code samples from the book http://neuralnetworksanddeeplearning.com/ authored by Michael Nielson. If you're looking for an introduction to deep learning, the book can be a great starting point.