Skip to content

Danish-Imran/DigitClassifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python

A trainable, learning neural-network built in Python without using any machine learning libraries. The network, which is customizable in size, performs a forward pass beginning with randomized weights and biases. It then repeatedly runs backpropagation to learn from its mistakes, minimizing the loss function by calculating the gradient of every node and doing gradient descent. Around 30 epochs were ran on 20,000 training images due to performance limitations.

Using a multilayer perceptron (MLP) architecture, it can recognize handwritten digits with up to 86% accuracy. To improve this model to match industry standards, a CNN architecture could be used as those perform better on image classification tasks, the loss function could be changed to cross-entropy loss, and calculations could be performed using matrices to drastically improve performance.

The weights of the model are in the model.json file. Credit to Andrej Karpathy for his tutorials on micrograd.

About

Neural network in Python built from scratch, without the use of any machine learning libraries. Performs forward pass and backpropagation to iteratively learn from mistakes and improve accuracy. Recorded 86% accuracy on the MNIST dataset.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages