This is a presentation about my internship at Eckovation.
The title of the internship was to Build a Neural Network from scratch and train it to read handwriting using MNIST dataset
1. Teach a Neural Network
to read Handwriting
SUBMITTED TO ECKOVATION UNDER MACHINE LEARNING INTERNSHIP BY
SPRIHA SRIVASTAVA
2. What is Machine Learning?
• Machine learning (ML) is a category of algorithms that allows software applications
to become more accurate in predicting outcomes without being explicitly
programmed.
• Machine learning is a subset of artificial intelligence in the field of computer science
that often uses statistical techniques to give computers the ability to "learn"
• Machine learning algorithms are often categorized as supervised or unsupervised
3. Artificial Neural Network
• An artificial neural network is an interconnected group of nodes, akin to the vast
network of neurons in a human brain
• Neural Networks as a mathematical function that maps a given input to a desired
output. Neural Networks consist of the following components:
1. An input layer, x
2. An arbitrary amount of hidden layers
3. An output layer, ŷ
4. A set of weights and biases between each layer, W
and b
5.A choice of activation function for each hidden layer, σ.
4. MNIST Dataset
• The MNIST database, is a large database of handwritten digits that is commonly
used for training various image processing systems
• The MNIST dataset, is a database of 70,000 handwritten digits, divided into 60,000
training examples and 10,000 testing samples
5. Classifier Used
• Classifier used – Support Vector Machine (SVM)
• An SVM is basically a binary classifier and multiple SVMs can be used to form a
classification system. We generally call an SVM classification system as SV classifier
(SVC).
• An SVM model is a representation of the examples as points in space, mapped so
that the examples of the separate categories are divided by a clear gap that is as
wide as possible.
• In short, an SVM separates classes or performs classification, hence it uses
Supervised Learning.
6. How The Project Works?
For classification, the SVM algorithm works as follows:
• Load the MNIST data.
• Divide and label the data as Training and Testing Image and labels.
• Use cross validation to divide the training data into training and testing data to
train the classifier.
• Train the SVM Classifier. Provide training data and labels as input to train the
classifier. SVM uses the existing labelled data to learn and then classifies the
unlabelled data based on that learning.
• The digit recognized using SVM is then matched with the provided Training Labels
to get the score/accuracy of the trained classifier.
• The Test Image data is used to predict the labels of digits and is compared with the
provided test labels to see for the accuracy of the algorithm.
• The Confusion Matrix is printed that provides the percentage of accuracy with
which each digit has been recognized.