小さなノルム調整の固有ベクトル


10

ゆっくりと変化するデータセットがあり、その共分散行列の固有ベクトル/固有値を追跡する必要があります。

私はを使用してきましたがscipy.linalg.eigh、高すぎるため、すでに少しだけ正しくない分解が既に存在しているという事実を使用していません。

誰もがこの問題に対処するためのより良いアプローチを提案できますか?


1
データの大きさは?完全な固有システムが必要ですか、それとも最大の固有値の一部だけが必要ですか?あなたはそれらを正確に必要としますか、それとも近似が必要ですか?
cfh 2017

完全な固有システムが必要です。共分散行列の逆行列の回帰解釈を使用して小さなノルムを更新した後、行列の逆行列を更新するアルゴリズムを見つけたので、固有ベクトルにも同様のものが存在すると想定しました。
Yaroslav Bulatov 2017

その完全な固有分解で何をしますか?それを通過しないより良いショートカットがあるかもしれません...そして、私はcfhの質問を繰り返します:「どのくらい大きい」?
Federico Poloni 2017

8k個のフィーチャと数百万のデータポイントがあるため、共分散はおおよその値です。これは、このアルゴリズムを実装することです。勾配の更新は特定の共分散行列の固有値に依存し、この共分散行列は各ステップで変化します
Yaroslav Bulatov

回答:


5

単純なアプローチは、あなたの行列の固有値ソリューションを使用することで行列するための反復固有値の最初の推測として、。フルスペクトルが必要な場合はQRを使用し、それ以外の場合はパワーメソッドを使用します。ただし、これは完全に堅牢なアプローチではありません。特に、条件が不十分な場合(2)の場合、行列の固有値は必ずしも近くの行列に近いとは限らないためです(1 A(t)A(t+δt)

部分空間追跡法の方が明らかに便利です(3)(4)からの抜粋:

極値(最大または最小)の固有ペア(固有値と固有ベクトル)の反復計算は、1966年まで遡ることができます[72]。1980年にThompsonは、サンプルの共分散行列の最小固有値に対応する固有ベクトルを推定するためのLMSタイプの適応アルゴリズムを提案し、Pisarenkoの調和推定器と組み合わせた角度/周波数の適応追跡アルゴリズムを提供しました[14]。Sarkar et al。[73]共役勾配アルゴリズムを使用して、ゆっくり変化する信号の共分散行列の最小固有値に対応する極値固有ベクトルの変動を追跡し、トンプソンのLMSタイプアルゴリズムよりもはるかに速い収束を証明しました。これらの方法は、限られたアプリケーションで単一の極値と固有ベクトルを追跡するためにのみ使用されました。しかし、後にそれらは固有部分空間追跡と更新方法のために拡張されました。Comon and Golub [6]は、1990年に、極端で特異な値と特異なベクトルを追跡するためのLanczos法を提案しました。Ax=kx [74]。

[6]:Comon、P.&Golub、GH(1990)。信号処理でいくつかの極端な特異値とベクトルを追跡します。IEEEの処理(pp。1327–1343)。

[14]:Thompson、PA(1980)。不偏周波数のための適応スペクトル分析技術

[72]:Bradbury、WW、&Fletcher、R.(1966)。固有問題の解のための新しい反復法。数値数学、9(9)、259–266。

[73]:Sarkar、TK、Dianat、SA、Chen、H。、およびBrule、JD(1986)。共役勾配法による適応スペクトル推定 IEEE Transactions on Acoustic、Speech、and Signal Processing、34(2)、272–284。

[74]:Golub、GH、&Van Load、CF(1989)。行列計算(第2版)。ボルチモア:ジョンホプキンス大学出版局。

また、を使用した場合に解決しなければならないものなど、対称行列の解scipy.linalg.eighはいくぶん安価であることにも言及する必要があります。少数の固有値のみに関心がある場合は、メソッドの速度も向上する可能性があります。このような状況では、Arnoldiメソッドがよく使用されます。


1
ポインタのおかげで、QRアルゴリズムは良い出発点のようです
Yaroslav Bulatov

固有値の摂動の大きさが条件数に関係しているとは思いません。これは、固有値はと同じですが、条件数が異なるためです。A + λ IAA+λI
Federico Poloni 2017

ps:4k行4k行列のlinalg.eighは約20秒かかります(何らかの理由でシングルコアのみを使用します)。更新ごとに約0.25秒必要
Yaroslav Bulatov

7

時間依存の共分散行列の固有分解を更新するための特別な手法が存在します。「以前の」固有値分解(たとえば、ある初期時間)が与えられると、これらの再帰的アルゴリズムは、スペクトル更新の複雑さを(本質的には新しい固有分解のコスト)から下げます。ここで、は行列のサイズ、は更新のランクです。ON 3Ok N 2N kt0O(N3)O(kN2)Nk

関連する参照をいくつか示します。

一次摂動に基づくデータ共分散行列の適応固有分解 (Champagne、IEEE TSP 42(10)1994)

共分散行列の固有値分解を再帰的に更新する(Yu、IEEE TSP、39(5)1991)

高次元のオンライン主成分分析:どのアルゴリズムを選択するか?(カルドとデグラス)

特異値分解を更新するための安定した高速アルゴリズム(GuとEisenstadt、1994)


残念ながら、ランクの小さな更新はありません。フルランクの小さなノルムの更新があります。
Yaroslav Bulatov

@YaroslavBulatov私は小さなノルムのフルランク更新を処理できる効率的なアルゴリズムを知りません-私が見つけることができた最高のものはこのリファレンスでしたが、非常に有望ではありません。もちろん、固有値の摂動に関する大量の文献があります(他の回答を参照してください)。
GoHokies 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.