Train a model to classify “bush vs not bush” and “williams vs not williams” face recognition To understand performance of various classifiers for authentication using facial classification Task: Identify the dataset Understanding the data -size of the images, quality of images Feature analysis - number of features, Try out various classifiers and understand differences in performance
Train two models for “bush vs not bush” and “williams vs not williams”. Use k-nearest neighbours with and without Principle Component Analysis, Support Vector Classifier and Deep Convolutional Neural Networks. Compare the mean F1 score for each of these classifiers using different parameter settings available for the classifiers. Report the best mean F1 score for each of the classifier along with the parameter values that gave the best results. Implemented supervised learning models for facial recognition. Trained and tested k-nearest neighbours , Support Vector Classifier and Deep Convolutional Neural Networks for face recognition using low-resolution facial images. Performed Principle Component Analysis for feature reduction and improved performance. Built a CNN using supplementary data and performed transfer learning to address data shortage.
For the KNN classifier I learnt that when the value for k is small, the classifier has less bias and more variance. For SVC classifier with the dataset I used for training, the value of error penalty C in the range of 10^2 - 10^5 and a relatively small gamma value gives me a better mean F1 score. Smaller gamma value implies the model has less bias and high variance. For KNN with Principal Component Analysis for feature reduction I observed that because the dataset had low resolution pictures for training the classifier gave me a better F1 score when I reduced the features considerably. When working with deep neural networks I learnt that since the dataset for positive cases, i.e images for Bush and Serena Williams is very small if I added more than 2 hidden layers to my neural network the score did worse. I also observed that for my neural network, if I increased the number of epochs the accuracy got better and the loss decreased but only upto a certain number of epochs. After that the value for accuracy and loss pretty much remained constant.