Топология

Mapper algorithm: топологический скелет высокоразмерных данных

Цели урока

  • Понимать четыре шага pipeline Mapper
  • Выбирать подходящую lens function для исследовательской задачи
  • Подбирать resolution и gain с учётом стабильности
  • Применять Mapper для интерпретации нейросетей и биомедицинских данных

Предварительные знания

  • Базовая версия Mapper (top-29)
  • Bottleneck и Wasserstein distances (top-33)
  • Кластеризация (DBSCAN, single-linkage)
  • Dimensionality reduction (PCA, UMAP)
  • Алгоритм Mapper (basic)
  • Bottleneck/Wasserstein
  • Stability theorem

Mapper нашёл новый подтип рака груди, который не видел ни один кластеризатор - 9 пациенток с 100 процентов выживаемостью.

  • **Genomics**: breast cancer subtype discovery с 100 процентами выживаемости в выявленной flare-группе
  • **Neuroscience**: fMRI brain dynamics через циклические Mapper-структуры
  • **Drug discovery**: картирование 100 тысяч молекул в химическом пространстве
  • **Explainable AI**: топологическая интерпретация активаций нейросетей
  • **Finance**: анализ корреляционных матриц финансовых инструментов

Mapper от Stanford до Ayasdi

Алгоритм Mapper был представлен Гурджит Сингхом, Факундо Мемоли и Гуннаром Карлссоном на Symposium on Point-Based Graphics в 2007 году. В 2008 году Карлссон, Сингх и Дара Энтехаби основали компанию Ayasdi для коммерциализации TDA-инструментов, включая Mapper. Поворотным моментом стала статья Николау, Левине и Карлссона в PNAS 2012 года: Mapper выявил подтип рака груди с превосходной выживаемостью у 9 пациенток. Эта работа стала визитной карточкой TDA в биомедицине и привлекла внимание широкой аудитории. Сейчас Mapper реализован в открытых библиотеках (kepler-mapper, scikit-tda, Giotto-TDA) и широко используется в вычислительной биологии и нейронауках.

Pipeline Mapper: от данных к графу

2012 год. Моника Николау и её соавторы из Стэнфорда запускают Mapper на 295 профилях экспрессии генов больных раком груди. Стандартная кластеризация k-means находит ожидаемые 3 подтипа. Но Mapper выявляет нечто иное - flare, маленькую связную ветвь топологического скелета, отщеплённую от основной сети. В этой ветви 9 пациенток. У этой группы 100 процентов пятилетней выживаемости при том, что у остальной когорты от 60 до 70 процентов. Mapper нашёл новый подтип рака груди, который не видел ни один кластеризатор. Статья вышла в PNAS и стала визитной карточкой TDA в биомедицине.

Mapper работает в четыре шага, каждый из которых имеет ясный смысл. Lens сжимает данные до низкоразмерного представления, cover разрезает образ в перекрывающиеся куски, кластеризация в прообразах превращает куски в узлы графа, нерв из узлов и пересечений даёт финальный топологический скелет. Результат - симплициальный комплекс, обычно визуализируемый как граф.

Mapper - не статистика и не машинное обучение в классическом понимании. Это инструмент топологического исследования: он визуализирует связность данных, не делая никаких предположений о распределении. Кластеризация даёт точки, Mapper - граф связности этих точек.

Кольцо в 100D

Mapper находит топологию

10000 точек на тонком кольце в R^100 с гауссовым шумом сигма = 0.05. Lens = первая главная компонента PCA. Cover - 20 интервалов с перекрытием 50 процентов. Кластеризация в прообразе одного интервала находит примерно 2 кластера (две дуги кольца на каждом уровне lens). Mapper-граф - циклическая структура из 40 узлов. Топология кольца восстановлена правильно, шум подавлен покрытием.

Mapper визуализирует пространство активаций последнего слоя нейросети. Каждый узел - кластер похожих по активациям тестовых примеров. Цвет узла - доминирующий класс. Mapper-граф показывает топологическую структуру решений: какие классы соседствуют, где decision boundary, какие примеры не вписываются ни в один кластер.

В отличие от persistence diagrams, Mapper-граф зависит от трёх произвольных выборов: lens, cover, кластеризации. Один и тот же датасет даёт разные графы при разных параметрах. Это одновременно сила (можно увидеть разные аспекты) и слабость (нет канонического ответа).

Какой шаг pipeline Mapper создаёт рёбра графа?

Узлы графа возникают из кластеризации в прообразах. Рёбра возникают позже, при построении нерва: если две кластерные группы имеют хотя бы одну общую точку (что возможно благодаря перекрытию покрытия), между ними проводится ребро. Без перекрытия не было бы рёбер.

