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.
- Host: GitHub
- URL: https://github.com/shivang8/digit-recognition
- Owner: shivang8
- Created: 2017-12-26T07:29:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-02-12T09:45:01.000Z (over 8 years ago)
- Last Synced: 2025-05-05T15:47:26.397Z (about 1 year ago)
- Topics: artificial-neural-networks, backpropagation-learning-algorithm, digit-recognition, matlab, mnsit
- Language: Matlab
- Size: 17.4 MB
- Stars: 6
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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