次元削減(主成分分析PCA、t-SNE、LDA)

機械学習における教師なし学習の一分野である**次元削減(Dimensionality Reduction)**は、高次元データをより少ない次元に変換しつつ、本質的な情報を保つことを目的とする手法です。視覚化、計算コストの削減、ノイズの除去、過学習の抑制など、さまざまな場面で利用されます。代表的な手法として以下の3つが挙げられます。


1. 主成分分析(PCA:Principal Component Analysis)

概要:

PCAは線形な次元削減手法で、データの分散が最大となるような新しい直交基底(主成分)を見つけて、その上にデータを射影します。

特徴:

  • 教師なしで利用可能

  • 次元ごとの分散の大きさを基準に重要な情報を抽出

  • 線形変換であり、再構成可能

  • 高次元空間を理解しやすい低次元空間に射影

主な手順:

  1. 各特徴量を平均0、分散1に正規化(標準化)

  2. 共分散行列の計算

  3. 共分散行列を固有分解し、固有値・固有ベクトルを取得

  4. 固有値が大きい方向(分散が大きい)に射影

利用例:

  • 画像圧縮

  • 可視化(2次元、3次元への変換)

  • ノイズ除去


2. t-SNE(t-Distributed Stochastic Neighbor Embedding)

概要:

t-SNEは非線形の次元削減手法で、主に**高次元データの可視化(2次元または3次元)**に用いられます。データ間の局所的な類似性を保ちながら、低次元空間に写像します。

特徴:

  • 非線形で複雑な構造の可視化に強い

  • データのクラスタ構造や局所構造を保ちやすい

  • 距離を確率分布に変換して扱う

  • 再構成不可(圧縮用途には不向き)

主な手順(概要):

  1. 高次元空間の各点間の距離を条件付き確率に変換

  2. 低次元空間でも同様に確率分布を作成

  3. 2つの分布間のKLダイバージェンスを最小化

注意点:

  • パラメータ(例: perplexity)の選択により結果が大きく変わる

  • 高速でない(大規模データには工夫が必要)


3. LDA(Linear Discriminant Analysis)

※ここでは教師あり次元削減としてのLDA(Linear Discriminant Analysis)を紹介します。混同しやすい**Latent Dirichlet Allocation(潜在ディリクレ配分法)**とは別物です。

概要:

LDAはPCAとは異なり、ラベル付きデータを前提とするため、正確には教師なし学習ではありません。しかし、分類器の前処理として頻繁に利用され、次元削減の文脈で語られることがあります。

特徴:

  • 各クラスのクラス内分散を最小にクラス間分散を最大にする射影軸を学習

  • 判別的な特徴抽出に強い

  • 次元の上限は「クラス数 − 1」

主な手順:

  1. 各クラスの平均ベクトルと全体の平均を計算

  2. クラス内共分散クラス間共分散を求める

  3. 一般化固有値問題を解いて、最良の射影軸を得る

利用例:

  • 顔認識

  • テキスト分類(前処理)

  • 医療データの可視化


まとめ

手法名 線形/非線形 教師あり/なし 特徴 主な用途
PCA 線形 教師なし 分散最大化 圧縮・可視化
t-SNE 非線形 教師なし 局所構造の保持 可視化
LDA 線形 教師あり クラス分離最適化 判別・分類

生成日:2025/06/01