This is an implementation of following classifiers in Numpy. I have implemented the forward and backward pass from scratch without the help of autograd. To be sure whether my anaytical gradients are correct I have used centeral difference operator to find the relative error betweeen the two. I have also written a cross-validation mechanism for hyperparameter tuning.
- k-Nearest Neighbor classifier : The notebook knn.ipynb will walk you through implementing the kNN classifier.
- Support Vector Machine : The notebook svm.ipynb will walk you through implementing the SVM classifier.
- Softmax classifier: The notebook softmax.ipynb will walk you through implementing the Softmax classifier.
- two-Layer Neural Network: The notebook two_layer_net.ipynb will walk you through the implementation of a two-layer neural network classifier.
- Higher Level Representations: Image Features : The notebook features.ipynb will examine the improvements gained by using higher-level representations as opposed to using raw pixel values.