【问题标题】:understanding of cumsum dfunctioncumsum函数的理解
【发布时间】:2014-04-17 09:36:56
【问题描述】:

假设我们对一些矩阵进行了 SVD 分解

[U E V]=svd(X);

我想画出奇异值的累积和的图,所以我这样做了

sigmas=diag(E);
 %figure; plot(log10(sigmas)); title('Singular Values (Log10 Scale)');
figure; plot(cumsum(sigmas) / sum(sigmas)); title('Cumulative Percent of Total Sigmas');

并得到以下图表

我开始理解这张图表,正如我们看到的,直到大约 4,线不是线性的,但是在 4 之后它变成线性,这是否意味着前四个奇异值对图表的影响最大?其他的影响只是有点小?提前谢谢

【问题讨论】:

  • 你得到了多少个 SVD?我最初假设有四个值,如果您使用plot(..., '*b') 绘制,您会发现这不是分段线性图,而只是连接在一起的四个数据点。但是,我不再相信情况会如此。您能否提供有关变量Xsigmas 的更多信息?
  • sigmas 是 15 ,它们是 15 个奇异值

标签: matlab svd cumsum


【解决方案1】:

在不了解数据的情况下,我无法解释为什么奇异值会以它们在这里的方式出现。但是,通常在数学中,较大的奇异值意味着该数据的“重要性”更高。

我不确定我们为什么要查看归一化累积和;然而,从这些结果我们可以推断出具有相同(或几乎相同)值的奇异值的不同“组”,并且较早的组具有更大的奇异值。

同样,在没有看到数据的情况下,这似乎意味着在矩阵的特征向量中存在人为的“分组”。而且,由于较小的值对这些特征向量的权重较小,因此您的第一个奇异值代表更“重要”的特征值。

由您的数据和应用程序决定后续奇异值的影响是否“小”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2022-11-13
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多