torch.pca_lowrank
-
torch.pca_lowrank(A, q=None, center=True, niter=2)[source] -
Выполняет линейный анализ главных компонент (PCA) на матрице с низким рангом, на наборах таких матриц или на разреженной матрице.
Эта функция возвращает кортеж
(U, S, V), который представляет собой почти оптимальное приближение разложения по сингулярным значениям центрированной матрицы , такое что .Примечание
Связь
(U, S, V)с PCA такова:-
— матрица данных с
mобразцами иnпризнаками - столбцы представляют главные направления
-
содержит собственные значения , которое является ковариацией
Aпри предоставленииcenter=True. -
matmul(A, V[:, :k])проецирует данные на первые k главных компонент
Примечание
В отличие от стандартного SVD, размер возвращаемых матриц зависит от указанного ранга и значений q следующим образом:
- — матрица размером m x q
- — вектор длиной q
- — матрица размером n x q
Примечание
Для получения повторяемых результатов необходимо сбросить seed генератора псевдослучайных чисел
- Parameters
-
- A (Tensor) – входной тензор размера
-
q (int, optional) – слегка завышенный ранг . По умолчанию
q = min(6, m, n). - center (bool, optional) – если True, центрирует входной тензор, иначе предполагает, что входной тензор уже центрирован.
- niter (int, optional) – количество итераций подпространства, проводимых; niter должен быть неотрицательным целым числом и по умолчанию равен 2.
- Return type
Справочные материалы:
- 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>`_).
-
— матрица данных с
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.pca_lowrank.html