Выбор lens function

Lens - самый влиятельный параметр Mapper. Один и тот же датасет, разные lens, разные графы, разные открытия. В оригинальной статье 2012 года использовалась L2-эксцентриситет: расстояние от каждой точки до центра масс облака. Эта lens подсветила периферийные пациенты - именно flare-группа была в самой дальней части эксцентриситета.

Стандартные варианты lens: (1) L2-эксцентриситет - расстояние до центра, (2) density - количество соседей в фиксированном радиусе, (3) PCA-проекция - первая или первые две главные компоненты, (4) UMAP/t-SNE embedding в R^2, (5) предметно-специфические - выживаемость, время до события, экспрессия конкретного гена.

Геномика и lens-выбор

Разные lens - разные открытия

Датасет экспрессии 295 опухолей. С lens L2-эксцентриситет Mapper находит flare с 9 пациентами с супервыживаемостью. С lens density видны три плотных ядра подтипов рака. С lens по экспрессии гена ESR1 (рецептор эстрогена) видна градиентная структура от ER-позитивных к ER-негативным. Каждая lens отвечает на свой биологический вопрос.

Bottleneck автоэнкодера на тех же данных, на которых будет работать Mapper, даёт оптимальную lens для нелинейных структур. Для генома 20000 генов в эмбеддинг 2-3 размерности. Mapper на этом эмбеддинге выявляет траектории дифференцировки клеток.

Если lens сам содержит ошибки (например, плохо обученный автоэнкодер), Mapper-граф наследует все эти артефакты. Lens лучше валидировать отдельно: например, проверить устойчивость к bootstrap-перевыборкам данных.

Не существует универсально лучшей lens. Выбор - часть исследовательского процесса. Практика: запускать Mapper с несколькими lens, сравнивать графы, искать общие устойчивые структуры. Если все lens показывают одну и ту же ветвь - это сильный сигнал. Если структура исчезает при смене lens - это артефакт конкретного выбора.

Почему один и тот же датасет может дать радикально разные Mapper-графы?

Три ключевых параметра делают Mapper исследовательским, а не каноническим инструментом: lens определяет какую координату использовать для разрезания, cover - размер и перекрытие интервалов, кластеризация - сколько узлов появится в каждом куске. Это даёт гибкость в исследовании, но требует осознанной интерпретации.

Параметры покрытия и стабильность

Cover - вторая половина смысла Mapper. После lens нужно решить: как разрезать одномерный (или k-мерный) образ на куски? Два параметра управляют этим: resolution r - количество интервалов, gain g - доля перекрытия между соседними интервалами. Малое r даёт грубый граф, большое - детализированный. Малое g даёт разорванные графы, большое - сильно связные.

Типичные значения параметров на практике: r от 10 до 50 (зависит от размера датасета), g от 0.3 до 0.5 (стандарт). Большая gain даёт более связный граф, меньшая - больше отдельных компонент. Подбор параметров - итеративный процесс с визуальной обратной связью.

Чувствительность параметров

Кольцо при разных r и g

Тот же датасет 10000 точек на кольце. r = 5, g = 0.3: граф получается из 8 узлов с почти отсутствующими циклами - структура потеряна. r = 20, g = 0.4: чёткий цикл из 40 узлов, топология восстановлена. r = 50, g = 0.6: 100 узлов с переплетёнными рёбрами, видна шумовая структура. Оптимальное окно параметров обычно лежит в среднем диапазоне.

Запуск Mapper на сетке параметров (r, g) даёт ансамбль графов. Стабильные структуры, которые появляются на большой области сетки, считаются надёжными. Технологии MultiNerve и Mapper Interleaving формализуют эту идею: они выбирают параметры, при которых выход Mapper устойчив.

В отличие от persistence diagrams, у Mapper нет универсальной теоремы стабильности уровня 2007 года. Carriere и Oudot в 2018 году доказали ограниченную stability при правильном выборе параметров, но в общем случае Mapper неустойчив. Это означает осторожность при выводах: один Mapper-граф - не доказательство.

Современные библиотеки (kepler-mapper, scikit-tda, Giotto-TDA) автоматизируют подбор параметров: запускают grid search и измеряют похожесть выходов. Если соседние ячейки сетки дают графы с малой Wasserstein-distance между диаграммами Mapper, конфигурация считается устойчивой.

Что произойдёт с Mapper-графом при увеличении gain g с 0.3 до 0.7?

