This homework is able to recognize a person's face by comparing facial images to that of a known person. The algorithm projects the image onto a "face space" composed of a complete basis of "eigenfaces." Dataset: http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 1. Please download tar or zip file. 2. There 40 subjects in this datasets and each subject has ten images. The size of image is 112 x 92 pixels. Tasks: 1. Do classification using KNN (1NN in this project) with the following techniques: 1.1 Using 5-fold cross validation 1.2 In each cross validation, using PCA to reduce the dimensionality of images 1.2.1 you should centerize the images 1.2.2 plot the eigenvalues out and select the cut down value by the figure 2. Resize images from 112 x 92 to 56 x 46 and repeat Task 1, compare the new results to the results using un-resized images. 3. Apply LDA to replace PCA for dimensionality reduction and repeat Task 1; (you need use pseudo inverse of matrix calculation in MATLAB) 4. Repeat Task 3, but run PCA first to reduce the image dimensionality to the number of training data, then using LDA to reduce the image dimensionaltiy. 5. Implement kernel SVM to do classification with 5-fold cross validation (any kernel is ok) 6. Repeat Task 5, but run PCA to reduce the image dimensionaltiy first. From the above tasks, is KNN or SVM more sensitive to the high dimensionaltiy of data? Deadline: Dec. 12 midnight. simple report + source code