torch.pca_lowrank
- torch.pca_lowrank(A, q=None, center=True, niter=2)[源代码]
-
对低秩矩阵、矩阵的批量处理或稀疏矩阵进行线性主成分分析(PCA)。
此函数返回一个 namedtuple
(U, S, V)
,它是矩阵 $A$ 的中心化后的奇异值分解的近似结果,满足 $A \approx U \operatorname{diag}(S) V^{\text{H}}$注意
关于
(U, S, V)
与 PCA 的关系如下:-
$A$ 是一个数据矩阵,包含
m
个样本和n
个特征。 -
$V$ 列代表主方向
-
$S ** 2 / (m - 1)$ 包含$A^T A / (m - 1)$的特征值,当
center=True
时,这表示A
的协方差。 -
matmul(A, V[:, :k])
将数据投影到前 k 个主成分上
注意
与标准的 SVD 不同,返回的矩阵大小取决于指定的秩和 q 值,具体如下:
-
$U$ 是一个大小为 m x q 的矩阵
-
$S$ 是一个 q 向量
-
$V$ 是一个大小为 n x q 的矩阵
注意
为了获得可重复的结果,需要重置伪随机数生成器的种子。
- 参数
- 返回类型
参考资料:
- 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>`_).
-