torch.pca_lowrank¶
- torch.pca_lowrank(A, q=None, center=True, niter=2)[source][source]¶
对低秩矩阵、此类矩阵的批次或稀疏矩阵执行线性主成分分析(PCA)。
此函数返回一个 namedtuple
(U, S, V)
,它是中心矩阵 的奇异值分解的近似最优解注意
(U, S, V)
与 PCA 的关系如下:是一个数据矩阵,包含
m
个样本和n
个特征列表示主方向
包含了 的特征值, 是在提供
center=True
时的A
的协方差。matmul(A, V[:, :k])
将数据投影到前 k 个主成分上
注意
与标准 SVD 不同,返回矩阵的大小取决于指定的秩和 q 值,如下所示:
是 m x q 矩阵
是 q-向量
是 n x q 矩阵
注意
为了获得可重复的结果,请重置伪随机数生成器的种子
- 参数:
A(张量)- 输入张量的大小为
q (int, 可选) – 的略微高估的秩。默认为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>`_).