/Digit-Recognition

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

Primary LanguageMatlab

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.mis 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