3. 固有値・固有ベクトルとその応用
Table of Contents
行列がベクトルに作用すると、そのベクトルの向きや大きさが変わる「線形変換」が行われることを見てきました。しかし、ある行列に対して、作用させても向きが変わらず、大きさだけが変わる特別なベクトルが存在します。この特別なベクトルと、その時の大きさの変化率が、固有ベクトルと固有値です。これらは、行列が持つ変換の「本質」を捉える上で非常に重要です。
固有値と固有ベクトルの定義
の正方行列 に対して、ゼロベクトルでないベクトル とスカラー が存在し、以下の関係式を満たすとします。
このとき、 を行列 の固有値 (eigenvalue)、 をその固有値に対応する固有ベクトル (eigenvector) と呼びます。
この式の意味は、「行列 がその固有ベクトル に作用しても、その向きは変わらず、ただ大きさが 倍されるだけ」ということです。固有ベクトルは、その行列による線形変換において、方向が不変な「軸」の役割を果たします。固有値は、その軸方向への「伸縮率」と解釈できます。
データサイエンスにおける応用:主成分分析 (PCA)
固有値と固有ベクトルは、理論的に重要であるだけでなく、データサイエンスにおいて極めて実用的な応用があります。その代表例が、主成分分析 (Principal Component Analysis, PCA) です。
PCAの目的
PCAは、次元削減 (dimensionality reduction) のための代表的な手法です。高次元のデータが持つ特徴量の数を減らしつつ、元のデータが持つ情報の損失を最小限に抑えることを目的とします。これにより、データの可視化や、機械学習モデルの計算効率の向上、過学習の抑制などが可能になります。
PCAと固有値問題の関係
PCAの核心的なアイデアは、「データが最も分散している方向」を見つけ出すことです。この分散が最も大きい方向は、データの本質的な情報を最も多く含んでいると考えられます。
-
分散共分散行列: まず、データセットの変数間の関係性を表す分散共分散行列 (covariance matrix) を計算します。この行列の対角成分は各特徴量の分散を、非対角成分は2つの特徴量間の共分散を示します。
-
固有値分解: 次に、この分散共分散行列 の固有値と固有ベクトルを求めます(この操作を固有値分解と呼びます)。
ここで重要な関係が明らかになります。
- 分散共分散行列の固有ベクトルは、**データの分散が最大になる方向(主成分の方向)**を示します。
- 各固有ベクトルに対応する固有値は、その主成分方向へのデータの分散の大きさを示します。
つまり、最も大きい固有値に対応する固有ベクトルが、データが最もばらつく方向、すなわち第1主成分となります。2番目に大きい固有値に対応する固有ベクトルが、第1主成分と直交する方向で次に分散が大きい方向、すなわち第2主成分となります。
PCAのプロセス
- データの分散共分散行列 を計算する。
- を固有値分解し、固有値 と固有ベクトル を得る。
- 固有値 が大きい順に、固有ベクトル を並べる。
- 削減後の次元数 を決め、上位個の固有ベクトル(主成分)を選択する。
- 元のデータを、この個の主成分が張る新しい空間に射影することで、次元削減が完了する。
まとめ
固有値と固有ベクトルは、ある行列による線形変換の「不変な軸」と「その軸方向への伸縮率」を明らかにする概念です。データサイエンスの文脈では、データの分散共分散行列に適用することで、データのばらつきが最も大きい方向(主成分)を特定できます。これにより、主成分分析(PCA)という強力な次元削減手法が実現され、高次元データの分析と可視化に大きく貢献しています。