Fast PCA(principal component analysis)

asked 2013-07-30 00:39:58 -0500

updated 2016-01-29 18:43:51 -0500

I use PCA engine to compute pca but it is very slow.Is there a fast method to compute pca?

edit retag flag offensive close merge delete

Comments

give more information about your task(size of the problem, number of principal components needed etc.)

mrgloom gravatar imagemrgloom ( 2013-07-30 00:57:58 -0500 )edit

features dimension = 4000 count = 20000.

Mostafa Sataki gravatar imageMostafa Sataki ( 2013-07-30 01:17:08 -0500 )edit
1

PCA isn't supposed to run fast... It is an algorithm that has to calculate tons of covariance matrices, which takes time...

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-30 02:11:29 -0500 )edit
2

OpenCV''s PCA is indeed not the fastest one (at least at the time I used it, maybe it changed in the meantime). Either use a different library for that or try to use SVD instead, you basically solve the same problem there, see http://math.stackexchange.com/questions/3869/what-is-the-intuitive-relationship-between-svd-and-pca how they are related.

Guanta gravatar imageGuanta ( 2013-07-30 03:27:11 -0500 )edit
1

If you need only few first principal components you can use iterative methods (I don't know if they fast enough) some info here http://scicomp.stackexchange.com/questions/3220/fastest-pca-algorithm-for-high-dimensional-data

mrgloom gravatar imagemrgloom ( 2013-07-30 05:40:12 -0500 )edit