【发布时间】:2018-11-04 09:47:23
【问题描述】:
我正在尝试对 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 行)协方差 = cov(imagesShifted);
imagesShifted 是一个 784x60000 双矩阵。
我使用的是 MacBook Pro 2015,配备 16GB RAM、2.8 GHz 处理器和专用显卡。
我查看了 memory 命令的帮助菜单,但该信息似乎只与 Windows 机器相关。还查看了 MathWorks 网站以解决内存不足问题,但不确定如何根据该信息继续操作。
我该如何解决这个问题?
【问题讨论】:
-
您需要 60,000x60,000 矩阵输出还是 784x784 矩阵输出?如果是这样,您需要在放入协方差函数之前转置矩阵。另外,MATLAB 有一个专用的 pca 函数mathworks.com/help/stats/pca.html
标签: matlab statistics pca covariance