PCA、t-SNE、UMAP:次元削減手法の比較

2025/04/02 PCA t-SNE UMAP 次元削減

PCA、t-SNE、UMAP:次元削減手法の徹底比較

はじめに

本記事では、非線形かつ教師なしの次元削減手法である、t-SNE (t-distributed Stochastic Neighbor Embedding)UMAP (Uniform Manifold Approximation and Projection)を中心に解説します。これらの手法は、高次元データの可視化や、機械学習の前処理として広く用いられており、その重要性はますます高まっています。また、比較対象として、古典的な線形次元削減手法である主成分分析(PCA)についても解説します。PCAは、非線形手法の理解を深めるための基礎となるだけでなく、それ自体も重要な次元削減手法として、様々な場面で活用されています。

1. 次元削減の概要

次元削減の定義と目的

現代社会では、センサー技術や情報技術の発展により、我々はかつてないほど大量のデータに囲まれるようになりました。これらのデータは、画像、音声、テキスト、センサーデータなど、様々な形式を取り、その次元(特徴量の数)は数千、数万、あるいはそれ以上に及ぶことも珍しくありません。このような高次元データは、機械学習やデータ分析において、以下のような様々な問題を引き起こすことが知られています。

  • 計算コストの増大: 高次元データは、計算資源(時間、メモリ)の消費を著しく増大させます。アルゴリズムの計算量は、一般的に次元数の増加に伴って指数関数的に増加するため、高次元データに対する処理は現実的な時間内には完了しないことがあります。
  • 過学習: 機械学習モデルは、訓練データの次元数が大きい場合に、訓練データに過剰に適合し、未知のデータに対する汎化性能が低下する「過学習」と呼ばれる現象を起こしやすくなります。これは、高次元空間では、データが疎になりやすく、モデルがノイズにも適合してしまうためです。
  • 次元の呪い: 高次元空間では、データ間の距離の概念が曖昧になり、多くの機械学習アルゴリズムが性能を発揮できなくなる「次元の呪い」と呼ばれる現象が発生します。例えば、k近傍法(k-NN)では、高次元空間ではほとんどのデータ点が互いに遠く離れており、意味のある近傍関係を捉えることが困難になります。
  • 可視化の困難さ: 人間が直接的に理解できるのは、2次元または3次元までのデータに限られるため、高次元データを可視化し、その構造やパターンを把握することは非常に困難です。

これらの問題を解決するために、次元削減という手法が用いられます。次元削減とは、データの本質的な情報を可能な限り保持しつつ、その次元数を削減する技術の総称です。次元削減によって、データの計算コストを削減し、過学習のリスクを低減し、次元の呪いを回避し、データを可視化することが可能になります。

次元削減の種類

次元削減は、様々な基準に基づいて分類することができます。ここでは、代表的な分類方法として、線形/非線形、教師あり/なしによる分類を紹介します。

  • 線形次元削減 vs 非線形次元削減:
    • 線形次元削減: 元のデータを、より低次元の線形部分空間に射影する手法です。代表的な手法としては、主成分分析(PCA)、線形判別分析(LDA)などが挙げられます。線形次元削減は、計算が比較的容易で、解釈性にも優れるという利点がありますが、複雑な非線形構造を持つデータには適用が難しいという欠点があります。
    • 非線形次元削減: 元のデータを、より低次元の非線形多様体(多様体とは、局所的には線形空間とみなせるような曲面の高次元版)に埋め込む手法です。代表的な手法としては、t-SNE、UMAP、自己符号化器(Autoencoder)などが挙げられます。非線形次元削減は、複雑な非線形構造を持つデータにも適用可能ですが、計算コストが高く、解釈性が低いという欠点があります。
  • 教師あり次元削減 vs 教師なし次元削減:
    • 教師あり次元削減: 入力データだけでなく、出力データ(ラベル)の情報も用いて次元削減を行う手法です。代表的な手法としては、線形判別分析(LDA)などが挙げられます。教師あり次元削減は、特定のタスク(分類、回帰など)において、より高い性能を発揮することが期待できますが、出力データが必要となるため、適用範囲が限定されます。
    • 教師なし次元削減: 入力データのみを用いて次元削減を行う手法です。代表的な手法としては、主成分分析(PCA)、t-SNE、UMAP、自己符号化器(Autoencoder)などが挙げられます。教師なし次元削減は、出力データが不要なため、様々なデータに適用可能ですが、特定のタスクに対する最適化は行われないため、性能はタスクに依存します。

