私はスパースPCAに関する論文を読んでいます: http://stats.stanford.edu/~imj/WEBLIST/AsYetUnpub/sparse.pdf
また、それぞれがn
機能で表されるp
データポイントがある場合、PCAの複雑さはO(min(p^3,n^3))
であると述べています。
誰かがその方法/理由を説明できますか?
共分散行列の計算はO(p2n);その固有値分解はO(p3)。したがって、PCAの複雑さはO(p2n + p3)。
O(min(p3、n3))は、固定時間内に任意のサイズの2次元データセットを分析できることを意味しますが、これは明らかに誤りです。
データセットが$ X\in\R ^ {nxp} $であるとすると、n:サンプルの数、d:サンプルの次元であり、PCAの主な計算コストである$ X ^ TX $の固有分析に関心があります。これで、行列$ 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\Lambda ^ {-1/2} $$
以下は、元のLaTeXで提供され、PNGとしてレンダリングされたmichaeltの回答です。
LaTeXコード:
データセットが$ X\in R ^ {n\times p} $であると仮定すると、n:サンプルの数、p:サンプルの次元であり、の主な計算コストである$ X ^ TX $の固有分析に関心があります。 PCA。これで、行列$ 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)$時間で実行できます。