如何选择主要组件的数量?

时间:2017-05-06 18:02:22

标签: matlab image-processing pca

我使用PCA算法来减少维度。这是我在MATLAB中进行降维的代码:

%Definition of Input Data Matrix
X=[2 13 4 5 4;
   5 14 2 8 5;
   7 8 14 9 8;
   16 5 8 9 22;
   13 24 25 4 44]

% Calculation of Covarian Matrix.
covmat=cov(X)

%Caculation of Eigenvalues and Eigenvectors
eigval=eig(covmat)
[eigvec,D]=eig(covmat)

% Sorting of EigenValues and EigenVectors
[eigval,index]=sort(eigval,'descend');
eigvec=eigvec(:,index);
W=eigvec;

%new data by EigenVectors
T=X*W;

%dimension reduction N=your value
TN=X*W(:,1:N);

在最后一行中,我们必须将N设置为所需的维度数。 PCA试图最小化平均投影误差,数据的总变化可以定义为数据的平均值,表示训练样例离原点有多远。

通常,我们选择N来满足以下条件:

enter image description here

如何在matlab中计算这个值来定义N?

有关PCA的更多信息,请访问here.

0 个答案:

没有答案