Shortcuts

torch.pca_lowrank

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

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

此函数返回一个命名元组 (U, S, V),这是 一个中心矩阵 AA 的奇异值分解的近似最优解,使得 A=Udiag(S)VTA = U diag(S) V^T

注意

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

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

  • the VV 列表示主方向

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

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

注意

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

  • UU 是一个 m x q 矩阵

  • SS 是 q-向量

  • VV 是一个 n x q 矩阵

注意

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

Parameters
  • A (张量) – 输入张量,大小为 (,m,n)(*, m, n)

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

  • center (bool, 可选) – 如果为True,则将输入张量居中,否则,假设输入已经居中。

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

Return type

元组[张量, 张量, 张量]

参考文献:

- Nathan Halko, Per-Gunnar Martinsson, 和 Joel Tropp, 使用随机性发现结构:用于构建近似矩阵分解的概率算法,
  arXiv:0909.4061 [math.NA; math.PR], 2009 (可在
  `arXiv `_ 获取).
优云智算