我正在使用MATLAB实现PCA算法。我看到有两种不同的方法来计算协方差矩阵:
C = sampleMat.' * sampleMat ./ nSamples;
并且
C = cov(data);
这两种方法有什么区别?
PS 1: 当我使用cov(data)时,是否无用:
meanSample = mean(data,1);
data = data - repmat(data, nSamples, 1);
PS 2:
首次接触时,我应该使用 nSamples
还是 nSamples - 1
?
tic; cov(data); toc
与tic; sampleMat.' * sampleMat ./ nSamples; toc
。我怀疑对于仅运行1次,差异将微不足道。 - Rody Oldenhuis