我正在尝试对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网站上的内存不足问题,但不确定如何根据该信息进行操作。
如何解决这个问题?
答案 0 :(得分:1)
对于大型数据集,建议您使用matlab的princomp函数,并激活“ econ”标志。
https://es.mathworks.com/help/stats/princomp.html
或者将pca函数带有标志“经济”或指示您想要的“ NumComponents”。