2. PCAとは

PCAの基本原理

主成分分析(PCA: Principal Component Analysis)は、1901年にKarl Pearsonによって提案された、最も基本的かつ広く利用されている線形次元削減手法の一つです。PCAの目的は、データの情報をできるだけ多く保持する新しい変数(主成分と呼びます)を、元の変数から合成することです。ここでいう「情報」とは、データの分散のことであり、分散が大きいほど、データに多くの情報が含まれていると考えます。

具体的には、PCAは以下の2つのステップで、高次元データを低次元空間に変換します。

  1. 中心化: まず、元のデータの各変数の平均値を計算し、各データ点からその平均値を引くことで、データの中心を原点に移動させます。これにより、計算が簡単になります。
  2. 主成分の抽出と射影: 次に、中心化されたデータから共分散行列を計算します。共分散行列とは、データに含まれる変数間の共分散(2つの変数の間の線形な関係を示す指標)を要素とする正方行列です。PCAでは、この共分散行列を固有値分解と呼ばれる手法を用いて、固有値と固有ベクトルに分解します。
    • 固有値は、固有ベクトルが表す方向へのデータの分散の大きさを表します。
    • 固有ベクトルは、データの分散が最も大きい方向(主成分)を表します。

PCAでは、固有値が大きい順に固有ベクトルを並べ、対応する主成分を第一主成分第二主成分、...と呼びます。第一主成分は、データ全体の分散を最もよく表す方向であり、第二主成分は、第一主成分に直交する方向の中で、データ全体の分散を最もよく表す方向となります。一般に、k番目の主成分は、それ以前の(k-1)個の主成分全てに直交する方向の中で、データ全体の分散を最もよく表す方向となります。

そして、元のデータを、これらの主成分を軸とする新しい座標系に変換することで、データの次元を削減します。具体的には、分散の大きい上位k個の主成分に対応する固有ベクトルを用いて、元のデータをk次元の空間に射影します。これにより、元のデータに含まれる情報の多くが、少数の主成分に凝縮されるため、情報の損失を抑えつつ、データの次元を削減することができます。

PCAのアルゴリズム

PCAのアルゴリズムをまとめると、以下のようになります。

  1. n個のデータ点とp個の変数を持つデータ行列 X を作成します。X の各行はデータ点を表し、各列は変数を表します。
  2. データ行列 X の各列(変数)の平均値を計算し、各要素からその平均値を引くことで、データ行列 X を中心化します。
  3. 中心化されたデータ行列 X から、共分散行列 Σ を計算します。共分散行列 Σ の (i, j) 要素は、X の i 番目の変数と j 番目の変数の共分散を表します。数式で表すと、以下のようになります。
    Σ = (1/(n-1)) * XT X
    ここで、XT は X の転置行列を表します。
  4. 共分散行列 Σ を固有値分解し、固有値 (λ1, λ2, ..., λp) と、対応する固有ベクトル (u1, u2, ..., up) を求めます。固有値は、通常、大きい順に並べられます。
  5. 固有値が大きい順に、上位 k 個の固有ベクトル (u1, u2, ..., uk) を選択します。これらの固有ベクトルが、主成分となります。
  6. 元のデータ行列 X を、選択された k 個の主成分 (u1, u2, ..., uk) を並べた行列 Uk を用いて、k 次元の空間に射影します。射影後のデータ行列 Y は、以下の式で計算されます。
    Y = X Uk
    Y の各行は、元のデータ点を k 次元空間に射影した後の座標を表します。

PCAの利点と欠点

PCAは、そのシンプルさと計算効率から、様々な分野で広く利用されていますが、いくつかの利点と欠点を持ち合わせています。

