PCA can be considered an affine transformation: When we consider a 2D dataset and compute its projection onto the 2 principal axes, we come up with another 2D dataset - the principal components. These are just points which are rotated and maybe scaled with respect to the original dataset.

Now, my question: How do we find out the affine transformation / rotation matrix that converts the original dataset to the principal components?

I know how the SVD can be used to perform PCA. Basically, after we perform SVD on the original data, we end up with:

Data = U * Sigma * V^T
PCs =  U * Sigma = Data * V
eigenVals = Sigma**2 / (self.m - 1), where there are m rows in Data
eigenVecs = V

So, I get the PCs simply by multiplying the data-matrix with V. But this does not make V my affine transform, does it? Sorry to be so confused.

  • $\begingroup$ Do you understand what the three matrices of the SVD represent? $\endgroup$
    – amd
    Apr 14, 2020 at 20:11
  • $\begingroup$ V represents the eigenvectors. These are the principal axes, i.e. the axes along which features of the input data show maximum variance. Sigma is a diagonal matrix that has singular values, i.e. squared eigenvalues, on its diagonal. The eigenvalues give a measure as on how "important" each of the eigenvectors is - i.e. how well this principal axis represents the original data. I don't know what U is there for, I think there is no intuitive explanation for U. But none of these matrices seem to represent an affine transform. $\endgroup$
    – Luk
    Apr 15, 2020 at 7:38


You must log in to answer this question.

Browse other questions tagged .