在python中设置svd算法的维度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中设置svd算法的维度相关的知识,希望对你有一定的参考价值。

svd公式:A ≈ UΣV*我使用numpy.linalg.svd来运行svd算法。我想设置矩阵的维度。

例如:A=3*5维度,运行numpy.linalg.svd,U=3*3维度,Σ=3*1维度,V*=5*5维度。

我需要设置像U=3*64维度,V*=64*5维度这样的特定维度。但似乎没有可选的维度参数可以在numpy.linalg.svd中设置。

答案

如果A3 x 5矩阵,那么它的排名最多为3.因此A的SVD包含最多3个奇异值。请注意,在上面的示例中,奇异值存储为向量而不是对角矩阵。通常这意味着您可以在底部用零填充矩阵。由于完整的S矩阵在对角线上包含3个值,然后是其余的0(在您的情况下,它将是64x64,具有3个非零值),V的底行和U的右行根本不会相互作用,并且可以设置你想要的任何东西。

请记住,这不再是A的SVD,而是矩阵的浓缩SVD增加了大量的0。

以上是关于在python中设置svd算法的维度的主要内容,如果未能解决你的问题,请参考以下文章

vscode中设置vue代码片段

如何在android的片段中设置应用程序上下文?

在python中设置openCV跟踪API的参数

主成分分析法(PCA)(含SVD奇异值分解)等降维(dimensionality reduction)算法-sklearn

是否可以在片段类中设置 ViewPager?

从活动中设置片段的参数