Implementation of different optimization / classification algorithms. This was done as a research project for the MSc. in Computer Engineering. The different classifiers implemented are tested on two sets of data:
- MNIST: A set of 70K (vectorized) 28x28 pixel images depicting hand-written images
- ORL: A set of 400 (vectorized) 40x30 facial images depicting 40 persons
The following classification algorithms are implemented:
- Nearest class centroid
- Nearest sub-class centroid
- Nearest neighbour
- Perceptron trained using backpropagation
- Perceptron trained using MSE
This project uses the following embedded libraries:
- Eigen: A C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- mnist-parser: A simple C++ reader for MNIST dataset