Sparse PCA through Low-rank Approximations