Implement the Fisher's linear discriminant algorithm in MATLAB and apply it to the Olivetti face dataset, available for download on the course homepage^{1}.
The dataset contains 7200 images of 4 persons (4 classes). Each image consists of
gray scale values (use `imagesc` and `colormap gray` for visualization). Apply the two dimension reduction methods PCA (see `processpca`) and Fisher's linear discriminant (FLD) to project the data to low dimensional subspaces. Compare the separation of image classes in this subspaces for PCA and FLD by means of the area under ROC curves (AUC).

- Apply PCA and FLD to all images of persons 1 and 2 and project the data to the 1 dimensional space spanned by the 1st principle component (PC) or the Fisher's linear discriminant.
- Calculate the AUC for a linear classifier in this 1 dimensional space.
- Repeat the experiment described in 1 and 2 for three classes, i.e. images of persons 1, 2, and 3, where images are projected to a 2 dimensional subspace spanned by the first two PCs or the two FLDs.
- Calculate the AUC for a linear classifier in this 2 dimensional subspace with a weight vector that is parallel to a line passing through both class centers in the 2 dimensional subspace.
- Repeat the experiment described in 3 and 4 for four classes, i.e. images of persons 1, 2, 3, and 4, where images are projected to a 3 dimensional subspace spanned by the first three PCs or the three FLDs.
- Visualize the eigenfaces (principle components) and the FLDs and interpret them.
- Discuss the dependence of the AUC on the dimensionality of the low dimensional subspaces, i.e. the number of PCs and FLDs.