【问题标题】:Determine the 'greatest' singular vector of U matrix after SVD in Matlab在 Matlab 中确定 SVD 后 U 矩阵的“最大”奇异向量
【发布时间】:2016-10-16 12:38:51
【问题描述】:

已知在Matlab SVD函数输出三个矩阵:[U,S,V] = svd(X)。 实际上,“U”是一个 m X m 方阵,其中 m 是行数/列数。此外,“S”是一个维度为 m X n 的非方阵,它按降序(对角线)存储 n 个奇异值(由 U 矩阵的左奇异向量产生)。

我的问题是如何确定(在 Matlab 中)矩阵“U”的哪些“m”奇异向量对应于“S”矩阵的第一个(最大)奇异值。此外,特定奇异向量的一些值是正的,而另一些是负的。这个减号或加号是否隐藏了任何数学含义?我已经看到使用“最大”奇异向量的符号作为分类目的的示例。

【问题讨论】:

    标签: matlab matrix svd


    【解决方案1】:

    S 矩阵的对角线包含奇异值。所以对于第i个奇异值(在S矩阵的第i,i个位置),第i列的U和V向量分别为两个约束方程。

    我不认为 +/- 隐藏任何特殊含义。毕竟,您可以将 U 和 V 矩阵都乘以 -1 常数,结果仍然有效。

    【讨论】:

      【解决方案2】:
      • 为了完全准确,根据定义,SVD 的奇异值不必重新排序,但 MATLAB SVD 会重新排序。

      U 的第 i 列对应于 M 的第 i 个奇异值。 即对于第 i 个奇异值 sigma_j,存在 j 使得

      M* .u_i = sigma_j v_j
      

      你也有

      M. v_j = sigma_i u_i
      

      请注意,它可能不是您想要的。

      • 奇异值的坐标是原始基础中的坐标。正值意味着您的新变量与相应的原始变量成正比。在统计中,当您知道原始变量和转换后的变量同时增加或减少时,通常会使用它。

      【讨论】:

        猜你喜欢
        • 2014-06-21
        • 2012-12-25
        • 2016-01-10
        • 2015-04-11
        • 2015-12-18
        • 2020-05-23
        • 2019-02-28
        • 2014-07-14
        • 1970-01-01
        相关资源
        最近更新 更多