Handwritten Digit Recognition
Handwritten Digit Recognition
ABSTRACT
The main objective of this paper is to recognize and will be further increased. This proposed system can be
predict handwritten digits from 0 to 9 where data set used in banking to process cheques and in post offices
of 5000 examples of MNIST was given as input. As to recognize address etc
we know as every person has different style of writing
digits humans can recognize easily but for co
computers 2. Dataset
it is comparatively a difficult task so here we have
used neural network approach where in the machine Here 5000 training examples is feeded to the neural
will learn on itself by gaining experiences and the network. Where each training example is a 20 pixel
accuracy will increase based upon the experience it by 20 pixel gray scale image of the digit. Each pixel is
gains. The dataset was trained using feed forward represented using a floating point number which
neural network algorithm. The overall system indicates the gray scale intensity at that location. The
accuracy obtained was 95.7% 20 by 20 grid of pixels is unrolled into a 400- 400
dimensional vector. Each of these training examples
Keywords: Accuracy, Feed-forward,
forward, Handwritten becomes
ecomes a single row in our data matrix X. This gives
Digit Recognition,
ion, Multilayer Neural Network us a 5000 by 400 matrix X where every row is a
training example for a handwritten digit image. The
1. Introduction second part of the training set is a 5000-dimensional
5000
vector y that contains labels for the training set.
set
As we know human vision is one of the wonders of
the world. We carry a super computer in our head
where we can sense the world or can see the world
through evolution of over hundreds and millions of
neurons hence handwritten digit recognition isn’t an
easy task for machines. Every human has its own way
of writing numbers
bers therefore for a machine it becomes
difficult to predict digits. Similarly they also have
their own tendency of recognizing a digit for example
let’s take ‘9’ one can remember it as it has a loop and
a stroke thus here in case of machine we provide
training
ining set. Here we have used Neural Network
approach where we have given several hand written
digit examples where the system can learn from those
examples and predict exactly what the digit is. If we
increase the number of training examples accuracy Figure1: Sample hand written digits
3.1 Perceptron
Figure2: Perceptron The leftmost layer in the network is called input layer,
the input layer of the neuron contains the value of the
A Perceptron takes several binary inputs x1, x2, input pixel and the neurons within the layer are called
x3….. And produces a single binary output. They are input neurons. The rightmost or output layer contains
associated with weights w1, w2, which express the the output neurons .The output layer of the network
importance of respective inputs to the outputs. The contains 10 neurons. If the first neurons fires, i.e. has
output of the Perceptron is 0 or 1 depending on the an output = 1 then that will indicate that the network
value of weighted sum whether it is greater than or thinks digit is 0 Similarly if the second neuron fires
less than some threshold value. then that will indicate that the neuron thinks the digit
is 1 and so on. The middle layer is called hidden
layer. Here the hidden layer contains 25 neurons
.Since the neurons in this layer are neither inputs nor
outputs. User can select the number of hidden layers
depending upon the applications. The design of the
input and output layers in the network is often
But the problem with perceptron is that a small straight-forward For example suppose we are trying to
change in weights or biases of any perceptron in the determine whether a hand written image depicts a ‘9’
network can cause a large change in the output of that or not. Here the image taken is a 20 by 20 gray scale
perceptron that can flip the output from 0 to 1 or 1 to image then we would have 400 input neurons with the
0.That flip causes large change in the behavior of the intensities scaled appropriately between 0 and 1. The
network. To overcome this problem sigmoid neuron output layer will contain just a single neuron with
was introduced. output values of less than 0.5 indicating input image is
3.2 Sigmoid Neuron not a ‘9’, and a value greater than 0.5 indicating input
image is a ‘9’.
Sigmoid neurons are similar to perceptrons, but
modified so that small changes in their weights and
biases cause only a small change in their output and
their values lie between 0 to 1.
@ IJTSRD | Available Online @ www.ijtsrd.com | Volume – 2 | Issue – 2 | Jan-Feb 2018 Page: 609
International Journal of Trend in Scientific Research and Development (IJTSRD) ISSN: 2456-6470
weights and biases which makes the cost as small as
possible this is done by the algorithm known as
gradient descent.
4.2 Pre-processing
Here ‘w’ denotes the collection of all weights in the In pre-processing stage various operation are
network, ‘b’ denotes all the biases, ‘n’ is the total no performed like on image like binarization, noise
of training inputs, ‘a’ is the vector of outputs from the removing, and edge detection.
network when x is input and the sum is over all
training inputs x. Furthermore the cost C(w,b)
becomes small, i.e. C(w,b) = 0 precisely when y(x) is
approximately equal to the output a for all training
inputs x. If C(w,b) = 0 it implies that our neural
network has done a good job. We want to find a set of
@ IJTSRD | Available Online @ www.ijtsrd.com | Volume – 2 | Issue – 2 | Jan-Feb 2018 Page: 610
International Journal of Trend in Scientific Research and Development (IJTSRD) ISSN: 2456-6470
6. CONCLUSION
This review paper represent the technique used for
recognize the hand written digits. This review paper
also focuses on that in today’s world hand writing
reorganization is very difficult but very important.
There are many applications where we need hand
writing recognition system like bank cheque and form
documents.
7. FUTURE SCOPE
We can add fuzzification with Back propagation
algorithm to improve the efficiency and correctness of
the algorithm. This algorithm can be used to
recognize multiple digits at a time and also to
recognize characters.
REFERCENCES
1. R. Plamondon and S. N. Srihari, “On-line and off-
line handwritten character recognition”: A
comprehensive survey, IEEE Transactions on
Figure 6: A Diagram of Recognition System Pattern Analysis and Machine Intelligence, Vol.
22, no. 1, 2000, 63-84.
4.3 Classification and Recognition
2. Diego J. Romero, Leticia M. Seijas, Ana M.
This stage is the decision making stage of the Ruedin, “Directional Continuous Wavelet
recognition system. The classifier contains of one Transform Applied to Handwritten Numerals
hidden layer is present. The hidden layers used log Recognition Using Neural Networks”, JCS&T,
sigmoid activation function to train the data. Vol. 7 No. 1, 2007.
4.4 Post- processing 3. Asadi, M.S., Fatehi, A., Hosseini, M. and Sedigh,
A.K. , “Optimal number of neurons for a two layer
Post processing is last stage of recognition system. It neural network model of a process”, Proceedings
prints the actual output after recognition. of SICE Annual Conference (SICE), IEEE, 2011,
2216 – 2221.
4. V.N. Manjunath Aradhya, G. Hemantha Kumar
5. Experimental Results and S. Noushath, “Robust Unconstrained
Handwritten Digit Recognition using Radon
Transform”, IEEE-ICSCN, 2007, 626-629.
@ IJTSRD | Available Online @ www.ijtsrd.com | Volume – 2 | Issue – 2 | Jan-Feb 2018 Page: 611