上一节介绍了主成分分析应用于2维数据。现在使用高维的图像数据来试试效果。
原始图像如图1所示。
图1
每个图片都是12*12的小patch,原始数据是一个144*10000的矩阵x。
在使用了PCA旋转之后,可以检查一下此时的协方差矩阵是否已经成功变成对角阵了,如图2所示。
avg=mean(x,1);
x=x-repmat(avg,size(x,1),1);
xRot = zeros(size(x)); % You need to compute this
[u,s,v]=svd(x*x'/size(x,2));
xRot=u'*x;
covar = zeros(size(x, 1)); % You need to compute this
covar=xRot*xRot'/size(xRot,2);
figure('name','Visualisation of covariance matrix');
imagesc(covar);</span>