Вычисление ковариационной матрицы — O(p2n); его разложение по собственным значениям равно O(p3). Таким образом, сложность PCA равна O(p2n+p3).
O(min(p3,n3)) означает, что вы можете анализировать двумерный набор данных любого размера за фиксированное время, что явно неверно.
personDon Rebaschedule11.12.2013
comment
Странно, как расплывчато это формулируется в газете, поскольку подразумевает поиск направлений. Это не говорит прямо, что это сложность алгоритма, просто сильно намекает на это.
- personDon Reba; 11.12.2013
comment
Большой! Не могли бы вы дать ссылку на вышесказанное, чтобы было легче цитировать?
- personÉbe Isaac; 15.01.2018
comment
@ÉbeIsaac Сложность ковариационной матрицы следует сразу из определения. Существуют алгоритмы меньшей сложности для разложения по собственным значениям, но они близки к O(p³), и, вероятно, именно такую сложность предполагает автор статьи. Однако вы не должны цитировать ответы SO в качестве авторитетных источников, если только они не принадлежат Джону Скит.
- personDon Reba; 04.02.2018
Предполагая, что ваш набор данных равен $X \in \R^{nxp}$, где n: количество выборок, d: размеры выборки, вас интересует собственный анализ $X^TX$, который является основной вычислительной стоимостью PCA. Теперь матрицы $X^TX \in \R^{pxp}$ и $XX^T \in \R^{nxn}$ имеют одинаковые min(n, p) неотрицательные собственные значения и собственные векторы. Предполагая, что p меньше n, вы можете решить собственный анализ в $O(p^3)$. Если p больше n (например, в компьютерном зрении во многих случаях размерность выборки — количество пикселей — больше, чем количество доступных выборок), вы можете выполнить собственный анализ за время $O(n^3)$. В любом случае вы можете получить собственные векторы одной матрицы из собственных значений и собственных векторов другой матрицы и сделать это за время $O(min(p, n)^3)$.
$$X^TX = V \Lambda V^T$$
$$XX^T = U \Lambda U^T$$
$$U = XV\лямбда^{-1/2}$$
personmichaeltschedule10.03.2018
comment
К сожалению, нет поддержки латекса, я предлагаю вам использовать обратные кавычки, чтобы отформатировать это как код, или экспортировать свои латексные формулы в png и загрузить их.
- personAsh; 10.03.2018
Ниже приведен ответ Майкла, представленный как в оригинальном LaTeX, так и в формате PNG.
Латекс код:
Предполагая, что ваш набор данных равен $X \in R^{n\times p}$, где n: количество выборок, p: размеры выборки, вас интересует собственный анализ $X^TX$, который является основной вычислительной стоимостью СПС. Теперь матрицы $X^TX \in \R^{p \times p}$ и $XX^T \in \R^{n\times n}$ имеют одинаковые min(n, p) неотрицательные собственные значения и собственные векторы. Предполагая, что p меньше n, вы можете решить собственный анализ в $O(p^3)$. Если p больше n (например, в компьютерном зрении во многих случаях размерность выборки — количество пикселей — больше, чем количество доступных выборок), вы можете выполнить собственный анализ за время $O(n^3)$. В любом случае вы можете получить собственные векторы одной матрицы из собственных значений и собственных векторов другой матрицы и сделать это за время $O(min(p, n)^3)$.
personEbramschedule30.03.2018
comment
пожалуйста, разместите любой код как фактический код, изображения не полезны
- personAzsgy; 30.03.2018