PCA could be faster #198

Closed
rcurtin opened this Issue Dec 29, 2014 · 2 comments

Projects

None yet

1 participant

@rcurtin
Member
rcurtin commented Dec 29, 2014

Reported by rcurtin on 17 Oct 42162159 13:08 UTC
Right now we are transposing the data matrices:


void PCA::Apply(const arma::mat& data,
                arma::mat& transformedData,
                arma::vec& eigVal,
                arma::mat& coeffs) const
{
  arma::mat transData = trans(data);

  ...
}

I'm convinced we could avoid transposing the matrices and end up with a speed gain as a result. There is a function in arma_extend, arma::ccov(), which will be useful for this. It's the equivalent to cov(trans(matrix)), but without actually performing the transpose.

@rcurtin rcurtin self-assigned this Dec 29, 2014
@rcurtin rcurtin added this to the mlpack 1.0.7 milestone Dec 29, 2014
@rcurtin rcurtin closed this Dec 29, 2014
@rcurtin
Member
rcurtin commented Dec 30, 2014

Commented by rcurtin on 27 Jun 43359020 05:05 UTC
r15050, which was to fix #280, significantly helps this along too. Only PCA remains.

@rcurtin
Member
rcurtin commented Dec 30, 2014

Commented by rcurtin on 16 Mar 43359031 08:44 UTC
The PCA work was actually done a long time ago but I never knew. So this can be resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment