PCA(主成分分析) ぴーしーえー(しゅせいぶんぶんせき)
主成分分析次元削減固有値分散線形変換寄与率
PCA(主成分分析)について教えて
簡単に言うとこんな感じ!
「バラバラな方向に散らばったデータを、一番情報量が多い方向から順に整理し直す」イメージだよ!身長・体重・座高・胸囲などの測定値があっても、結局「体の大きさ」という1つの軸で大半が説明できたりする。PCAはそういう「本当に重要な方向(主成分)」を数学的に見つける手法なんだ!
PCA(主成分分析)とは
**PCA(Principal Component Analysis、主成分分析)とは、多変量データを分散が最大になる方向(主成分)**に沿った新しい座標系に変換する線形次元削減手法です。元の特徴量の間の相関関係を取り除きながら、情報量(分散)を最大限保持した少数の「主成分」に圧縮します。
具体的には、データの共分散行列を固有値分解し、最大の固有値に対応する固有ベクトル(第1主成分)から順に取り出します。第1主成分は「データのばらつきが最も大きい方向」、第2主成分は「第1主成分と直交する方向で次にばらつきが大きい方向」です。
各主成分が元のデータの変動をどれだけ説明するかを寄与率といい、累積寄与率が80〜95%になるような主成分数を選ぶのが一般的です。たとえば「上位10成分で元の100次元の90%の情報を説明できる」という形で使います。
PCAの流れ
| ステップ | 内容 |
|---|---|
| ①標準化 | 各特徴量を平均0・分散1にスケーリング |
| ②共分散行列の計算 | 特徴量間の相関関係を行列で表現 |
| ③固有値分解 | 共分散行列を固有値・固有ベクトルに分解 |
| ④主成分の選択 | 固有値が大きい順に主成分を並べ、上位k個を選択 |
| ⑤変換 | 元データを選んだ主成分の方向に射影(変換) |
PCAの使い分け
PCAが向いている場面:
✅ 特徴量が多く過学習・次元の呪いが心配
✅ 多重共線性(特徴量間の相関が強い)がある
✅ ノイズ除去をしたい
✅ 2〜3次元に落として可視化したい
PCAが向いていない場面:
❌ 非線形な構造を持つデータ(→ t-SNE/UMAPを使う)
❌ クラス分離を意識した次元削減(→ LDAを使う)
❌ 結果の解釈が最優先(→ 元の特徴量の意味が失われる)
歴史と背景
- 1901年:Karl Pearsonが「データを最もよく表現する直線を求める」という考え方を提案
- 1933年:Harold Hotellingが主成分分析の数学的枠組みを確立。固有値分解による定式化
- 1960〜70年代:統計学・心理測定・経済学などで広く使われるようになる
- 1980年代:コンピュータの普及により大規模データへの適用が実用化
- 2000年代:カーネルPCAが提案され、非線形なデータへも拡張可能になる
- 2006年:確率的SVDを使った高速PCA(Randomized PCA)が提案
- 現在:scikit-learnに標準実装され、機械学習パイプラインの前処理として日常的に使われる。画像圧縮・顔認識・ゲノム解析など幅広い分野で活用
PCAの変換イメージ
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 22989:2022 | AI概念・用語(特徴抽出・次元削減の定義を含む) |
関連用語
- 次元削減 — PCAが属する手法カテゴリ
- t-SNE・UMAP — PCAでは対応できない非線形な構造を持つデータ向け手法
- 特徴量エンジニアリング — PCAはデータ前処理の一手法として使われる
- 過学習・過適合 — PCAで次元を落とすことで過学習リスクを低減できる
- クラスタリング — PCAで次元削減した後にクラスタリングを適用することが多い
- 交差検証 — PCAで変換した特徴量でのモデル性能を評価する手法
- 正則化(L1・L2) — PCAと正則化を組み合わせて過学習をさらに防ぐアプローチ