top of page

Hand-Written Character Recognition Using Multi-Class
Support Vector Machine (SVM)

MINST_edited.jpg

What?

  • Developed a handwritten digit recognition system using Multi-Class Support Vector Machine (SVM) on the MNIST dataset.
  • Trained an SVM classifier to distinguish between digits 0-9 using hyperplanes and a Directed Acyclic Graph (DAG) approach.
  • Explored different γ (gamma) values to optimize classification accuracy, incorporating feature engineering and parallel computing for efficiency.

How?

  • Data Preprocessing: Trimmed image borders to remove noise, normalized pixel values (0-255 → 0-1), and sorted data for efficient computation.
  • Feature Engineering: Applied image sharpening to enhance digit features while reducing irrelevant information.
  • SVM Model Training: Used quadratic programming to optimize hyperplanes, iterating over multiple γ values to find the best margin for classification.
  • Parallel Computing Optimization: Implemented MATLAB parallel-for loops (parfor) to speed up training
  • Testing & Evaluation: Used a Directed Acyclic Graph (DAG) to efficiently classify digits, analyzed performance with confusion matrices, and computed error rates.

Result

  • High Training Accuracy: Achieved 98.44% accuracy at γ = 1e5, minimizing error rates.
  • Testing Accuracy: Maximum 92.35% accuracy with feature engineering, improving classification reliability.
  • Faster Computation: Parallel computing reduced training time from 6.5 hours to 40 minutes, enhancing model efficiency.
  • Click Here to see the detailed report.

Project Images

bottom of page