• 文档 >
  • torch >
  • torch.pca_lowrank
快捷键

torch.pca_lowrank

torch.pca_lowrank(A, q=None, center=True, niter=2)[source][source]

对低秩矩阵、此类矩阵的批次或稀疏矩阵执行线性主成分分析(PCA)。

此函数返回一个 namedtuple (U, S, V) ,它是中心矩阵 AA 的奇异值分解的近似最优解 AUdiag(S)VHA \approx U \operatorname{diag}(S) V^{\text{H}}

注意

(U, S, V) 与 PCA 的关系如下:

  • AA 是一个数据矩阵,包含 m 个样本和 n 个特征

  • VV 列表示主方向

  • S2/(m1)S ** 2 / (m - 1) 包含了 ATA/(m1)A^T A / (m - 1) 的特征值,ATA/(m1)A^T A / (m - 1) 是在提供 center=True 时的 A 的协方差。

  • matmul(A, V[:, :k]) 将数据投影到前 k 个主成分上

注意

与标准 SVD 不同,返回矩阵的大小取决于指定的秩和 q 值,如下所示:

  • UU 是 m x q 矩阵

  • SS 是 q-向量

  • VV 是 n x q 矩阵

注意

为了获得可重复的结果,请重置伪随机数生成器的种子

参数:
  • A(张量)- 输入张量的大小为 (,m,n)(*, m, n)

  • q (int, 可选) – AA 的略微高估的秩。默认为 q = min(6, m, n)

  • center(布尔值,可选)- 如果为 True,则居中输入张量,否则假设输入已居中。

  • niter(整数,可选)- 执行子空间迭代的次数;niter 必须是非负整数,默认为 2。

返回类型:

元组[torch.Tensor, torch.Tensor, torch.Tensor]

参考文献:

- Nathan Halko, Per-Gunnar Martinsson, and Joel Tropp, Finding
  structure with randomness: probabilistic algorithms for
  constructing approximate matrix decompositions,
  arXiv:0909.4061 [math.NA; math.PR], 2009 (available at
  `arXiv <http://arxiv.org/abs/0909.4061>`_).

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源