LINEAL NO LINEAL TOPOLÓGICO

Reducción de Dimensionalidad

Intuición matemática y geométrica de PCA, t-SNE y UMAP — con visualizaciones interactivas.

PCA

Principal Component Analysis · 1901, Karl Pearson

PCA busca una proyección lineal que maximiza la varianza retenida. La idea geométrica es rotar el sistema de coordenadas para que el nuevo eje X apunte en la dirección de mayor dispersión.

Dada la matriz centrada \(\tilde{X}\), la matriz de covarianza codifica cómo varían conjuntamente las dimensiones:

COVARIANZA Y EIGENDECOMPOSICIÓN
\[\Sigma = \frac{1}{n}\tilde{X}^T\tilde{X} = V\Lambda V^T\]

Los eigenvectores \(V\) indican las direcciones de máxima varianza. Los eigenvalores \(\lambda_i\) cuantifican cuánta varianza captura cada uno.

PROYECCIÓN A k DIMENSIONES
\[Z = \tilde{X}\, V_k \quad \in \mathbb{R}^{n \times k}\]
VARIANZA EXPLICADA (componente i)
\[\text{VE}_i = \frac{\lambda_i}{\displaystyle\sum_{j=1}^{d}\lambda_j}\]
🔑 Intuición geométrica Las flechas en el canvas son los eigenvectores. Su dirección es el nuevo eje y su longitud es √λ (la desv. estándar en esa dirección). La proyección 1D es una sombra ortogonal sobre PC1.
⚠️ Limitación PCA solo detecta estructura lineal. Datos en espiral, toroide u otras variedades curvas serán mal representados.
Espacio original + componentes principales PC1=verde · PC2=azul
PC1
70.0%
PC2
30.0%
Correlación ρ 0.75
N puntos 100

t-SNE

t-distributed Stochastic Neighbor Embedding · 2008, van der Maaten & Hinton

t-SNE preserva vecindades locales. Modela las similitudes en alta-D como probabilidades gaussianas y en baja-D como distribución t de Student de cola pesada.

PASO 1Gaussiana en alta-D
PASO 2t-Student en baja-D
PASO 3Minimizar KL(P‖Q)
SIMILITUD CONDICIONAL EN ALTA DIMENSIÓN (Gaussiana centrada en xᵢ)
\[p_{j|i} = \frac{\exp\!\left(-\|x_i-x_j\|^2/2\sigma_i^2\right)}{\displaystyle\sum_{k\neq i}\exp\!\left(-\|x_i-x_k\|^2/2\sigma_i^2\right)}\]

\(\sigma_i\) se calibra por búsqueda binaria para que \(H(P_i)=\log_2(\text{perplejidad})\). Luego se simetriza: \(p_{ij}=(p_{j|i}+p_{i|j})/2n\).

SIMILITUD EN BAJA DIMENSIÓN — t-Student con ν=1 (cola pesada)
\[q_{ij} = \frac{\left(1+\|y_i-y_j\|^2\right)^{-1}}{\displaystyle\sum_{k\neq l}\left(1+\|y_k-y_l\|^2\right)^{-1}}\]
FUNCIÓN DE PÉRDIDA — KL divergencia (no simétrica)
\[\mathcal{L} = \mathrm{KL}(P\|Q) = \sum_{i\neq j}p_{ij}\log\frac{p_{ij}}{q_{ij}}\]

La asimetría de KL penaliza más poner puntos lejos cuando deberían estar cerca (alta \(p_{ij}\), baja \(q_{ij}\)) que lo contrario → prioriza preservar vecindades sobre distancias globales.

🔑 El truco de la cola pesada La t-Student tiene colas más anchas que la Gaussiana. Esto permite que puntos moderadamente lejanos en alta-D estén muy separados en 2D sin gran penalización → los clusters se separan visualmente.
⚠️ Distancias globales no confiables La distancia entre clusters en el plot NO refleja su distancia real en alta-D. La perplejidad ≈ número efectivo de vecinos (5–50).
Gaussiana vs t-Student — colas pesadas
Optimización t-SNE en vivo — 3 clusters iter: 0
Alta dimensión (original)
Embedding 2D (t-SNE)
Perplejidad 15

UMAP

Uniform Manifold Approximation and Projection · 2018, McInnes et al.

UMAP asume que los datos viven en una variedad de Riemann localmente uniforme. Construye un grafo de vecindad difuso en alta-D y optimiza un embedding 2D que preserve esa topología.

PASO 1Grafo k-NN difuso en alta-D
PASO 2Simetrizar con unión difusa
PASO 3Minimizar KL binario
PASO 1 — PESO DE ARISTA LOCAL (normalizado por ρᵢ)
\[v_{ij} = \exp\!\left(\frac{-\max(0,\;d(x_i,x_j)-\rho_i)}{\sigma_i}\right)\]

donde \(\rho_i = \min_{j} d(x_i, x_j)\) asegura que cada punto tiene al menos un vecino con peso 1, y \(\sigma_i\) se calibra para que la suma de pesos sea \(\log_2(k)\).

