Isomap.es
Resumen
- Isomap construye un grafo de vecinos, estima distancias geodesicas y embebe puntos preservando esas distancias.
- Funciona bien cuando los datos viven sobre variedades curvas.
_neighbors controla conectividad del grafo y calidad del embedding.
Intuicion #
Isomap reemplaza distancia euclidiana por distancia sobre la superficie de datos. Asi puede desplegar estructuras curvas en pocas dimensiones sin romper la geometria global.
Explicacion Detallada #
1. Idea #
- Construye un grafo de vecinos usando (k) vecinos más cercanos o un radio (\varepsilon).
- Calcula las distancias de camino mínimo en ese grafo (geodésicas) para cada par de muestras.
- 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 #
| |
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 #
| Ventajas | Desventajas |
|---|---|
| Preserva la geometría de la variedad | Costoso: requiere caminos mínimos para todos los pares |
| Visualizaciones intuitivas | Muy 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.