利点:

  • 計算効率: PCAは、共分散行列の固有値分解という比較的効率的な計算処理に基づいているため、中規模から大規模のデータセットに対しても、比較的短時間で処理を行うことができます。
  • 解釈性: PCAによって得られた主成分は、元の変数の線形結合として表されるため、その意味を解釈することができます。例えば、テストの点数データに対してPCAを適用した場合、第一主成分が「総合的な学力」を表し、第二主成分が「文系・理系の傾向」を表すなど、主成分が持つ意味を解釈できる場合があります。
  • 次元削減効果: PCAは、データの分散が最も大きい方向にデータを射影することで、情報の損失を最小限に抑えつつ、効果的にデータの次元を削減することができます。これにより、後続の機械学習アルゴリズムの計算コストを削減し、過学習のリスクを低減することができます。
  • ノイズ除去: PCAは、データの分散が小さい方向を無視することで、データに含まれるノイズ成分を低減する効果があります。これにより、データの品質を向上させ、後続の分析や機械学習の性能を向上させることができます。
  • 無相関化: PCAによって得られた主成分は、互いに無相関であるという性質を持ちます。これは、多重共線性(多変量解析において、説明変数間に高い相関がある場合に発生する問題)を回避する上で重要な性質です。

欠点:

  • 非線形構造への適用限界: PCAは、元のデータを線形部分空間に射影する手法であるため、複雑な非線形構造を持つデータには適用が難しいという欠点があります。例えば、データの分布がS字型やらせん状になっているような場合、PCAではうまく次元削減を行うことができません。
  • 大域構造の保持限界: PCAは、データ全体の分散を最大化する方向にデータを射影するため、データの大域的な構造(例えば、クラスター間の関係)を保持することが難しい場合があります。
  • スケール依存性: PCAは、データの各変数のスケール(単位)に影響を受けやすいという性質があります。例えば、ある変数が「身長 (cm)」で、別の変数が「体重 (kg)」であるような場合、身長の分散が体重の分散よりも大きくなる傾向があるため、PCAの結果が身長に偏ってしまう可能性があります。そのため、PCAを適用する前に、データを標準化するなどの前処理が必要になる場合があります。
  • 高次主成分の解釈困難: 高次の主成分は、解釈が難しくなる場合があります。

PCAの応用例

PCAは、その汎用性の高さから、様々な分野で幅広く応用されています。代表的な応用例としては、以下のようなものが挙げられます。

  • 機械学習の前処理: 機械学習モデルの入力データとして用いる前に、データの次元を削減し、計算コストを削減するために用いられます。また、PCAによるノイズ除去効果を利用して、データの品質を向上させる目的でも用いられます。
  • 特徴抽出: 高次元データから、そのデータの特徴をよく表す低次元の表現(主成分)を抽出するために用いられます。例えば、画像データに対してPCAを適用することで、画像の主要な特徴を抽出することができます。
  • データの可視化: 高次元データを2次元または3次元の空間に射影することで、データを可視化するために用いられます。特に、第一主成分と第二主成分を用いることで、データのおおまかな分布や構造を把握することができます。
  • ノイズ除去: データの分散が小さい方向を無視することで、データに含まれるノイズ成分を低減するために用いられます。例えば、音声データに対してPCAを適用することで、背景雑音を除去することができます。
  • データ圧縮: データの次元を削減することで、データ量を圧縮するために用いられます。例えば、画像データに対してPCAを適用することで、画像ファイルのサイズを小さくすることができます。
  • テキスト分析: テキストデータを単語の出現頻度ベクトルに変換した後、次元削減を行うことで、データを扱いやすくし、分析の効率を向上させるために用いられます。

3. t-SNEとは

t-SNEの基本原理

t-SNE (t-distributed Stochastic Neighbor Embedding) は、2008年にLaurens van der MaatenとGeoffrey Hintonによって提案された、非線形次元削減手法の一つです。t-SNEは、主に高次元データの可視化を目的として開発されており、特に、細胞種のようなデータの全体的な構造を捉えるのに優れています。

t-SNEの基本的な考え方は、高次元空間におけるデータ点間の類似度を、低次元空間におけるデータ点間の類似度で表現することです。ここでいう「類似度」とは、データ点同士がどれくらい近いかを表す指標であり、ユークリッド距離やコサイン類似度などが用いられます。t-SNEでは、高次元空間での類似度を条件付き確率、低次元空間での類似度をt分布を用いて表現します。

