Visualization for Machine Learning

Autumn 2025

Topological Data Analysis

¿Qué es la topología?

  • La topología estudia la forma de los objetos matemáticos

  • A diferencia de la geometría, no le importan los tamaños, ángulos, ni las coordenadas

  • Le importa la conectividad (o la falta de ella) entre las distintas “partes” del objeto

  • Dos objetos son topológicamente equivalentes si podemos transformar uno en otro con transformaciones continuas (sin romper el objeto)

¿Qué es la topología?

¿Por qué topología?

  • Como la topología analiza la forma descartando información posiblemente innecesaria, se usa frecuentemente para analizar objetos de alta dimensionalidad

  • Topological Data Analysis (TDA) usa técnicas de la topología para analizar datasets

  • Para hacer esto, es necesario construir representaciones topológicas de los puntos del dataset

¿Por qué topología? - Un ejemplo en química

¿Por qué topología? - Un ejemplo en química

¿Por qué topología? - Un ejemplo en química

¿Por qué topología? - Un ejemplo en biología

Números de Betti

El \(d\)-ésimo número de Betti cuenta el número de huecos de dimensión \(d\). Se puede usar para distinguir entre espacios.

  • \(\beta_0(X)\) Componentes conexas en X

  • \(\beta_1(X)\) Túneles o huecos en X

  • \(\beta_2(X)\) Vacíos en X

Primer Ejemplo - Mapa

¿Qué es un pico?


Primer Ejemplo - Mapa

¿Qué es un pico?

Primera idea: usar el máximo local

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

¿Qué es un pico?

Segunda idea: inundación

Primer Ejemplo - Mapa

La isla \(I\) aparece al nivel del mar \(b\) (su tiempo de nacimiento)…


Primer Ejemplo - Mapa

La isla \(I\) aparece al nivel del mar \(b\) (su tiempo de nacimiento)…

y desaparece al nivel del mar \(d\) (su tiempo de muerte) en el máximo local \(x\).

El punto \(x\) es un pico si la persistencia\(:= d-b\) de la isla \(I\) es mayor que \(91\)m (=\(300\)ft).

Primer Ejemplo - Mapa

El diagrama de persistencia (PD) de la función de elevación es la colección de los puntos \((b,d)\), donde \((b,d)\) corresponde al nacimiento/muerte de una isla.

Primer Ejemplo - Mapa

El diagrama de persistencia (PD) de la función de elevación es la colección de los puntos \((b,d)\), donde \((b,d)\) corresponde al nacimiento/muerte de una isla.

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Segundo Ejemplo

Diagrama de persistencia

Distancia entre diagramas de persistencia


Si tenemos más de un diagrama de persistencia, ¿cómo medimos la distancia entre ellos?

Distancia entre diagramas de persistencia


Colocamos ambos en el mismo diagrama

Distancia entre diagramas de persistencia


Colocamos ambos en el mismo diagrama

Obtenemos el emparejamiento óptimo entre los puntos (incluyendo la diagonal)

Distancia entre diagramas de persistencia


Colocamos ambos en el mismo diagrama

Obtenemos el emparejamiento óptimo entre los puntos (incluyendo la diagonal)

La distancia bottleneck entre ellos será la distancia de par más grande

Complejos simpliciales

Definición

Llamamos a una familia no vacía de conjuntos \(K\) con una colección de subconjuntos no vacíos \(S\) un complejo simplicial abstracto si:

  1. \(\{v\} \in S\) para todo \(v \in K\)
  2. Si \(\sigma \in S\) y \(\tau \subseteq \sigma\), entonces \(\tau \in K\).

Terminología

Los elementos de un complejo simplicial \(K\) se llaman simplices. Un \(k\)-simplex consiste de \(k+1\) vértices.

Complejos simpliciales

Ejemplo

Los complejos simpliciales se pueden descomponer en sus esqueletos, los cuales solo contienen simplices de una dimensión determinada.

Complejos simpliciales

Ejemplo

Los complejos simpliciales se pueden descomponer en sus esqueletos, los cuales solo contienen simplices de una dimensión determinada.

Complejos simpliciales

Ejemplo

Los complejos simpliciales se pueden descomponer en sus esqueletos, los cuales solo contienen simplices de una dimensión determinada.

Complejos simpliciales

Ejemplo

Los complejos simpliciales se pueden descomponer en sus esqueletos, los cuales solo contienen simplices de una dimensión determinada.

Complejos simpliciales

No-ejemplo

¡Esto no es un complejo simplicial porque algunos simplices de mayor dimensión no se intersectan en uno de menor dimensión!

Complejos simpliciales

Ejemplo

Nota que \(K\) no contiene el 2-simplex \(\{a,b,c\}\)

De nubes de puntos a complejos simpliciales

De nubes de puntos a complejos simpliciales


De nubes de puntos a complejos simpliciales

Estrategia 1: Triangulación

Construyendo el complejo simplicial de los datos

