評價此頁

torch.pca_lowrank#

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

對低秩矩陣、此類矩陣的批次或稀疏矩陣執行線性主成分分析 (PCA)。

此函式返回一個命名元組 (U, S, V),它是經過中心化處理的矩陣 AA 的近似奇異值分解(SVD),其中 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) 的特徵值,當提供 center=True 時,該值是 A 的協方差。

  • matmul(A, V[:, :k]) 將資料投影到前 k 個主成分。

注意

與標準 SVD 不同,返回的矩陣的大小取決於指定的秩和 q 值,如下所示:

  • UU 是一個 m x q 矩陣。

  • SS 是一個 q 維向量。

  • VV 是一個 n x q 矩陣。

注意

為了獲得可重複的結果,請重置偽隨機數生成器的種子。

引數
  • A (Tensor) – 輸入張量,大小為 (,m,n)(*, m, n)

  • q (int, optional) – AA 的略微過估計的秩。預設為 q = min(6, m, n)

  • center (bool, optional) – 如果為 True,則中心化輸入張量;否則,假設輸入是中心化的。

  • niter (int, optional) – 進行子空間迭代的次數;niter 必須是一個非負整數,預設為 2。

返回型別

tuple[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>`_).