hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

固有値、固有ベクトルの話

いまさら感に溢れた話題だとは理解している。

大学時代は工学系の学部だったので固有値固有ベクトルは習ったし、思い出せば計算はできる。できはするけど、固有値固有ベクトルとはいったい何なのか、と言われるとさっぱり説明できない。

どうせ使わないしと頭の棚の片隅に追いやっていたところ、たまたま書店で開いたE資格参考書の最初のトピックに挙げられていて、昔さっぱり意味がわからなかったのを思い出して調べてみたという次第。

 

検索すると同じように思っている人は多いようで、固有値固有ベクトルは何の役に立つの? に対する解説サイトはそれなりにある。

固有値固有ベクトルの理解しにくさはいくつかあると思っている。

  • まず、Aν = λν という式が意味不明。Aは行列なのにλはスカラーだし、両辺にνがあり打ち消されるように見える
  • 天下り的にλを求め、νを求めるという計算過程になるため、なぜλやνを求めなければならないのか意味がよくわからない。

多くのサイトでも計算方法は書かれているが、その目的が書かれていることは多くはない。あったとしても用途(主成分分析や振動モード解析に役立つなど)の説明がせいぜいでロジカルな説明がされているサイトは少ない。

 

いくつか見た中では下記の動画の説明が一番わかりやすかった。

 

あくまで(上記動画を踏まえての)私の理解だけれども、固有値固有ベクトルはこういうふうに理解するのがよいのではないだろうか。

  • ベクトルと行列の関係を幾何学的に見ると、行列はベクトルを拡縮と回転させるものと見ることができる。
  • 行列はそのままだと扱いづらいが、拡縮だけで回転しない軸がもしあるならば、それに基づく座標系に変換できると取り扱いが楽になるので求めたい(目的)
  • すなわち、解くべき問題は任意のベクトルの中から、行列Aと掛け合わせたときに、拡縮はするが回転しないようなベクトルνを求めることだ。プログラミングの関数的に入力、出力を整理するならこうなる。
    • 入力:行列A
    • 出力1:回転しない場合のベクトルν(固有ベクトル
    • 出力2:回転しない場合の拡縮の係数λ(固有値

ここまではいいのだが、問題は主成分分析や振動モード解析とどう繋がっているのか、と言われるとまだよくわからない。

固有ベクトルが対角化に使えるというのは、拡縮だけで回転しない軸を選んでいると考えると何となくイメージはつくが、主成分分析においては共分散行列の固有ベクトルが情報量を最大化するような軸の取り方に一致するのだそうだ。式で追えば一致するのだろうが、固有ベクトル=情報量を最大化という繋がりはイメージしにくい。良い解説はないものだろうか。

 

【5/28追記】uncorrelated さんから主成分分析についての解説を頂いた。

なるほど、たしかに。

分散共分散行列は、対角成分にそれぞれの分散、その他のところに共分散がくる。主成分分析は相関がゼロになるような軸を選んでいるから、この行列に対し相関がゼロ、すなわち共分散がゼロとなる対角行列に基底変換すればよい、ということか。