具体的には、t-SNEは以下の2つのステップで、高次元データを低次元空間に変換します。

  1. 高次元空間での類似度計算: まず、高次元空間におけるデータ点 xi と xj の類似度 pij を、xi が xj の近傍点である確率として定義します。この確率は、xi を中心とするガウス分布を用いて計算されます。
  2. 低次元空間での類似度計算と最適化: 次に、低次元空間におけるデータ点 yi と yj の類似度 qij を、t分布を用いて定義します。t分布は、ガウス分布よりも裾が重い分布であり、低次元空間におけるデータ点間の距離をより柔軟に表現することができます。最後に、高次元空間での類似度 pij と低次元空間での類似度 qij の差(KLダイバージェンス)を最小化するように、低次元空間へのデータ点の配置 yi を最適化します。最適化には、通常、勾配降下法が用いられます。

t-SNEのアルゴリズム

t-SNEのアルゴリズムをまとめると、以下のようになります。

  1. n個のデータ点とp個の変数を持つデータ行列 X を作成します。
  2. データ行列 X から、高次元空間におけるデータ点 xi と xj の類似度 pij を計算します。
    pij = (pj|i + pi|j) / 2n
    ここで、pj|i は、xi が xj の近傍点である確率を表し、以下の式で計算されます。
    pj|i = exp(-||xi - xj||2 / 2σi2) / Σk≠i exp(-||xi - xk||2 / 2σi2)
    σi は、データ点 xi ごとに異なる値を持つパラメータであり、通常、パープレキシティと呼ばれるハイパーパラメータを用いて決定されます。パープレキシティは、各データ点の近傍点の数を表す指標であり、通常、5から50の間の値に設定されます。
  3. 低次元空間におけるデータ点 yi と yj の類似度 qij を、以下の式で計算します。
    qij = (1 + ||yi - yj||2)-1 / Σk≠l (1 + ||yk - yl||2)-1
    ここで、yi と yj は、それぞれ高次元空間のデータ点 xi と xj に対応する、低次元空間のデータ点です。
  4. 高次元空間での類似度 pij と低次元空間での類似度 qij の差を測るコスト関数 C(KLダイバージェンス)を計算します。
    C = Σi≠j pij log (pij / qij)
  5. コスト関数 C を最小化するように、低次元空間へのデータ点の配置 yi を勾配降下法などを用いて最適化します。
    yi(t+1) = yi(t) - η (∂C / ∂yi)
    ここで、yi(t) は、t 回目の更新における yi の座標を表し、η は学習率と呼ばれるハイパーパラメータです。

t-SNEの利点と欠点

t-SNEは、その優れた可視化性能から、様々な分野で広く利用されていますが、いくつかの利点と欠点を持ち合わせています。

利点:

  • 非線形構造の可視化: t-SNEは、非線形次元削減手法であるため、複雑な非線形構造を持つデータに対しても、効果的に次元削減を行うことができます。特に、高次元空間で近くに位置するデータ点は、低次元空間でも近くに配置されるようにマッピングされるため、データの局所的な構造をよく捉えることができます。
  • クラスタ構造の明瞭化: t-SNEは、類似度の高いデータ点を近くに配置する性質を持つため、データに潜在的なクラスタ構造が存在する場合、そのクラスタ構造を低次元空間で明瞭に表現することができます。これにより、データのクラスタリングや、クラスタ間の関係の把握が容易になります。

欠点:

  • 計算コスト: t-SNEは、データ点間のペアワイズな類似度計算を行うため、データ点の数 n に対して、計算量が O(n2) または最適化された実装でも O(n log n) で増加します。そのため、大規模なデータセットに対してt-SNEを適用する場合、計算コストが非常に高くなるという問題があります。
  • 大域構造の保持限界: t-SNEは、データの局所的な構造をよく捉える一方で、大域的な構造(例えば、クラスタ間の距離や配置関係)を保持することが難しいという欠点があります。そのため、t-SNEによって得られた可視化結果から、クラスター間の距離やクラスターの相対的なサイズを解釈することは一般的に推奨されません
  • ハイパーパラメータへの依存性: t-SNEの可視化結果は、パープレキシティと呼ばれるハイパーパラメータの設定に大きく依存します。パープレキシティは、各データ点の近傍点の数を表す指標であり、適切な値を設定することで、データの局所的な構造と大域的な構造のバランスを調整することができます。しかし、最適なパープレキシティの値は、データセットによって異なるため、様々な値を試してみる必要があります。
  • 再現性の問題: t-SNEのアルゴリズムには、確率的な要素が含まれるため、同じデータセットに対してt-SNEを複数回実行した場合でも、毎回わずかに異なる可視化結果が得られる可能性があります。そのため、t-SNEの結果を解釈する際には、その確率的な性質を考慮し、再現性が必要な場合は乱数シードを固定することが重要です。

