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

https://github.com/shivang8/digit-recognition

Digit Recognition using backpropagation algorithm on Artificial Neural Network with MATLAB. Dataset used from MNSIT.
https://github.com/shivang8/digit-recognition

artificial-neural-networks backpropagation-learning-algorithm digit-recognition matlab mnsit

Last synced: about 1 month ago
JSON representation

Digit Recognition using backpropagation algorithm on Artificial Neural Network with MATLAB. Dataset used from MNSIT.

Awesome Lists containing this project

README

          

# Digit-Recognition

## Objective: To Train a Neural Network with one Hidden Layer using Back-Propogation Algorithm Such that it is capable of recognition Handwritten Digits.

We have used MNSIT Handwritten digit dataset `mnsit_all.mat` that contains 60K training and 10K testing examples of handwritten digits. Each example in the dataset is represented ny 784 features corroponding to (28 * 28) pixel values ([0,255]). The classes are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 corresponding to each digit.

# Accuracy Achieved

**Percentage of Total Accuracy = 97**

Percentage of Accuracy of 0 = 98.5714

Percentage of Accuracy of 1 = 98.6784

Percentage of Accuracy of 2 = 96.9961

Percentage of Accuracy of 3 = 96.9307

Percentage of Accuracy of 4 = 96.945

Percentage of Accuracy of 5 = 96.6368

Percentage of Accuracy of 6 = 96.7641

Percentage of Accuracy of 7 = 97.2763

Percentage of Accuracy of 8 = 95.0719

Percentage of Accuracy of 9 = 95.8375

# Module wise explanation

**mnist_all.mat :** It is your dataset required for processing.

**data_epoc200.mat :** Preprocessed data uptill 200 epocs or 200 Iterations.

**Visualization.m :** Used for visualizing images.

**main.m :** Used for calling `initilazition.m`, running epocs i.e. training the neural network using `training.m` and for calculating the accuracy of the neural network using `Accuracy.m`

**initilization.m :** Used for loading `mnist_all.mat`, initilizing weights, bias and target and calculating the sizes of dataset

**training.m :** Used for training the neural network. For converting image to black and white `binary_convertor.m`is used and for training `processing.m` is used.

**binary_convertor.m :** Used to convert image to black and white or the binary format.

**processing.m :** Used for finding the feed forward and then back propogating the neural network. `sigm.m` is used to find the symbodial values of the input matrix.

**Accuracy.m :** Used to calculate the accuracy of the neural network. `prediction.m` is used to predict the digit.

**prediction.m :** It is used to feed forward the neural network and predict the digit.




**IF YOU ENCOUNTER ANY BUGS OR FOR ANY SUGGESTIONS REGARDING THE IMPROVEMENT OF THE DIGIT RECOGNIZER FEEL FREE TO CONTACT ME :**

Shivang Srivastava - shivang.8@geu.ac.in