分散共分散行列を計算する計算の複雑さは何ですか?


8

私が(主成分分析用に)作成したプログラムで分散共分散行列の計算を使用していて、その複雑さは何なのかと思っています。明らかに、固有ベクトル分解が最大のパフォーマンスヒットを引き起こしていますが、そのヒットのどの程度が共分散行列の計算によって引き起こされているのかと思います。

私が使用するように推定漸近実行時間はナイーブなアルゴリズムを使用して、そのサイズの全てのデータを用い取る必要があるため、Nを、次いで、すべての寸法のためにそれを行う必要があり(ここで、Nであります次元数)ネストされた反復で、n 2サイズの行列を生成します。O(Nn2)Nnn2

私の仮定は正しいですか、そうでなければ、漸近的な複雑さは何ですか?

回答:


2

あなたの推測は正しいです。

場合Nデータポイントの数およびnは特徴の数である、あなたはによって共分散行列を得ることができるX T X(離れ複雑さの観点から無視できる平均減算)。XRN×nNnXTX

このように、共分散行列の計算に単純に実際にある行列の乗算であるここを参照してくださいあなたが大まかしなければならないことから、のあらゆる埋めるための操作をあなたの共分散行列の位置。実際には、行列の乗算は2次行列の場合、まで高速化されリンクを参照)。O(Nn²) 2Nn²XO(n2.73)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.