次元削減 じげんさくげん
高次元データPCAt-SNEUMAP特徴量圧縮可視化
次元削減について教えて
簡単に言うとこんな感じ!
「100個の質問で判断してたものを、本質的な3つの質問に絞る」イメージだよ!データが持つ特徴量(次元)が多すぎると計算が重くなるし、むしろ精度が下がることもある(次元の呪い)。重要な情報をできるだけ保ったまま特徴量の数を減らすのが次元削減なんだ。グラフで可視化するときにも大活躍するよ!
次元削減とは
次元削減(Dimensionality Reduction)とは、多次元のデータを情報の損失を最小限に抑えながら、より少ない次元に変換する手法の総称です。たとえば1,000個の特徴量を持つデータを2〜50個の特徴量に圧縮することが典型的な使い方です。
なぜ次元を減らすのでしょうか。データの次元が増えると「次元の呪い(Curse of Dimensionality)」という問題が生じます。高次元空間ではデータが疎(まばら)に分布し、モデルが本質的なパターンを学べなくなります。また計算コストが指数的に増加します。
次元削減の目的は大きく3つあります。①可視化(人間が認識できる2〜3次元にしてデータの構造を把握する)、②ノイズ除去(重要でない変動を取り除く)、③前処理(後段の機械学習モデルの性能と速度を上げる)です。
代表的な次元削減手法
| 手法 | 特徴 | 向いている場面 |
|---|---|---|
| PCA(主成分分析) | 線形変換で分散を最大保持 | 前処理・特徴量圧縮・ノイズ除去 |
| t-SNE | 非線形・近傍関係の可視化に優れる | 2〜3次元の可視化 |
| UMAP | t-SNEより高速・大域構造も保持 | 可視化・前処理 |
| オートエンコーダ | ニューラルネットによる非線形圧縮 | 画像・テキストの特徴抽出 |
| LDA(線形判別分析) | クラス間の分離を最大化する変換 | 分類問題の前処理 |
| 特異値分解(SVD) | 行列を低ランク近似で圧縮 | テキスト(LSA)・推薦システム |
線形 vs 非線形の使い分け
次元削減手法
├── 線形手法(データが直線的な構造を持つ場合)
│ ├── PCA(主成分分析)→ 汎用的な前処理
│ ├── LDA → 教師あり次元削減
│ └── SVD → テキスト・行列分解
└── 非線形手法(データが複雑な多様体構造を持つ場合)
├── t-SNE → 可視化専用(低次元のみ)
├── UMAP → 可視化+前処理
└── オートエンコーダ → 深層特徴抽出
歴史と背景
- 1901年:Karl Pearsonが主成分分析(PCA)の原型を提案
- 1933年:Harold Hotellingがより厳密な数学的定式化を確立
- 1960〜70年代:多次元尺度法(MDS)や因子分析が統計学で普及
- 2000年代初頭:等距離写像(Isomap)・LLE(局所線形埋め込み)など多様体学習が登場
- 2008年:Hintonらがt-SNEを発表。高次元データの可視化ツールとして爆発的に普及
- 2010年代:ディープラーニングのオートエンコーダが強力な非線形次元削減として活用される
- 2018年:McInnes らがUMAPを発表。t-SNEより高速で大域構造も保持できると注目される
- 現在:生成AIの埋め込みベクトルの可視化にUMAP・t-SNEが広く使われる
次元削減のイメージ(3次元→2次元)
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 22989:2022 | AI概念・用語(特徴抽出・データ変換の定義を含む) |
関連用語
- PCA(主成分分析) — 代表的な線形次元削減手法
- t-SNE・UMAP — 可視化向けの非線形次元削減手法
- 特徴量エンジニアリング — 次元削減は特徴量エンジニアリングの一手法
- 過学習・過適合 — 次元削減によって過学習を防ぐ効果がある
- クラスタリング — 次元削減後のデータにクラスタリングを適用することが多い
- 正則化(L1・L2) — L1正則化はスパース化による「特徴量次元の削減」とも捉えられる
- 交差検証 — 次元削減後の特徴量でモデルの汎化性能を評価する手法