I have just stumbled across this and I see if the CUDA-enabled PCA was faster, but I saw that the documentation contains a possible typo, or at least raises some doubt about what is implemented as PCA.
The algorithm implemented here was first implemented with CUDA in [Andrecut, 2008]. It performs NONLINEAR dimensionality reduction for a data matrix, mapping the data to a lower-dimensional space of K.
Now, PCA, in its vanilla version is absolutely linear. If this is a Kernel PCA, or a Multilinear PCA or any of the other methods based on PCA that are non-linear I believe it should be mentioned in the documentation.
I believe the solution to this is, after verification, to either replace the term non-linear with linear or to properly explain what aspects of non-linearity are at play here and what, specifically, is the non-linear implementation of PCA used.
Again, thank you for creating this package and keep up the good work!
Problem
Hello and thank you for creating this package.
I have just stumbled across this and I see if the CUDA-enabled PCA was faster, but I saw that the documentation contains a possible typo, or at least raises some doubt about what is implemented as PCA.
Specifically, the PCA documentation states:
Now, PCA, in its vanilla version is absolutely linear. If this is a Kernel PCA, or a Multilinear PCA or any of the other methods based on PCA that are non-linear I believe it should be mentioned in the documentation.
I believe the solution to this is, after verification, to either replace the term non-linear with linear or to properly explain what aspects of non-linearity are at play here and what, specifically, is the non-linear implementation of PCA used.
Again, thank you for creating this package and keep up the good work!