Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dimensionality Reduction: Principal Components Analysis Optional Reading: Smith, A Tutorial on Principal Components Analysis (linked to class webpage)

Similar presentations


Presentation on theme: "Dimensionality Reduction: Principal Components Analysis Optional Reading: Smith, A Tutorial on Principal Components Analysis (linked to class webpage)"— Presentation transcript:

1 Dimensionality Reduction: Principal Components Analysis Optional Reading: Smith, A Tutorial on Principal Components Analysis (linked to class webpage)

2 http://www.youtube.com/watch?v=BfTMmoDFXyE

3 Data x2x2 x1x1

4 x2x2 x1x1 First principal component Gives direction of largest variation of the data

5 Data x2x2 x1x1 Second principal component Gives direction of second largest variation First principal component Gives direction of largest variation of the data

6 Rotation of Axes x2x2 x1x1

7 Dimensionality reduction x2x2 x1x1

8 Classification (on reduced dimensionality space) + − x2x2 x1x1

9 Classification (on reduced dimensionality space) + − x2x2 x1x1 Note: Can be used for labeled or unlabeled data.

10 Principal Components Analysis (PCA) Summary: PCA finds new orthogonal axes in directions of largest variation in data. PCA used to create high-level features in order to improve classification and reduce dimensions of data without much loss of information. Used in machine learning and in signal processing and image compression (among other things).

11 Suppose attributes are A 1 and A 2, and we have n training examples. x’s denote values of A 1 and y’s denote values of A 2 over the training examples. Variance of an attribute: Background for PCA

12 Covariance of two attributes: If covariance is positive, both dimensions increase together. If negative, as one increases, the other decreases. Zero: independent of each other.

13 Covariance matrix – Suppose we have n attributes, A 1,..., A n. – Covariance matrix:

14 Covariance matrix

15 Eigenvectors: – Let M be an n  n matrix. v is an eigenvector of M if M  v = v is called the eigenvalue associated with v – For any eigenvector v of M and scalar a, – Thus you can always choose eigenvectors of length 1: – If M is symmetric with real entries, it has n eigenvectors, and they are orthogonal to one another. – Thus eigenvectors can be used as a new basis for a n-dimensional vector space. Review of Matrix Algebra

16 Principal Components Analysis (PCA) 1.Given original data set S = {x 1,..., x k }, produce new set by subtracting the mean of attribute A i from each x i. Mean: 1.81 1.91 Mean: 0 0

17

18 2.Calculate the covariance matrix: 3.Calculate the (unit) eigenvectors and eigenvalues of the covariance matrix: x y xyxy

19 Eigenvector with largest eigenvalue traces linear pattern in data

20 4.Order eigenvectors by eigenvalue, highest to lowest. In general, you get n components. To reduce dimensionality to p, ignore n  p components at the bottom of the list.

21 Construct new “feature vector” (assuming v i is a column vector). Feature vector = (v 1, v 2,...v p ) V1V1 V2V2

22 5.Derive the new data set. TransformedData = RowFeatureVector  RowDataAdjust where RowDataAdjust = transpose of mean-adjusted data This gives original data in terms of chosen components (eigenvectors)—that is, along these axes.

23

24 Intuition: We projected the data onto new axes that captures the strongest linear trends in the data set. Each transformed data point tells us how far it is above or below those trend lines.

25

26 Reconstructing the original data We did: TransformedData = RowFeatureVector  RowDataAdjust so we can do RowDataAdjust = RowFeatureVector -1  TransformedData = RowFeatureVector T  TransformedData and RowDataOriginal = RowDataAdjust + OriginalMean

27

28 Textbook’s notation We have original data X and mean-subtracted data B, and covariance matrix C = cov(B), where C is an N×N matrix: We find matrix V such that the columns of V are the N eigenvectors of C and where λ i is the ith eigenvalue of C. Each eigenvalue in D corresponds to an eigenvector in V. The eigenvectors, sorted in order of decreasing eigenvalue, become the “feature vector” for PCA.

29 With new data, compute TransformedData = RowFeatureVector  RowDataAdjust where RowDataAdjust = transpose of mean-adjusted data

30 What you need to remember General idea of what PCA does – Finds new, rotated set of orthogonal axes that capture directions of largest variation – Allows some axes to be dropped, so data can be represented in lower-dimensional space. – This can improve classification performance and avoid overfitting due to large number of dimensions.

31 Example: Linear discrimination using PCA for face recognition (“Eigenfaces”) 1.Preprocessing: “Normalize” faces Make images the same size Line up with respect to eyes Normalize intensities

32

33 2.Raw features are pixel intensity values (2061 features) 3.Each image is encoded as a vector  i of these features 4.Compute “mean” face in training set:

34 Subtract the mean face from each face vector Compute the covariance matrix C Compute the (unit) eigenvectors v i of C Keep only the first K principal components (eigenvectors) From W. Zhao et al., Discriminant analysis of principal components for face recognition.

35

36 The eigenfaces encode the principal sources of variation in the dataset (e.g., absence/presence of facial hair, skin tone, glasses, etc.). We can represent any face as a linear combination of these “basis” faces. Use this representation for: Face recognition (e.g., Euclidean distance from known faces) Linear discrimination (e.g., “glasses” versus “no glasses”, or “male” versus “female”) Interpreting and Using Eigenfaces

37 Eigenfaces Demo http://demonstrations.wolfram.com/FaceRecognitionUsingTheEigenfaceAlgorit hm/ http://demonstrations.wolfram.com/FaceRecognitionUsingTheEigenfaceAlgorit hm/

38 Kernel PCA PCA: Assumes direction of variation are all straight lines Kernel PCA: Maps data to higher dimensional space,

39 From Wikipedia Original data Data after kernel PCA

40 Kernel PCA Use Φ(x) and kernel matrix K ij = Φ(x i )  Φ(x j ) to compute PCA transform. (Optional: See 10.2.2 in textbook, though it might be a bit confusing. Also see “Kernel Principal Components Analysis” by Scholkopf et al., linked to the class website ).

41 Kernel Eigenfaces (Yang et al., Face Recognition Using Kernel Eigenfaces, 2000) Training data: ~ 400 images, 40 subjects Original features: 644 pixel gray-scale values. Transform data using kernel PCA, reduce dimensionality to number of components giving lowest error. Test: new photo of one of the subjects Recognition done using nearest neighbor classification


Download ppt "Dimensionality Reduction: Principal Components Analysis Optional Reading: Smith, A Tutorial on Principal Components Analysis (linked to class webpage)"

Similar presentations


Ads by Google