El algoritmo de Mapper y el Análisis Topológico de Datos


El siguiente material es parte de uno de nuestros cursos sobre Topological Data Analysis en el Colegio de Matemáticas Bourbaki
El tema principal del que hablaremos es la construcción de Mapper. Esta construcción hará uso de ideas provenientes de la topología, en lo particular algunas relacionadas con el teorema del nervio.
La construcción de Mapper
La construcción de la que hablaremos puede realizarse tanto para un espacio topológico como para una base de datos y que tiene como salida un grafo que resume, por un lado, la clase de homotopía del espacio topológico y, por el otro, describe el soporte de la distribución de una base de datos. Al final de este capítulo vamos a describir una importante aplicación de esta construcción para la clasificación de cáncer de mama.

Para describir un espacio topológico basta con señalar el conjunto de sus abiertos, los cuales son un concepto fundamental en matemáticas. Intuitivamente, un conjunto abierto es una reunión amplia de puntos, es decir, que un abierto podría entenderse como un adjetivo que describe a los conjuntos grandes. Desde un punto de vista matemático, esta es la definición de un espacio topológico:
Espacio topológico
Un espacio topológico es un conjunto X y una familia de subconjuntos U ⊆ X de tal forma que se cumplen las siguientes propiedades:
- El conjunto X es un abierto, pues es lo más grande que tenemos.
- Si U, U′ son abiertos, su intersección U ∩ U′ también es abierta, pues ambos son tan grandes que lo que esté en ambos también deberá ser grande.
- Algunas veces la intersección entre dos abiertos podría ser vacía y, para no contradecir el axioma anterior, vamos a incluir también al vacío como un abierto a pesar de no ser grande.
- La unión de cualquier familia de abiertos es un abierto. Esto es claro, pues si ellos son grandes, unir una familia grande de conjuntos grandes también lo debería de ser. Es necesario considerar familias no solo infinitas sino con tamaños de infinito más grandes que los números naturales.
Ejemplo
En la recta real R los abiertos contienen a todos los intervalos (a,b) ⊆ R. Existe una idea intuitiva de por qué estos conjuntos son grandes, tomemos algún número a < c < b, notemos que existe una cantidad infinita de d′ que satisfacen tanto a < c < d < b como a < d < c < b.

Ejemplo
Si X es un conjunto infinito, la familia de todos los subconjuntos finitos de X no es una topología, pues no captura la noción de grandeza.
La definición de un espacio topológico en función de sus abiertos es exhaustiva, aunque podría ser un poco difícil tratar con ella. Afortunadamente existen construcciones topológicas que no requieren a todos los abiertos sino solo algunas relaciones combinatorias más abstractas.
Los complejos simpliciales que vamos a definir a continuación permitirán recuperar propiedades topológicas utilizando la interacción combinatoria entre los sub-espacios. Pensemos, por ejemplo, en un "topic modeling" en el que no solo tenemos clusterización sino también posibles interacciones entre dos tópicos, como un texto que hable sobre ambos.
Complejo simplicial
Un complejo simplicialabstracto es un conjunto Σ junto a una familia distinguida de subconjuntos σΣ ⊆ Σ que satisfacen la siguiente propiedad: si σ′ ⊆ σΣ y σΣ es distinguido, entonces también σ′ lo es.
Dado un complejo simplicial abstracto es posible construir un espacio topológico de manera única utilizando a los conjuntos como caras de puntos independientes en algún espacio vectorial.
Dos tópicos podrían ser representados en un complejo simplicial por dos conjuntos σ, σ′ que compartan un subconjunto del mismo tamaño menos uno.
El objetivo de la construcción de Mapper para espacios topológicos será reconstruir un espacio topológico utilizando un complejo simplicial distinguido.
En un curso previo se trató la noción de equivalencia homotópica, la cual utilizaremos a partir de ahora. Recordemos que esto no es lo mismo que un homeomorfismo.
Teorema del nervio
Si X es un espacio topológico y Uₖ, k ∈ I es una familia de abiertos que cubre a todo el espacio X de tal manera que la intersección de cualquier par de abiertos es homotópicamente equivalente a un punto o vacía, y si definimos el complejo simplicial I = Σ donde sus caras están determinadas por los abiertos que sí se intersectan, entonces este complejo simplicial es homotópicamente equivalente a X.
Bases de datos

