快捷方式

torch.pca_lowrank

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

線上性主成分分析(PCA)中,對低秩矩陣、批處理的此類矩陣或稀疏矩陣執行運算。

此函式返回一個命名元組 (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) 的特徵值,當 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, 可選) – AA 的一個稍微高估的秩。預設情況下,q = min(6, m, n)

  • center (bool, 可選) – 如果為 True,則對輸入張量進行中心化;否則,假定輸入已中心化。

  • niter (int, 可選) – 要執行的子空間迭代次數;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>`_).

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源