Digit Recognition
Handwritten digit recognition is a pivotal challenge in computer vision and machine learning, employing a model trained solely on ANN.
Technologies Used
This handwritten digit recognition system employs the following technologies:
- Python: Utilized for machine learning and data analysis.
- Keras: A high-level neural networks API running on TensorFlow for model construction and training.
- JavaScript: Primary language for web-based applications.
- TensorFlow.js: JavaScript library for training and deploying ML models in browsers.
Dataset and Preprocessing
The MNIST dataset, comprising 60,000 training images and 10,000 testing images of handwritten digits, was utilized. Each image is a grayscale 28x28 pixel image.
Model Architecture
The model relies on an ANN for handwritten digit recognition, designed to capture features efficiently:
-
Fully Connected Layers: These layers handle digit classification by mapping flattened features to respective classes.
-
Output Layer: Employs the softmax activation function to generate probability predictions for each digit class.
Training and Evaluation
Training involves feeding preprocessed images and labels to optimize the model's parameters using cross-entropy loss and stochastic gradient descent (SGD) as the optimizer. Post-training evaluation assesses the model's performance using metrics like accuracy on testing images.
Deployment and User Interface
The trained model is deployable in browsers through TensorFlow.js. A user-friendly interface enables users to draw digits using mouse or touch input, with the model predicting the input digit.