svd相关内容

在Python3中从奇异值分解重构矩阵

好,基本上我的问题是,我有一个矩阵,我把它奇异值分解,然后把它放在变量u,s和v中,我对s矩阵做了一些修改,使它成为对角线,还修改了一些数字。现在我基本上是试着把它重建成一个正则矩阵,从这3个矩阵恢复到原来的矩阵。有谁知道有什么函数可以做到这一点吗?我似乎在NumPy中找不到任何这样的例子。 推荐答案 唯一稍微有点棘手的是s如果您已经安装了scipy它有scipy.linalg.dia ..
发布时间:2022-04-12 10:51:15 Python

CPU 和 GPU 中的 SVD 速度

我在 Matlab R2014a 中测试 svd 似乎没有 CPU vs GPU 加速.我正在使用 GTX 460 卡和 Core 2 duo E8500. 这是我的代码: %test SVDn=10000;%主持人Mh=兰特(n,1000);抽动%[Uh,Sh,Vh]= svd(Mh);svd(兆赫);目录%设备Md = gpuArray.rand(n,1000);抽动%[Ud,Sd,V ..
发布时间:2022-01-10 15:55:26 其他开发

使用 sklearn 在大型稀疏矩阵上执行 PCA

我正在尝试在巨大的稀疏矩阵上应用 PCA,在下面的链接中它说 sklearn 的 randomPCA 可以处理 scipy 稀疏格式的稀疏矩阵.在非常大的稀疏矩阵上应用 PCA 但是,我总是出错.有人可以指出我做错了什么. 输入矩阵 'X_train' 包含 float64 中的数字: >>>type(X_train)> ..
发布时间:2021-12-25 14:55:31 Python

取多少个主成分?

我知道主成分分析对矩阵进行 SVD,然后生成特征值矩阵.为了选择主成分,我们只需要取前几个特征值.现在,我们如何决定我们应该从特征值矩阵中获取的特征值的数量? 解决方案 要决定保留多少特征值/特征向量,您应该首先考虑进行 PCA 的原因.您这样做是为了减少存储需求、减少分类算法的维数,还是出于其他原因?如果您没有任何严格约束,我建议绘制特征值的累积总和(假设它们按降序排列).如果在绘图之前 ..
发布时间:2021-12-14 10:09:37 AI人工智能

鸡尾酒会算法 SVD 实现......在一行代码中?

在 Coursera 的斯坦福大学的 Andrew Ng 的机器学习介绍性讲座中的幻灯片中,鉴于音频源是由两个空间分离的麦克风录制的,他针对鸡尾酒会问题给出了以下一行 Octave 解决方案: [W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x'); 幻灯片底部是“来源:Sam Roweis、Yair Weiss、Eero Simoncelli ..
发布时间:2021-12-14 10:05:57 AI人工智能

MATLAB eig 有时会返回反转符号

我正在尝试编写一个程序来获取任意大小的矩阵 A,然后 SVD 对其进行分解: A = U * S * V' 其中A是用户输入的矩阵,U是A * A'的特征向量组成的正交矩阵,S是奇异值的对角矩阵,V是A' * A的特征向量的正交矩阵. 问题是:MATLAB 函数eig 有时会返回错误的特征向量. 这是我的代码: 函数 [U,S,V]=badsvd(A)W=A*A';[U,S]=e ..
发布时间:2021-12-08 15:05:57 其他开发

Python (NumPy, SciPy),找到矩阵的零空间

我试图找到给定矩阵的零空间(Ax=0 的解空间).我找到了两个例子,但我似乎无法让任何一个工作.此外,我无法理解他们正在做什么才能到达那里,所以我无法调试.我希望有人能引导我完成这个. 文档页面(numpy.linalg.svd 和 numpy.compress) 对我来说是不透明的.我通过创建矩阵 C = [A|0]、找到减少的行梯形形式并逐行求解变量来学习做到这一点.在这些示例中,我似乎 ..
发布时间:2021-12-08 09:34:51 Python

sci-kit 学习 TruncatedSVD 解释_variance_ratio_ 不是降序排列?

这个问题实际上是这个问题的重复,但在撰写本文时仍未得到答复. 为什么来自 TruncatedSVD 的 explained_variance_ratio_ 不像来自 PCA 那样按降序排列?根据我的经验,列表的第一个元素似乎总是最低的,然后在第二个元素处,该值向上跳,然后从那里按降序排列.为什么 explained_variance_ratio_[0] explained_variance_ ..
发布时间:2021-07-16 20:23:05 Python

机器学习鸡尾酒会音频应用

我对此帖子有疑问:在一行代码中使用鸡尾酒会算法SVD? 我意识到也有类似的问题.但是,请注意,我的特定问题使事情朝着新的方向发展,因为我正在寻找纯Python等效的东西.用Python 3.5编写时(相对于原始的Octave“一行代码"),此过程是否优雅/简单?还包括与此应用程序相关的所有Python库.当然,如果事实证明Python根本不支持这种应用程序,请解释原因. 我只是想征询一 ..
发布时间:2021-05-31 18:36:20 AI人工智能

在PyTorch中加速SVD

我正在用Pytorch为CIFAR10做一些分类任务,对于每次迭代,我必须对每个批次进行一些预处理,然后才能反馈到模型.以下是每批预处理部分的代码: S = torch.zeros((batch_size,C,H,W))对于我在范围内(batch_size):img =批处理[i,:,:,:]对于范围(C)中的c:U,_,V = torch.svd(img [c])S [i,c] = U [: ..
发布时间:2021-04-15 18:54:30 Python

从Eigen库使用SVD时抛出错误的分配异常

在我的应用程序中,我想从具有 double 项的给定数据矩阵中获得左奇异矢量,这在代码中以 $ b给出$ b Eigen :: MatrixXd m; ,尺寸为 45 x 904140 。现在,我将构造函数用于Eigen库中的SVD分解,如下所示: Eigen :: BDCSVD svd(m,Eigen :: ComputeFullU | Ei ..
发布时间:2020-10-27 23:45:20 C/C++开发

如何使用Spark从SVD组件重构原始矩阵

我想重建(近似)在SVD中分解的原始矩阵.有没有一种方法可以不必将V factor本地Matrix转换为DenseMatrix? 以下是根据文档(请注意,注释来自doc示例) import org.apache.spark.mllib.linalg.Matrix import org.apache.spark.mllib.linalg.SingularValueDecompositio ..
发布时间:2020-09-04 08:39:38 其他开发

在python中重现Matlab的SVD

我正在尝试重现一些使用python用Matlab编写的大型项目. 我设法重现了大多数结果,但是我特别对SVD分解存在问题. (我只看最后的V部分). 在Matlab中: [~, ~, V] = svd([4.719, -17.257, -11.5392; -17.2575, 63.9545, 40.5581; -11.5392, 40.5581, 31.3256]); 这使我得到以 ..
发布时间:2020-08-10 22:36:11 Python

python中的稀疏矩阵svd

有人知道如何在python中的稀疏矩阵上执行svd操作吗? scipy.sparse.linalg中似乎没有提供这种功能. 解决方案 您可以使用 Divisi 库来完成这个任务;在主页上: 这是一个用Python编写的库,使用C库(SVDLIBC)通过Lanczos算法执行稀疏SVD操作.其他数学计算由NumPy执行. ..
发布时间:2020-08-06 02:09:58 Python

R中的稀疏矩阵的SVD

我在R中有一个稀疏的Matrix,对我来说显然太大了,无法运行as.matrix()(尽管它也不超大).有问题的as.matrix()调用位于svd()函数内部,所以我想知道是否有人知道不需要先转换为密集矩阵的SVD的另一种实现. 解决方案 irlba 程序包具有用于稀疏矩阵的非常快速的SVD实现. ..
发布时间:2020-08-06 02:05:38 其他开发