PASO 2 — SIMETRIZACIÓN POR UNIÓN DIFUSA (t-conorma probabilística)
\[w_{ij} = v_{ij} + v_{ji} - v_{ij}\cdot v_{ji}\]

\(w_{ij} \in [0,1]\): probabilidad de que la arista \((i,j)\) exista en la variedad. La unión difusa garantiza simetría sin perder información direccional.

SIMILITUD EN BAJA DIMENSIÓN (familia generalizada de t-Student)
\[q_{ij} = \left(1 + a\,\|y_i - y_j\|^{2b}\right)^{-1}, \quad a,b > 0\]

Los parámetros \(a,b\) se ajustan a partir de min_dist. Para min_dist→0: \(a\approx1, b\approx1\) → kernel t-Student idéntico al de t-SNE. En la práctica con min_dist=0.1: \(a\approx1.577,\; b\approx0.895\).

PASO 3 — FUNCIÓN DE PÉRDIDA (paper original, McInnes et al. 2018)
\[\mathcal{L}_{\text{UMAP}} = \sum_{iEs la KL divergencia binaria \(D_{\mathrm{KL}}(\mathrm{Bern}(w_{ij})\;\|\;\mathrm{Bern}(q_{ij}))\) sumada sobre pares únicos.

FORMA EQUIVALENTE (más común en implementaciones)
\[\mathcal{L}_{\text{CE}} = -\sum_{iEs la entropía cruzada binaria \(H(w_{ij}, q_{ij})\). Difiere de \(\mathcal{L}_{\text{UMAP}}\) por la constante \(-H(w_{ij})\) (entropía de los pesos, fija durante la optimización), por lo que ambas son equivalentes para \(\arg\min\):

\[\mathcal{L}_{\text{UMAP}} = \underbrace{-H(w)}_{\text{constante}} + \mathcal{L}_{\text{CE}}\]
⚠️ Advertencia de notación frecuente Muchos materiales escriben la pérdida con \(P_{ij}\) en lugar de \(w_{ij}\). Evítalo: \(P_{ij}\) ya denota la matriz de similitudes en t-SNE. En UMAP, el símbolo correcto es \(w_{ij}\) (o \(\mu_{ij}\) en la notación original del paper).
🔑 Atracción + repulsión El término \(-w_{ij}\log q_{ij}\) atrae pares con alta conectividad. El término \(-(1-w_{ij})\log(1-q_{ij})\) repele pares no conectados. En la práctica, el segundo se estima por negative sampling (muestreo uniforme de pares negativos), lo que hace UMAP escalable.
📐 n_neighbors vs min_dist n_neighbors (k): radio de vecindad. k grande → más contexto global, clusters más unidos.
min_dist: controla \(a, b\) → compacidad del embedding. Bajo → puntos compactos dentro de clusters.
Grafo k-NN y embedding UMAP simulado
Grafo k-NN (alta-D)
Embedding (baja-D)
n_neighbors (k) 5
min_dist 0.10

Comparación directa

PCA
Principal Component Analysis
🎯 Objetivo — máxima varianza
📐 Tipo — lineal, determinista
Escala — O(d³) · muy rápido
🌍 Estructura global — ✅ preserva
🔍 Estructura local — ⚠️ solo lineal
🔄 Nuevos puntos — ✅ proyección
🎛️ Params — solo k
t-SNE
t-dist. Stochastic Neighbor Embedding
🎯 Objetivo — vecindades locales
📐 Tipo — no lineal, estocástico
Escala — O(n² log n) · lento
🌍 Estructura global — ❌ no confiable
🔍 Estructura local — ✅ excelente
🔄 Nuevos puntos — ❌ no nativo
🎛️ Params — perplejidad (5–50)
UMAP
Uniform Manifold Approximation & Projection
🎯 Objetivo — topología de variedad
📐 Tipo — no lineal, estocástico
Escala — O(n^1.14) · rápido
🌍 Estructura global — ✅ mejor que t-SNE
🔍 Estructura local — ✅ excelente
🔄 Nuevos puntos — ✅ transform()
🎛️ Params — n_neighbors, min_dist

¿Cuándo usar cada uno?

SITUACIÓNPCAt-SNEUMAP
Visualización exploratoria⚠ Si lineal✓ Ideal✓ Ideal
Preservar estructura global✓ Sí✗ No⚠ Parcial
Transformar datos nuevos✓ Sí✗ No✓ Sí
Interpretabilidad estadística✓ Alta✗ Baja✗ Baja
Datasets grandes (>10K)✓ Sí✗ Lento✓ Sí
Preproceso para ML✓ Estándar✗ No⚠ Experimental
ScRNA-seq / bioinformática⚠ Preproceso✓ Estándar✓ Tendencia

Flujo recomendado

1. SIEMPREPCA primero — escalar, entender varianza, reducir a ~50D si hay muchas dimensiones.
2. EXPLORACIÓNt-SNE para visualización si dataset <5K y buscas clusters locales.
3. PRODUCCIÓNUMAP si necesitas escalar, transformar nuevos datos o preservar estructura global.