La construcción de Mapper supone que nuestros datos son generados con una distribución cuyo soporte es un espacio topológico y el objetivo es construir el complejo simplicial correspondiente.
Antes de describir la construcción de Mapper, es necesario repasar lo que podría significar un conjunto abierto en una base de datos. Comencemos con el ejemplo más sencillo:
Ejemplo
Supongamos que S = {x₁, ..., xₙ} es una base de datos donde todos los registros pertenecen a alguna de dos clases. Entonces, el conjunto de elementos que pertenecen a alguna clase es un abierto en el sentido de la sección anterior, pues las vecindades de elementos en cada clase deberían estar conformadas por elementos de esa misma clase. Lo mismo podríamos hacer para el ejemplo de una base de datos con K clases.

Gracias a lo anterior, para definir el complejo simplicial de una base de datos será necesario construir una clusterización de nuestro conjunto de datos. Para esto podemos utilizar distintos métodos, uno muy común es el del clustering jerárquico, fijando alguna noción de distancia entre los puntos, por ejemplo la euclidiana, la medida del coseno o alguna otra.
Como es bien conocido para los científicos de datos, un dataset corre el riesgo irremediable de contener ruido, el cual afecta a cualquier algoritmo. Por lo anterior, la noción de abierto mediante una clusterización no es lo suficientemente robusta.
Para terminar la construcción de Mapper debemos tomar en cuenta una función f: S → Rᵏ donde K es un hiperparámetro por definir. La idea intuitiva de esta función es que nuestra base de datos herede topología de un espacio de variables latentes. A esta función la llamaremos el filtro de nuestros datos.
Algunos ejemplos de estas funciones podrían ser los siguientes:
- Una métrica para nuestra base de datos.
- El análisis de componentes principales.
- El embudo de un auto-encoder.
- Un núcleo gaussiano.
Ahora podemos construir el complejo abstracto de Mapper asociado a una base de datos S.
Algoritmo de Mapper
Un conjunto de datos S, con los siguientes hiperparámetros, tiene asociado el complejo simplicial de Mapper:
- Un algoritmo de clusterización y un conjunto de clusters n.
- Una función filtro que capture variables latentes a un espacio de dimensión K.
- Una cubierta abierta de nuestro espacio de variables latentes.
Para cada abierto U del espacio latente y cada i ≤ K construimos un conjunto de puntos en S determinado por el i-ésimo clúster de la imagen inversa de U, es decir, todos los elementos de la base de datos que bajo f van a dar a U.
La familia de todos los subconjuntos S(U,i) de la base de datos determinada por todas las parejas (U,i) serán los puntos de nuestro complejo simplicial de Mapper. Las caras de este complejo simplicial están determinadas por los subconjuntos que contengan registros de nuestro dataset en común.
Aplicaciones a la visualización de datos

La construcción descrita anteriormente fue célebremente utilizada en el artículo [Nicolau 2011] para una base de datos con características de tumores cancerígenos. Utilizando la norma Lᵖ como función de filtro y la medida del coseno como métrica de clusterización, se construyó un complejo simplicial que les permitió visualizar un conjunto de puntos claramente distinguidos. Este conjunto de registros coincide con un tipo de cáncer benigno que no había sido identificado hasta el momento.
¿Dónde aprender Ciencia de Datos?
En el Colegio de Matemáticas Bourbaki enseñamos con detalle las matemáticas y las bases para que nuestros estudiantes estén listos para aprender los modelos más avanzados de Inteligencia Artificial, Ciencia de Datos y Finanzas Cuantitativas. Estos son los dos cursos que están por comenzar y durarán todo el 2025.
- Track de Ciencia de Datos. (49 semanas).
- Machine Learning & AI for the Working Analyst ( 12 semanas).
- Matemáticas para Ciencia de Datos ( 24 semanas).
- Especialización en Deep Learning. (12 semanas).
- Track de Finanzas Cuantitativas (49 semanas)
- Aplicaciones Financieras De Machine Learning E IA ( 12 semanas).
- Las matemáticas de los mercados financieros (24 semanas).
- Deep Learning for Finance (12 semanas).