2 min read

3. 固有値・固有ベクトルとその応用

Table of Contents

行列がベクトルに作用すると、そのベクトルの向きや大きさが変わる「線形変換」が行われることを見てきました。しかし、ある行列に対して、作用させても向きが変わらず、大きさだけが変わる特別なベクトルが存在します。この特別なベクトルと、その時の大きさの変化率が、固有ベクトル固有値です。これらは、行列が持つ変換の「本質」を捉える上で非常に重要です。


固有値と固有ベクトルの定義

n×nn \times n の正方行列 AA に対して、ゼロベクトルでないベクトル v\vec{v} とスカラー λ\lambda が存在し、以下の関係式を満たすとします。

Av=λvA\vec{v} = \lambda\vec{v}

このとき、λ\lambda を行列 AA固有値 (eigenvalue)v\vec{v} をその固有値に対応する固有ベクトル (eigenvector) と呼びます。

この式の意味は、「行列 AA がその固有ベクトル v\vec{v} に作用しても、その向きは変わらず、ただ大きさが λ\lambda 倍されるだけ」ということです。固有ベクトルは、その行列による線形変換において、方向が不変な「軸」の役割を果たします。固有値は、その軸方向への「伸縮率」と解釈できます。


データサイエンスにおける応用:主成分分析 (PCA)

固有値と固有ベクトルは、理論的に重要であるだけでなく、データサイエンスにおいて極めて実用的な応用があります。その代表例が、主成分分析 (Principal Component Analysis, PCA) です。

PCAの目的

PCAは、次元削減 (dimensionality reduction) のための代表的な手法です。高次元のデータが持つ特徴量の数を減らしつつ、元のデータが持つ情報の損失を最小限に抑えることを目的とします。これにより、データの可視化や、機械学習モデルの計算効率の向上、過学習の抑制などが可能になります。

PCAと固有値問題の関係

PCAの核心的なアイデアは、「データが最も分散している方向」を見つけ出すことです。この分散が最も大きい方向は、データの本質的な情報を最も多く含んでいると考えられます。

  1. 分散共分散行列: まず、データセットの変数間の関係性を表す分散共分散行列 (covariance matrix) Σ\Sigma を計算します。この行列の対角成分は各特徴量の分散を、非対角成分は2つの特徴量間の共分散を示します。

  2. 固有値分解: 次に、この分散共分散行列 Σ\Sigma の固有値と固有ベクトルを求めます(この操作を固有値分解と呼びます)。

ここで重要な関係が明らかになります。

  • 分散共分散行列の固有ベクトルは、**データの分散が最大になる方向(主成分の方向)**を示します。
  • 各固有ベクトルに対応する固有値は、その主成分方向へのデータの分散の大きさを示します。

つまり、最も大きい固有値に対応する固有ベクトルが、データが最もばらつく方向、すなわち第1主成分となります。2番目に大きい固有値に対応する固有ベクトルが、第1主成分と直交する方向で次に分散が大きい方向、すなわち第2主成分となります。

PCAのプロセス

  1. データの分散共分散行列 Σ\Sigma を計算する。
  2. Σ\Sigma を固有値分解し、固有値 λi\lambda_i と固有ベクトル vi\vec{v}_i を得る。
  3. 固有値 λ\lambda が大きい順に、固有ベクトル v\vec{v} を並べる。
  4. 削減後の次元数 kk を決め、上位kk個の固有ベクトル(主成分)を選択する。
  5. 元のデータを、このkk個の主成分が張る新しい空間に射影することで、次元削減が完了する。

まとめ

固有値と固有ベクトルは、ある行列による線形変換の「不変な軸」と「その軸方向への伸縮率」を明らかにする概念です。データサイエンスの文脈では、データの分散共分散行列に適用することで、データのばらつきが最も大きい方向(主成分)を特定できます。これにより、主成分分析(PCA)という強力な次元削減手法が実現され、高次元データの分析と可視化に大きく貢献しています。