t-SNEの応用例

t-SNEは、その優れた可視化性能から、様々な分野で広く応用されています。代表的な応用例としては、以下のようなものが挙げられます。

  • 高次元データの可視化: 遺伝子発現データ、画像データ、テキストデータなど、様々な高次元データを2次元または3次元の空間に射影することで、データを可視化するために用いられます。これにより、データの分布やクラスタ構造、異常値などを視覚的に把握することができます。
  • クラスタリング支援: データに潜在的なクラスタ構造が存在する場合、そのクラスタ構造を低次元空間で明瞭に表現することができるため、データのクラスタリングに用いられます。t-SNEによって得られた低次元表現に対して、k平均法などのクラスタリングアルゴリズムを適用することで、高次元データに対するクラスタリングを行うことができます。
  • 異常検知: 異常なデータ点を低次元空間で孤立した点として表現する傾向があるため、異常検知に用いられます。t-SNEによって得られた低次元表現において、他のデータ点から遠く離れた点を異常値として検出することができます。
  • 特徴量探索: 高次元データの中で、データの可視化に重要な特徴量を特定するために用いられます。t-SNEによって得られた低次元表現において、特定のクラスタを形成するデータ点に共通する特徴量を分析することで、そのクラスタを特徴づける重要な特徴量を抽出することができます。

4. UMAPとは

UMAPの基本原理

UMAP (Uniform Manifold Approximation and Projection) は、2018年にLeland McInnesらによって提案された、非線形次元削減手法の一つです。UMAPは、t-SNEと同様に、高次元データの可視化を目的として開発されましたが、t-SNEの持ついくつかの欠点を克服することを目指しています。

UMAPの基本的な考え方は、高次元データが低次元の多様体(局所的には線形空間とみなせるような曲面の高次元版)上に分布していると仮定し、その多様体の構造を低次元空間に近似的に表現することです。UMAPでは、この多様体の構造を、高次元空間での近傍グラフ(ファジィ単体複体のような考え方に基づく)と、低次元空間での近傍グラフという2つのグラフを用いて表現します。

具体的には、UMAPは以下の2つのステップで、高次元データを低次元空間に変換します。

  1. 高次元グラフの構築: まず、高次元空間におけるデータ点間の近傍関係をグラフ(重み付き)として表現します。このグラフの辺の重みは、データ点間の距離が近いほど大きくなるように設定され、各点の近傍のスケール(n_neighbors パラメータで調整)を考慮します。
  2. 低次元グラフの構築と最適化: 次に、低次元空間におけるデータ点間の近傍関係を表すグラフを構築します。このグラフの辺の重みは、低次元空間での距離に基づいて決まります(min_dist パラメータで調整)。最後に、高次元グラフと低次元グラフの構造(エッジの重みの分布)が可能な限り一致するように、クロスエントロピーをコスト関数として最小化し、低次元空間へのデータ点の配置を最適化します。

UMAPのアルゴリズム

UMAPのアルゴリズムをまとめると、以下のようになります。

  1. n個のデータ点とp個の変数を持つデータ行列 X を作成します。
  2. データ行列 X から、高次元空間におけるデータ点間の近傍関係を表す高次元グラフ GH を構築します。各データ点 xi について、最も近い k 個の近傍点(k はハイパーパラメータ n_neighbors)を見つけ、それらの間の距離に基づいて辺の重み wij を計算します。重みは、距離が小さいほど大きく、かつ各点の局所的な密度に適応するように正規化されます。
  3. 低次元空間におけるデータ点間の近傍関係を表す低次元グラフ GL を構築します。低次元空間(通常2次元または3次元)にデータ点 yi をランダムに初期配置します。低次元グラフの辺の重み vij は、低次元空間でのデータ点間の距離に基づいて計算されます。通常、距離がハイパーパラメータ min_dist より小さい場合は重みが1に近くなり、それ以上離れると指数関数的に減少します。
  4. 高次元グラフ GH と低次元グラフ GL の構造ができるだけ一致するように、クロスエントロピーを最小化する目的で、低次元空間へのデータ点の配置 yi を最適化します。最適化には、確率的勾配降下法などが用いられます。
    yi(t+1) = yi(t) - η (∂C / ∂yi)
    ここで C はクロスエントロピーコスト関数、η は学習率です。