Construcción de Vietoris-Rips

Definición

Dado un conjunto de puntos \(\mathcal{X} = \{x_1,\dots,x_n\}\) y una métrica \(dist\) (como la distancia euclidiana), elige un umbral \(\epsilon\) y construye el complejo de Vietoris-Rips \(\mathcal{V}_\epsilon\) definido como:

\[\mathcal{V}_\epsilon := \{\sigma \subseteq \mathcal{X} | \forall u,v \in \sigma : dist(u,v) \leq \epsilon\}\]

Equivalentemente, \(\mathcal{V}_\epsilon\) contiene todos los simplices cuyo diámetro es menor o igual a \(\epsilon\).

Construcción de Vietoris-Rips

Ejemplo

Dibuja bolas euclidianas (círculos) de diámetro \(\epsilon\) y crea un \(k\)-simplex \(\sigma\) para cada subconjunto de \(k+1\) puntos que se intersectan por pares.

Algunos detalles sobre esta construcción

  • Esta construcción se remonta a un artículo de 1927 de Leopold Vietoris\(^1\)

  • Un paper de 2010 de Afra Zomorodian\(^2\) describe varios algoritmos de construcción

  • La idea básica es construir simplices de mayor dimensión inductivamente a partir de los de menor dimensión

  • ¡En el peor caso, el complejo de Vietoris-Rips contendrá los \(2^n\) subconjuntos de su nube de puntos original \(\mathcal{X}\)!

Los números de Betti de un complejo de Vietoris-Rips

Ejemplo

Problemas con este enfoque


  • ¿Cómo elegir \(\epsilon\)?

  • Puede que no haya un valor ‘correcto’ para \(\epsilon\).

  • Computacionalmente ineficiente

Eligiendo \(\epsilon\) - Persistencia Topológica

Intuición: Recorrer todas las escalas y hacer seguimiento de las características topológicas

Eligiendo \(\epsilon\) - Persistencia Topológica

Intuición: Recorrer todas las escalas y hacer seguimiento de las características topológicas

Eligiendo \(\epsilon\) - Persistencia Topológica

Intuición: Recorrer todas las escalas y hacer seguimiento de las características topológicas

Eligiendo \(\epsilon\) - Persistencia Topológica

Intuición: Recorrer todas las escalas y hacer seguimiento de las características topológicas

Eligiendo \(\epsilon\) - Persistencia Topológica

Intuición: Recorrer todas las escalas y hacer seguimiento de las características topológicas

Estrategia 2: Esqueleto de datos

El algoritmo Mapper

Mundo Matemático


Comenzamos en el “Mundo Matemático”, donde

  • Dibujamos los datos como una variedad suave
  • Las funciones que aparecen son suaves o continuas

No necesitaremos ninguno de estos supuestos una vez que estemos en el “Mundo de los Datos”.

Aún más importante, los datos en el mundo real nunca son así.

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

Mundo Matemático

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

¿Por qué es esto útil?

Obtenemos una comprensión “fácil” de las localizaciones de las cantidades de interés.

  • Los lentes nos informan dónde buscar fenómenos en el espacio.
  • Para localizaciones fáciles, muchos lentes distintos serán informativos.
  • Para localizaciones difíciles (= geométricamente distribuidas) tenemos que ser más cuidadosos. Pero aún así, frecuentemente obtenemos conocimiento incremental incluso de un lente mal elegido.

Mundo de los Datos - Mapper

Necesitamos ajustar la vista del “Mundo Matemático” para llevar el algoritmo al “Mundo de los Datos”

  • Reemplazamos puntos con conjuntos abiertos en el rango del lente
  • Reemplazamos “componente conexa de la imagen inversa” por “clusters en la imagen inversa”
  • Conectamos clusters (nodos) con una arista si comparten puntos en común.

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Mundo de los Datos - Mapper

Para profundizar

Referencias

Referencias

Algunos libros de interés:

  • Edelsbrunner, Herbert, and John L. Harer. Computational topology: an introduction. American Mathematical Society, 2022.

  • Dey, Tamal Krishna, and Yusu Wang. Computational topology for data analysis. Cambridge University Press, 2022.

  • Carlsson, Gunnar, and Mikael Vejdemo-Johansson. Topological data analysis with applications. Cambridge University Press, 2021.

Paper introductorio:

  • Chazal, Frédéric, and Bertrand Michel. “An introduction to topological data analysis: fundamental and practical aspects for data scientists.” Frontiers in artificial intelligence 4 (2021): 108.

Referencias

TDA en Python:

  • Para estructuras de datos y algoritmos generales de TDA: GUDHI (tanto en C++ como en Python) o scikit-tda
  • Para una implementación más rápida de Vietoris-Rips: Ripser.py
  • Para una implementación más rápida de Mapper: KeplerMapper

Para una librería y colección de software de código abierto para topological data analysis y visualization: Topology ToolKit

Para más ejemplos de aplicaciones de TDA: