我想做出类似的图来此上的图片给出: 如何找到特征值非二次矩阵
我使用费舍尔虹膜数据,并采用PCA,以减少维数。 这是代码:
load fisheriris
[pc,score,latent,tsquare,explained,mu] = princomp(meas);
我猜的特征值在潜伏性的给予,那就说明我只有四个特性,并减少约数据。
我的问题是如何显示原始矩阵的所有特征值,这不是二次的(150x4)?请帮忙!非常感谢您提前!
我想做出类似的图来此上的图片给出: 如何找到特征值非二次矩阵
我使用费舍尔虹膜数据,并采用PCA,以减少维数。 这是代码:
load fisheriris
[pc,score,latent,tsquare,explained,mu] = princomp(meas);
我猜的特征值在潜伏性的给予,那就说明我只有四个特性,并减少约数据。
我的问题是如何显示原始矩阵的所有特征值,这不是二次的(150x4)?请帮忙!非常感谢您提前!
简短(而且没用)的答案是[V,D] eig(_)函数为您提供了特征向量和特征值。不过,恐怕我对你有坏消息。特征值和特征向量仅存在于矩阵中,因此您的150x4矩阵的特征向量有no。
所有不会丢失。 PCA实际上使用协方差矩阵的特征值,而不是原始矩阵的特征值,并且协方差矩阵总是平方的。也就是说,如果您有矩阵A,则协方差矩阵为AA T。
协方差矩阵不仅是平方的,它是对称的。这很好,因为矩阵的奇异值与它的协方差矩阵的特征值有关。检查以下Matlab代码:
A = [10 20 35; 5 7 9]; % A rectangular matrix
X = A*A'; % The covariance matrix of A
[V, D] = eig(X); % Get the eigenvectors and eigenvalues of the covariance matrix
[U,S,W] = svd(A); % Get the singular values of the original matrix
V是包含特征向量的矩阵,D包含特征值。现在,以下关系:
SS Ť〜d
ü〜Ⅴ类
我用 '〜' 以指示而它们是 “相等”,符号和顺序可以变化。对于特征向量没有“正确的”顺序或符号,所以任一个都是有效的。不幸的是,你将只有四个特征(除非你的数组本来就是相反的)。
非常好的回应!非常感谢!!! – user19565
那么问题是什么呢?你不能指望一个150×4矩阵有超过4个特征值 – patrik
她想确定非矩阵矩阵的特征值,这当然不存在,而不是术语特征值我们有奇异值,我们可以通过svd分解找到例如 –
当然,但仍然不超过4个奇异值。顺便说一下,顺便说一句,可以发现与svd +1 – patrik