UMAPの利点と欠点

UMAPは、t-SNEの持つ欠点を克服することを目指して開発されたため、t-SNEと比較していくつかの利点がありますが、いくつかの欠点も持ち合わせています。

利点:

  • 計算速度: UMAPは、グラフ構造を用いることや最適化手法の工夫により、より効率的な計算が可能になっています。そのため、UMAPは、t-SNEよりも高速に動作し、大規模なデータセットに対しても適用することができます。
  • 大域的な構造の保持: UMAPは、高次元空間におけるデータの大域的な構造(例えば、異なるクラスタ間の相対的な位置関係)を、t-SNEよりもよく保持する傾向があります。これは、UMAPが多様体全体の構造を近似しようとするアルゴリズムに基づいているためです。これにより、UMAPの可視化結果は、データの全体像をより忠実に反映している可能性があります。
  • 局所構造と大域構造のバランス: UMAPは、n_neighborsmin_distといったハイパーパラメータを調整することで、局所的な構造と大域的な構造のどちらを重視するかをある程度コントロールできます。これにより、目的に応じた可視化や次元削減が可能になります。

欠点:

  • 解釈の難しさ: t-SNEと同様に、UMAPによって得られた低次元空間におけるクラスター間の距離や、クラスターの相対的なサイズには、必ずしも明確な意味があるわけではありません。UMAPは大域構造をt-SNEより保持する傾向がありますが、それでもPCAのように直接的な解釈は困難です。
  • ハイパーパラメータへの依存性: UMAPの結果は、n_neighborsmin_distといったハイパーパラメータの設定に影響を受けます。これらのパラメータを適切に設定しないと、データの構造を誤って表現してしまう可能性があります。最適なパラメータはデータセットによって異なるため、試行錯誤が必要になる場合があります。
  • 再現性の問題: UMAPのアルゴリズムには確率的な要素が含まれるため、t-SNEと同様に、同じデータセットとパラメータで実行しても、実行ごとにわずかに異なる結果が得られることがあります。結果の再現性を確保するためには、乱数生成器のシード値を固定することが推奨されます。

UMAPの応用例

UMAPは、その高速な計算速度と、局所構造と大域構造の両方を捉える能力から、様々な分野で広く応用されています。

  • 高次元データの可視化: t-SNEと同様に、UMAPは高次元データを2次元または3次元に削減し、可視化するためによく用いられます。特に大規模データセットの可視化において、t-SNEよりも高速である点が有利です。シングルセルRNAシーケンスデータ、画像特徴量、自然言語処理における単語埋め込みなどの可視化に活用されています。
  • 探索的データ分析: UMAPは、データの全体的な構造を把握するのに役立つため、探索的データ分析の初期段階で用いられることがあります。データに潜むクラスタやパターンを発見するための強力なツールとなります。
  • 機械学習の前処理: UMAPによって得られた低次元表現は、後続の機械学習モデル(特にクラスタリングや分類)の入力特徴量として利用されることがあります。次元削減により計算コストが削減され、モデルの性能が向上する場合もあります。
  • 異常検知: t-SNEと同様に、UMAPも異常なデータ点を他のデータ点から離れた位置にマッピングする傾向があるため、異常検知に応用されることがあります。

5. PCAとt-SNEとUMAPの比較

これまで見てきたように、PCA、t-SNE、UMAPはすべて次元削減のための手法ですが、それぞれ異なる特性を持っています。ここでは、これらの手法をいくつかの観点から比較します。

