协方差函数-内存不足

时间:2018-11-04 09:47:23

标签: matlab statistics pca covariance

我正在尝试对MNIST数据集执行PCA。到目前为止,我有以下代码。

...load data into MATLAB

% Centre data matrix
imagesMean = mean(images);
imagesShifted = images - imagesMean;

% Compute covariance matrix of mean shifted images
covariance = cov(imagesShifted);

尝试这样做会给我以下答复:

  

内存不足。输入“帮助内存”作为选项。

     

cov中的错误(第155行)c =(xc'* xc)./ denom;

     

PCA中的错误(第27行)covariance = cov(imagesShifted);

imagesShifted是784x60000双矩阵。

我正在使用配备16GB RAM和2.8 GHz处理器以及专用图形卡的MacBook Pro 2015。

我在帮助菜单下查找了memory命令,但该信息似乎只与Windows计算机有关。还查看了MathWorks网站上的内存不足问题,但不确定如何根据该信息进行操作。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

对于大型数据集,建议您使用matlab的princomp函数,并激活“ econ”标志。

https://es.mathworks.com/help/stats/princomp.html

或者将pca函数带有标志“经济”或指示您想要的“ NumComponents”。

https://es.mathworks.com/help/stats/pca.html