【问题标题】:Eigen vector in SVDSVD 中的特征向量
【发布时间】:2023-03-08 01:14:01
【问题描述】:

我将从我的矩阵数据中计算特征值和特征向量来进行分类。

行代表不同的类,列代表特征。

所以,例如,如果我有

 X= 
  [2 3 4]  
  [3 2 4]   
  [4 5 6]  
  [8 9 0]

我必须使用 SVD 而不是 PCA,因为矩阵不是正方形。

我所做的是:

  1. 计算每一行的平均值。所以我有

    Mean=  
      M1  
      M2  
      M3  
      M4
    
  2. 用平均值减去我的矩阵 X

     Substract= 
    
    [2-M1 3-M1 4-M1]  
    [3-M2 2-M2 4-M2]   
    [4-M3 5-M3 6-M3]  
    [8-M4 9-M4 0-M4]
    
  3. 协方差矩阵 = (Substract*Substract^t)/(4-1)

  4. [U,S,V] = svd(X)

我的步骤都正确吗?通过计算每一行的平均值(作为类)?

如果我想将我的数据投影到特征空间(用于降维),那么特征向量(U 或 V)是什么?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    无论您的矩阵是否为正方形,您都可以进行 PCA。事实上,您的矩阵很少是方形的,因为它的形式为n*p,其中n 是观察数,p 是特征数。因此您可以使用 MATLAB 的 pricomp 函数

    [W, pc] = princomp(data);
    

    其中W 是权重矩阵,pc 是主成分得分。您可以通过以下方式查看您的数据投影到主成分空间中,

    plot(pc(1,:),pc(2,:),'.'); 
    

    在第一和第二主成分方向显示您的数据。

    【讨论】:

      猜你喜欢
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2014-05-11
      • 2019-04-16
      相关资源
      最近更新 更多