観点 PCA (主成分分析) t-SNE (t分布型確率的近傍埋め込み) UMAP (均一多様体近似射影)
アルゴリズム種別 線形 非線形 非線形
目的 データの分散を最大化する方向(主成分)を見つける 高次元空間での近傍関係を低次元空間で保持(特に局所) 高次元データの多様体構造を低次元空間で近似(局所・大域)
構造の保持 全体的な分散、大域的な構造(線形関係に限る) 局所的な構造、近傍関係 局所的な構造と大域的な構造のバランス
出力 主成分(新しい変数)、射影されたデータ 低次元(通常2D/3D)の座標 低次元(通常2D/3D)の座標
計算速度 高速 低速(データサイズに大きく依存 O(n^2) or O(n log n)) 高速(t-SNEより速い)
データ規模 大規模データセットにも適用可能 小〜中規模データセット向き(大規模は時間がかかる) 大規模データセットにも適用可能
再現性 高い(決定論的) 低い(確率的、乱数シードで固定可能) 低い(確率的、乱数シードで固定可能)
解釈性 比較的容易(主成分、寄与率、負荷量) 困難(クラスター間の距離やサイズは意味を持たない) 困難(クラスター間の距離やサイズは意味を持たないが、大域構造はt-SNEより反映される可能性)
ハイパーパラメータ 削減後の次元数 (k) パープレキシティ、学習率、反復回数など n_neighbors, min_dist, 学習率など
主な用途 ノイズ除去、特徴抽出、機械学習の前処理、線形構造の可視化 高次元データの可視化、クラスタ構造の発見(特に局所) 高次元データの可視化、探索的分析、クラスタ構造の発見(局所・大域)、大規模データ

比較のポイント

  • 線形 vs 非線形: データ内の関係性が主に線形であると予想される場合や、解釈性が重要な場合はPCAが適しています。複雑な非線形構造を捉えたい場合はt-SNEやUMAPが適しています。
  • 局所 vs 大域: データの局所的な構造(個々のデータ点がどのグループに属するかなど)を重視する場合はt-SNEが強力です。局所構造と大域構造(異なるグループ間の関係など)のバランスを取りたい場合はUMAPが有力な選択肢となります。PCAはデータの全体的な分散を捉えますが、非線形なクラスタ構造の保持には向きません。
  • 計算コストとデータ規模: 大規模なデータセットを扱う場合は、計算速度の速いPCAやUMAPが適しています。t-SNEは計算コストが高いため、比較的小規模なデータセット向きです。
  • 解釈性: PCAの結果は主成分や負荷量を通じて比較的解釈しやすいですが、t-SNEやUMAPの可視化結果(特にクラスター間の距離やサイズ)は慎重に解釈する必要があります。
  • 再現性: 再現性が重要な分析では、決定論的なPCAが有利です。t-SNEやUMAPを用いる場合は、乱数シードを固定するなどの工夫が必要です。

6. まとめ

本記事では、代表的な次元削減手法であるPCA、t-SNE、UMAPについて、それぞれの基本原理、アルゴリズム、利点と欠点、応用例を解説し、比較を行いました。

  • PCAは、古くから使われている線形次元削減手法であり、データの分散を最大化する主成分を見つけることで次元を削減します。計算が高速で解釈性も高いですが、非線形なデータ構造を捉えることは苦手です。ノイズ除去や機械学習の前処理に適しています。
  • t-SNEは、非線形次元削減手法であり、高次元空間でのデータの近傍関係を低次元空間で保持することに優れています。特にデータの局所的な構造やクラスタ構造の可視化に強力ですが、計算コストが高く、大域的な構造は必ずしも保持されず、結果の解釈には注意が必要です。
  • UMAPは、比較的新しい非線形次元削減手法であり、多様体学習の理論に基づいて、局所構造と大域構造のバランスを取りながら次元削減を行います。t-SNEよりも高速で大規模データにも適用しやすく、t-SNEと同様に可視化に優れていますが、やはり結果の解釈やハイパーパラメータ設定には注意が必要です。

これらの手法は、それぞれ得意とする側面が異なるため、分析の目的やデータの特性に応じて適切な手法を選択することが重要です。

  • 解釈性や線形な関係を重視するならPCA。
  • 局所的なクラスタ構造の可視化が主目的ならt-SNE。
  • 大規模データの可視化や、局所・大域構造のバランスを取りたいならUMAP。

また、これらの手法は排他的なものではなく、組み合わせて使用することも有効です。例えば、非常に高次元なデータに対して、まずPCAで次元数をある程度削減し、その後にt-SNEやUMAPを適用して可視化を行うといったアプローチも一般的です。

次元削減は、高次元データを理解し、活用するための強力なツールです。本記事が、PCA、t-SNE、UMAPの理解を深め、データ分析の現場で適切な手法を選択するための一助となれば幸いです。

By Bantam