2.6.7
UMAP
まとめ
- UMAP(Uniform Manifold Approximation and Projection)はリーマン幾何とトポロジーに基づき、高次元データの局所・大域構造を保って低次元に写像する。
- t-SNE より高速(O(N) に近い)で、大規模データ(数十万点以上)にもスケールする。
- 次元削減だけでなく、クラスタリングの前処理や教師あり次元削減(ラベル活用)にも使える。
直感 #
t-SNE は近い点同士の関係を保つが、遠い点のクラスター間距離は信頼できない。UMAP は「高次元でのトポロジー(接続構造)を低次元でも維持する」ことを目的関数にしているため、クラスター間の相対的な距離も意味を持ちやすい。
数学的定式化 #
UMAPはリーマン幾何とファジー集合論に基づき、高次元と低次元で「トポロジカルな構造」を一致させるよう最適化します。
高次元グラフの構築 #
各データ点$x_i$について、$k$近傍までの距離から局所的な接続確率を定義します。$\rho_i$は$x_i$の最近傍距離、$\sigma_i$は正規化パラメータです:
$$v_{j|i} = \exp\!\left(-\frac{d(x_i, x_j) - \rho_i}{\sigma_i}\right)$$$\sigma_i$は各点の近傍数が指定したn_neighbors(= $k$)と整合するよう決定されます:
対称化 #
有向グラフを無向グラフに変換するため、ファジー和(probabilistic t-conorm)で対称化します:
$$v_{ij} = v_{j|i} + v_{i|j} - v_{j|i} \cdot v_{i|j}$$これにより$v_{ij} \in [0, 1]$の対称な類似度行列が得られます。
低次元での類似度 #
低次元埋め込み$y_i, y_j$間の類似度は、Student-t族のカーネルで定義します:
$$w_{ij} = \left(1 + a \|y_i - y_j\|^{2b}\right)^{-1}$$パラメータ$a, b$はmin_distから自動決定されます。$a=1, b=1$のとき$t$分布(自由度1)に一致し、t-SNEのカーネルと同等です。
損失関数(ファジー集合交差エントロピー) #
高次元の$v_{ij}$と低次元の$w_{ij}$を一致させるよう交差エントロピーを最小化します:
$$\mathcal{L} = \sum_{i \neq j} \left[ v_{ij} \log\frac{v_{ij}}{w_{ij}} + (1 - v_{ij}) \log\frac{1 - v_{ij}}{1 - w_{ij}} \right]$$第1項は「近い点を近くに保つ」引力項、第2項は「遠い点を遠くに保つ」斥力項です。t-SNEのKLダイバージェンスと異なり、斥力項が明示的に含まれるため大域構造の保持に有利です。
最適化 #
確率的勾配降下法(SGD)で${y_i}$を更新します。負のサンプリングにより計算量を$O(N)$に近づけています。
詳細な解説 #
ライブラリとデータ #
| |
基本的な次元削減 #
| |
主要パラメータ #
| パラメータ | 意味 | 効果 |
|---|---|---|
n_neighbors | 局所構造の範囲(近傍数) | 小→局所構造重視、大→大域構造重視 |
min_dist | 低次元での最小距離 | 小→密なクラスター、大→均一に散らばる |
metric | 距離関数 | “euclidean”, “cosine”, “manhattan” など |
n_components | 出力次元数 | 2(可視化)、10-50(前処理) |
t-SNE との比較 #
| |
教師あり UMAP #
| |
UMAP vs t-SNE vs PCA #
| 手法 | 速度 | 大域構造の保持 | 大規模データ | 新規データの transform |
|---|---|---|---|---|
| PCA | 最速 | ○(線形のみ) | ○ | ○ |
| t-SNE | 遅い | △ | △ | △ |
| UMAP | 速い | ○ | ○ | ○ |