Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm not sure this is the right place but here I go:

I have a database of 300 picture in high-resolution. I want to compute the PCA on this database and so far here is what I do: - reshape every image as a single column vector - create a matrix of all my data (500x300) - compute the average column and substract it to my matrix, this gives me X - compute the correlation C = X'*X (300x300) - find the eigenvectors V and Eigen Values D of C. - the PCA matrix is given by X*V*D^-1/2, where each column is a Principal Component

This is great and gives me correct component.

Now what I'm doing is doing the same PCA on the same database, except that the images have a lower resolution.

Here are my results, low-res on the left and high-res on the right. Has you can see most of them are similar but SOME images are not the same (the ones I circled)

Is there any way to explain this? I need for my algorithm to have the same images, but one set in high-res and the other one in low-res, how can I make this happen?


share|cite|improve this question
up vote 1 down vote accepted

The basis vectors produced by PCA won't necessarily be in the same order after downsampling the training set, because high-frequency features won't be considered. If you need a 1:1 mapping, downsample the basis vectors themselves, rather than the training set. The resultant basis vectors won't be ordered by importance anymore, but that may not matter to you.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.