Isomap

Basic

Isomap | Desenrollar variedades no lineales

Isomap (Isometric Mapping) conserva las distancias geodésicas del grafo de vecinos y luego aplica MDS clásico para aplanar variedades curvas como el Swiss roll.


1. Idea #

  1. Construye un grafo de vecinos usando (k) vecinos más cercanos o un radio (\varepsilon).
  2. Calcula las distancias de camino mínimo en ese grafo (geodésicas) para cada par de muestras.
  3. Pasa la matriz de distancias a MDS para obtener el embedding de baja dimensión.

Así se mantiene la estructura global mientras se desenrolla la superficie curva.


2. Ejemplo en Python #

import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
from sklearn.datasets import make_swiss_roll
from sklearn.manifold import Isomap

X, color = make_swiss_roll(n_samples=1500, noise=0.05, random_state=0)
iso = Isomap(n_neighbors=10, n_components=2)
emb = iso.fit_transform(X)

fig, axes = plt.subplots(1, 2, figsize=(12, 5))
axes[0].scatter(X[:, 0], X[:, 2], c=color, cmap="Spectral", s=5)
axes[0].set_title("Swiss roll original")
axes[1].scatter(emb[:, 0], emb[:, 1], c=color, cmap="Spectral", s=5)
axes[1].set_title("Embedding Isomap")
for ax in axes:
    ax.set_xticks([])
    ax.set_yticks([])
plt.tight_layout()
plt.show()

Demostración de Isomap


3. Hiperparámetros #

  • n_neighbors: vecindario local; valores pequeños desconectan el grafo, valores grandes destruyen la forma.
  • n_components: típicamente 2 o 3 para visualizar.
  • Los duplicados o ruido fuerte pueden romper las distancias; considera estandarizar y limpiar la muestra.

4. Pros y contras #

VentajasDesventajas
Preserva la geometría de la variedadCostoso: requiere caminos mínimos para todos los pares
Visualizaciones intuitivasMuy sensible a la conectividad del grafo

5. Notas #

  • Isomap = grafo de vecinos + MDS; asegúrate de que el grafo refleje la topología real.
  • Comprueba si el grafo tiene un solo componente; de lo contrario el embedding se fragmentará.
  • UMAP o t-SNE pueden ser alternativas más veloces cuando sólo interesa preservar vecindarios locales.