数字に埋もれた“個性” ー固有値・固有ベクトルー

2019年8月6日(火)
森田 大樹

はじめに

「個性的ですね」という言葉が、どうしても「他と何か違う」という含みを帯びてしまうのが、現代の「個性」の使い方のように思えます。自分の個性なんてなかなか分かりっこないものですが、「だったら、奇抜にしていれば個性的なのか?」というと、そうではないと思うのは私だけでしょうか。数学者の頭の中にそんな疑問があったかどうかなど知る由もありませんが、行列にも「個性」らしきものを見出したのは少し詩的なセンスを感じます。

「固有値・固有ベクトル」の翻訳

まずは、「固有値」と「固有ベクトル」について確認しておきましょう。行列$A$に対して、

$$Au = λu$$

を満たすような「零ではないベクトル$u$」と「スカラー$λ$」が存在するとき、「$u$を$A$の固有ベクトル」「$λ$を$A$の固有値」と呼びます。この式を見て「やっぱり固有値・固有ベクトルはよく分からない」と思うのも無理はありません。固有値・固有ベクトルは少し珍しいタイプなのです。

では、何が珍しいのかというと、

「方程式を用いて定義されている」

ということ。分数だと $\frac{ b }{ a } (a ≠ 0)$ で定義され、微分は $\lim_{h \to 0} \frac{ f(x + h) - f( x ) }{ h } \\$ で定義されますよね(ちょっと雑ですが)。

イコールは左辺と右辺を結びつけるもの。片方ずつ丁寧に理解していけばきっと分かるはずです。まずは左辺$Au$を考えてみましょう。$u$はベクトルです。ベクトルなので座標上の点になります。これに$A$を掛けるとどうなるでしょうか。前回も出てきましたが、点が別の点に写りますね(下図の左)。

次に右辺$λu$を見ていきましょう。$u$は相変わらず座標上の点ですが、$λ$というスカラーを掛けるとどうなるでしょうか。ベクトルを原点から伸びた矢印と例えるなら、きっとその矢印が伸びたり縮んだりするでしょう(上図の右)。

左辺と右辺は意外と簡単にイメージできました。それではイコールで結んでみましょう。

$$Au = λu$$

これを日本語に翻訳すれば、「$A$を用いて写すと、元々向いていた方向と同じ向きに写るベクトル$u$がありますよ」といった感じでしょうか。固有ベクトルとは$A$で写しても原点からの矢印の向きが変わらないベクトルで、固有値とは写す前後のベクトルの伸び縮み率を表しています。

数字に埋もれた“個性”

機械学習を学んでいると、「分散・共分散行列の固有値・固有ベクトルを求める」といった操作によく出会います。そしてこれは、所持しているデータの性質を見出す基本的な操作です。なぜでしょうか。それは、分散・共分散行列が変数に「加えられた」力を表しているからです。

この「加えられた」と受け身の表現になっていることは非常に重要です。そもそも変数の値にばらつきが生じるときは、その変数に対して別の変数が影響を及ぼしているか、もしくは観測されていない何かしらの力が働いていると考えるのが自然です。そして、その力の強さが値のばらつき具合、つまり分散の値として分散・共分散行列の中に集約されていきます。

したがって、分散・共分散行列に対して固有ベクトルを求めると、変数に加えられた力の方向が分かります。加えられた力が大きい方向、すなわち大きな固有値に対応する固有ベクトルの方向は値が大きくばらついているため、データ全体を説明する方向として重要です。こういった考えの基、分散の大きな方向を求めていく手法が「主成分分析」です。

また、変数の間の相関をなくす「無相関化」という処理では、最終的に所持しているデータに対して固有ベクトルを並べた行列の逆行列を掛けます。なぜ「逆行列」なのでしょうか。今なら少しイメージがつくかもしれません。分散・共分散行列の固有ベクトルが元の変数に加えられた力の方向ならば、その逆行列を掛ければ力が加わる前の変数に戻ることができそうですよね。

結局、行列とは指向性のある変換器です。好き勝手に点を写すのではなく、行列特有の方向があるのです。しかし行列そのものは数字の羅列であるため、その個性的な方向はなかなか見えてきません。「優しい人は自分のことを優しいと思っていない」のと同じような感じです。個性は自分ではなかなか見えないものです。だから、ちょっと人の手を借りるのですね。となると、あれ、固有値・固有ベクトルが方程式で定義されているのも、行列の個性も自分だけでは見えないからなのでしょうか?

おわりに

固有値と固有ベクトルを英語に直すと、それぞれeigen valueeigen vectorです。このeigenがドイツ語で「固有の、個性的な」という意味だそうですが、「うまい具合に名付けたものだな」としみじみ思います。固有に対してproperという言葉を当てることもあるようですが、あまり流行っていませんね。固有ベクトルを知れば知るほど「個性」という言葉がぴったり当てはまっていきます。

さて、次回は固有値・固有ベクトルを用いて行列を分解してみます。なぜ行列を分解できるのでしょうか。そして、何が嬉しいのでしょうか。もしかしたら、今回の内容で勘付く人もいるのではないでしょうか。お楽しみに!

スキルアップAI
東京工業大学情報理工学院修了。大学院時代は数理モデリングの手法を用いた脳神経科学の研究に携わる。 大手インターネット企業でマルチビッグデータシステムの開発・運用業務に従事した後、個人事業主として独立。現在SkillUpAI講師と並行し、MoneyForwardLab特別研究員として金融系データの解析業務を行う。2018年、ショウジョウバエ大規模ニューラルネットワークの数理モデリングの分野でIEEE Computational Intelligence Society Japan Chapter Young Research Award受賞。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています