次元圧縮の基礎と実務:PCA・LDA・t-SNE・UMAP・オートエンコーダの手法解説と前処理・評価ガイド
次元圧縮とは何か — 概要と目的
次元圧縮(じげんあっしゅく、dimensionality reduction)は、多次元データ(特徴量が多数あるデータ)を、情報をできるだけ損なわずに低い次元の表現へ変換する技術群を指します。主な目的は以下の通りです。
- 可視化:高次元データを2次元や3次元に落として人間が理解しやすくする。
- 計算効率の向上:特徴量数を減らして学習や検索を高速化する。
- ノイズ除去・一般化:冗長な変数やノイズを取り除き、過学習を抑える。
- 解釈性:重要な構造や潜在因子を抽出する。
基礎理論と考え方
次元圧縮は大きく「特徴選択(feature selection)」と「特徴抽出(feature extraction)」に分かれます。特徴選択は元の特徴のサブセットを選ぶ手法、特徴抽出は元の特徴を組み合わせて新しい低次元の特徴を作る手法です。数学的には、行列分解(特に特異値分解 SVD)や確率モデル、非線形埋め込みなどが用いられます。
代表的な手法
以下に、よく使われる手法とその特徴をまとめます。
- PCA(主成分分析)
線形変換で分散が最大となる軸を順に取り出す手法。データ中心化と共分散行列の固有分解(またはSVD)に基づき、説明分散比(explained variance ratio)で成分数を決定できます。線形関係の抽出に強く、復元(逆変換)が容易で、外挿(新しいデータへの適用)も直接可能です。 - 線形判別分析(LDA)
クラス情報がある場合にクラス間分散を最大化、クラス内分散を最小化する線形射影。分類タスクに有効ですが、クラス数以下の次元にしか縮約できない制約があります。 - t-SNE
非線形可視化手法で、高次元の局所的類似度を低次元で保つことを目指します。局所構造を良く表現しますが、グローバルな構造(クラスタ間距離)の解釈には注意が必要で、確率的かつ再現性が低い(ランダム初期化に依存)こと、計算コストが高いことが知られています。パラメータではperplexityや学習率が結果に敏感です。 - UMAP
t-SNEの代替として近年広まった非線形埋め込み。局所近傍のトポロジー保存をグラフ理論と計量幾何の観点から扱い、速度とスケーラビリティ、局所と大域構造のバランスに優れます。主要なパラメータはn_neighborsとmin_distです。学習済みモデルから新しいデータへ変換(transform)が可能な点も実務で有用です。 - オートエンコーダ(Autoencoder)
ニューラルネットワークを使った非線形次元圧縮。エンコーダで低次元潜在表現を学び、デコーダで再構築することで情報の保存を学習します。再構築誤差や正則化で表現を制御できます。大量データや複雑な非線形構造の学習に適します。 - Isomap、LLEなどの古典的手法
多様体学習に基づく手法で、局所的測地距離や近傍の幾何を保存することを目指します。データの多様体仮定が成り立つ場合に有効です。
前処理と実務上の注意点
次元圧縮を行う前の前処理は結果に大きく影響します。
- 標準化(平均0、分散1)やスケーリング:PCAなど分散に依存する手法では必須。
- カテゴリ変数の取り扱い:ワンホット化で次元が増えるため、圧縮前後の意味を整理する。
- 欠損値処理:欠損が多い特徴は除去、または適切に補完する。
- 外れ値の影響:線形手法は外れ値に敏感なため検出と対処を検討する。
評価指標と選び方
次元圧縮の評価は目的によって変わります。可視化ならば「クラスタの分離」「局所構造の保存」、機械学習の前処理ならば「下流タスクの性能向上」、復元性ならば「再構築誤差」や「説明分散」です。埋め込みの品質を定量化する指標としては、trustworthiness(近傍の保持率)やcontinuity、KL散逸(t-SNEの目的関数に相当)などが使われます。
よくある誤解と落とし穴
- 「2次元図の距離はそのまま高次元の関係を表す」:特にt-SNEでは局所性の保持が優先され、グローバルな距離は誤解を招くことがある。
- 「次元を減らせば常に良くなる」:重要な情報が失われると下流タスクで性能が落ちることがある。必ず評価を行うこと。
- 「パラメータ設定は自動でよい」:t-SNEやUMAPなどはパラメータで結果が大きく変わるため複数設定での検証が必要。
実務的な選択ガイド
- 目的が可視化であれば:まずPCAで線形構造を確認し、局所構造を可視化したければt-SNEやUMAPを試す。UMAPはスケールや速度で有利なことが多い。
- 前処理や速度重視なら:PCAやランダム投影(random projection)が有用。PCAは説明分散で成分数を決められる。
- 非線形で大規模データなら:オートエンコーダやUMAP(バッチ処理や近似アルゴリズムを活用)を検討する。
- 新規データへの適用性が必要なら:線形手法やパラメトリックモデル(オートエンコーダ、学習済みUMAP)を選ぶ。
まとめ
次元圧縮はデータ解析において極めて重要な技術で、可視化、ノイズ除去、計算コスト削減など多くの利点があります。一方で手法ごとの仮定や限界、前処理やパラメータ感度に注意が必要です。目的(可視化か前処理か、再構築か分類か)に合わせて手法を選び、定量評価を行いながら使うことが成功の鍵です。
参考文献
- scikit-learn: Principal component analysis (PCA)
- A Tutorial on Principal Component Analysis — Jonathon Shlens (arXiv:1404.1100)
- Visualizing Data using t-SNE — Laurens van der Maaten & Geoffrey Hinton (JMLR 2008)
- UMAP: Uniform Manifold Approximation and Projection — McInnes, Healy, Melville (arXiv:1802.03426)
- Reducing the dimensionality of data with neural networks — G. Hinton & R. Salakhutdinov (Science 2006)
- Curse of dimensionality — Wikipedia
- scikit-learn: Manifold learning (t-SNE, Isomap, LLE等)
- scikit-learn: Linear Discriminant Analysis (LDA)


