次元削減(Dimension Reduction)は、多くの特徴量を持つデータをより少ない次元に圧縮し、情報をできるだけ保ちながら解析を効率化する技術です。
機械学習の前処理やデータ解析では欠かせないステップであり、高次元データを扱う際に特に重要です。
以下では、理論・手法・実務的な観点から詳しく説明します。
次元削減の目的と意義
高次元データには、しばしば「冗長な特徴」や「ノイズ成分」が含まれます。
そのまま機械学習モデルに入力すると、計算コストの増大・過学習・可視化の困難さなどの問題が発生します。
次元削減は、これらを解決するために以下の目的で用いられます。
- モデルの処理効率を高める
- 過学習を防ぎ、汎化性能を向上させる
- データの可視化を容易にする(2次元や3次元でクラスタ構造を把握)
- 特徴間の重複を削除し、ノイズを除去する
主な次元削減の分類
次元削減は大きく分けて、線形手法と非線形手法の2種類があります。
線形手法:PCA(主成分分析)
主成分分析(PCA)は、最も代表的な線形次元削減法です。
データの分散が最大となる方向を見つけ出し、その方向にデータを射影して情報を圧縮します。
- 原理:データの共分散行列を求め、固有値分解または特異値分解を行い、分散を最大化する軸(主成分)を抽出する。
- 特徴:
- 計算が速く、理論的に明快
- ノイズ除去や冗長特徴の削減に有効
- 注意点:
- 特徴量のスケールに影響されるため、事前に標準化が必要
- 線形関係しか表現できず、複雑な構造を持つデータには不向き
PCAは特徴抽出の一種であり、「不要な特徴を削除する」特徴選択(Feature Selection)とは異なります。
PCAは新たな軸(主成分)を作り出して次元を圧縮します。
非線形手法:t-SNE・UMAPなど
t-SNE(t-Distributed Stochastic Neighbor Embedding)
t-SNEは、高次元空間での「点同士の類似性」を確率的に表し、それを低次元空間で再現する手法です。
局所的な構造(近い点同士の関係)をうまく保ち、クラスタ構造を視覚的に表現するのに適しています。
- 利点:局所構造を忠実に保持し、可視化性能が非常に高い
- 欠点:大規模データには時間がかかり、クラスタ間の距離は解釈しにくい
UMAP(Uniform Manifold Approximation and Projection)
UMAPは、t-SNEと同様に非線形次元削減を行う手法で、より高速かつスケーラブルです。
多様体学(トポロジー)に基づいて局所構造を保ちつつ、グローバルな距離関係もある程度維持します。
- 利点:計算速度が速く、t-SNEより安定した結果が得られる
- 用途:生物学データ(遺伝子発現解析)、自然言語処理のベクトル可視化など
- 注意点:t-SNEと同様、低次元の座標間距離は厳密な意味での距離を表さない場合がある
オートエンコーダによる次元削減
オートエンコーダ(Autoencoder)は、ニューラルネットワークを使った非線形次元削減の代表例です。
入力データを圧縮する「エンコーダ」と再構成する「デコーダ」から成り、ボトルネック層で情報を圧縮します。
- 線形オートエンコーダは、PCAと同じ部分空間を学習することが理論的に知られています。
- 非線形オートエンコーダは、PCAを一般化した「非線形次元削減」として機能します。
理論的な背景
PCAは「分散最大化の原理」に基づき、データの分散を最大にする方向ベクトルを求めます。
第1主成分を求めた後は、それに直交する方向で分散が最大となる第2主成分を求めることで、順に次元を削減していきます。
t-SNEやUMAPでは、「距離」や「類似性」を確率分布や多様体上の構造として捉え、それを低次元空間で再現するよう最適化します。
つまり、PCAが直線的な射影に基づくのに対し、t-SNEやUMAPはデータの非線形構造を保持するように設計されています。
実務における活用例
学習前の前処理
高次元データを圧縮し、計算負荷を軽減。
例として、1000次元のテキスト埋め込みを100次元に圧縮するなど。
データ可視化
t-SNEやUMAPを使って2次元に埋め込み、クラスタ構造や潜在的なパターンを視覚的に把握。
ノイズ除去
PCAの小さな固有値に対応する成分を削除することで、ノイズを除去しデータの構造を明確化。
実務上の注意点
- スケーリングの実施
PCAはスケール依存のため、特徴量を標準化しておく必要があります。 - 次元数の決定
累積寄与率(各主成分の分散の累積割合)が90〜95%を目安にするのが一般的です。 - t-SNEの再現性
乱数シード(random_state)を固定しないと結果が変動します。 - 非線形手法の利用範囲
t-SNEやUMAPの出力は「可視化」には有効ですが、分類・回帰モデルへの入力特徴量としては不安定な場合があります。
まとめ
| 種類 | 手法 | 特徴 | 主な用途 |
|---|---|---|---|
| 線形 | PCA | 分散最大化。高速・理論的に明確 | 前処理、ノイズ除去 |
| 非線形 | t-SNE | 局所構造重視。高精度可視化 | クラスタ可視化 |
| 非線形 | UMAP | 高速・グローバル構造も保持 | 埋め込み解析、可視化 |
| 非線形 | Autoencoder | ニューラルネットによる圧縮 | 特徴抽出、生成モデル |
次元削減は、単なる前処理ではなく、データの構造を理解し、モデリング戦略を決定するための重要な分析ステップです。
PCAのような線形手法で基礎を固めたうえで、t-SNEやUMAP、オートエンコーダといった非線形手法を組み合わせることで、より深い洞察を得ることができます。
以上、機械学習の次元削減についてでした。
最後までお読みいただき、ありがとうございました。