Gain контролирует перекрытие между соседними интервалами покрытия. Большее перекрытие - больше общих точек в прообразах - больше пересечений между кластерами - больше рёбер. Узлы при этом примерно сохраняются (определяются кластеризацией внутри куска).

Применения: геномика, нейронауки, drug discovery

За пятнадцать лет существования Mapper стал стандартным инструментом топологического исследования в нескольких научных областях. Геномика использует его для поиска новых подтипов заболеваний. Нейронауки - для анализа функциональной связности мозга. Фарма - для картирования химического пространства потенциальных лекарств. Финансы - для анализа корреляционных структур рынка. Mapper не заменяет статистику и ML - он дополняет их топологической перспективой.

Пять флагманских применений Mapper: (1) breast cancer subtype discovery (Nicolau 2012), (2) T-cell дифференциация (Rizvi 2017), (3) fMRI brain dynamics (Saggar 2018), (4) chemical space mapping в drug discovery, (5) market correlation analysis в финансах.

fMRI brain dynamics

Mapper за пределами кластеризации

Saggar et al. 2018: 1500 секунд fMRI данных, разбиение на временные окна по 5 секунд. Каждое окно - вектор активности в 268 регионах. Lens = L2-эксцентриситет (выделяет нетипичные моменты). Mapper выявляет петлю - цикл повторяющихся состояний мозга, который классическая кластеризация не видит. Эта петля коррелирует с уровнем внимания и позволяет предсказывать когнитивную нагрузку.

Mapper-граф активаций последнего слоя ResNet50 на ImageNet показывает: классы организованы не дискретно, а в виде непрерывного многообразия. Кошки и собаки топологически соседствуют, причём через породы. Это объясняет почему сеть путает определённые пары классов - они близки на графе.

Mapper генерирует гипотезы, а не подтверждает их. Любое открытие, сделанное с помощью Mapper (например, flare в breast cancer), требует независимой валидации статистическими методами на держаной выборке. Сам граф - не статистически значимое утверждение.

Drug discovery

Картирование химического пространства

Библиотека 100000 малых молекул, каждая представлена 1024-мерным fingerprint (Morgan/ECFP). Lens = центральность по графу химической схожести. Cover на 30 интервалов, gain 0.4. Mapper выявляет основные структурные семейства как ветви графа, плюс flares - молекулы с уникальной топологией, которые могут быть кандидатами для синтеза. Эта картина помогает приоритизировать кандидаты для биологических испытаний.

Современные реализации Mapper: kepler-mapper (Python, активная разработка), scikit-tda (часть scikit-learn ecosystem), Giotto-TDA (промышленный TDA-стэк), TDAMapper (R). Все они поддерживают экспорт в визуализации (NetworkX, Graphviz, D3.js) и интеграцию с pandas/sklearn pipelines.

Что Mapper делает уникальным, что кластеризация и dimensionality reduction по отдельности сделать не могут?

Кластеризация делит данные на группы, теряя информацию о связности между ними. Dimensionality reduction даёт координаты, но не связность. Mapper комбинирует оба: lens для координат, кластеризация для узлов, нерв для рёбер. Получается топологический скелет, видимый в исходном пространстве.

Расширения и применения Mapper

Mapper интегрирован в современный data science стек как инструмент исследования данных.

  • TDA в нейросетях — Связанная тема
  • Witness complexes — Связанная тема
  • TDA для временных рядов — Связанная тема
  • Persistent homology (advanced) — Связанная тема

Ключевые идеи

  • Mapper - четырёхшаговый pipeline: lens, cover, кластеризация, нерв
  • Lens выбирает аспект данных для исследования - L2-эксцентриситет, density, learned embedding
  • Resolution и gain контролируют детализацию и связность графа
  • Mapper не имеет универсальной stability - надёжность через grid search и сравнение выходов
  • Применения: breast cancer subtypes, brain dynamics, drug discovery, explainable AI
  • Mapper генерирует гипотезы, не подтверждает их статистически

Вопросы для размышления

  • Какие свойства данных делают Mapper более информативным чем k-means кластеризация?
  • Почему в production важна стабильность к параметрам, и как её оценивать для Mapper?
  • Какие ограничения у Mapper по сравнению с persistence diagrams?

Связанные уроки

  • top-29 — базовая версия алгоритма Mapper
  • top-33 — метрики для сравнения Mapper-выходов
  • top-32 — stability для Mapper-графов
  • top-37 — Mapper для интерпретации нейросетей
  • alg-12-bfs
Mapper algorithm: топологический скелет высокоразмерных данных

0

1

Войти