Топологический анализ данных

Persistent Homology

Персистентные гомологии

актуальноТекущий рабочий стандарт

Центральный метод TDA: вместо одного порога ε рассматривается вся фильтрация, и отслеживается, когда топологические особенности рождаются и умирают.

Ключевые тезисы

  • Долгоживущие особенности — сигнал, короткоживущие — обычно шум.
  • Результат не зависит от произвольного выбора одного порога.
  • Теорема устойчивости: малое возмущение данных даёт малое изменение диаграммы.

Подробный разбор

3 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Фильтрация вместо одного порога

Главная идея TDA: не выбирать ε, а рассмотреть все ε сразу.

Любой выбор одного порога ε произволен: чуть меньше — данные рассыпаются на точки, чуть больше — сливаются в один ком. Персистентные гомологии рассматривают вложенную последовательность комплексов и отслеживают, когда каждая топологическая особенность рождается и когда умирает.

Особенность, живущая долго (большая разность «смерть − рождение»), устойчива к шуму и считается сигналом. Короткоживущие особенности — как правило, шум дискретизации.

ε0.12
β₀ (компоненты)1
β₁ (циклы)1
рёбер в комплексе22
Ведите ε от 0 вверх: сначала β₀ падает с 22 до 1 (компоненты сливаются), затем существует цикл, потом дыра заклеивается
2

Теорема устойчивости

Почему на диаграммы можно опираться при шумных данных.

Расстояние между диаграммами не превосходит расстояния между самими данными

Это редкое и очень ценное свойство: малое возмущение данных даёт малое изменение топологического дескриптора. Именно оно позволяет использовать персистентные признаки в машинном обучении, а не только в чистой математике.

3

Как это считают на практике

Библиотеки, сложность и разумные ограничения.

from gtda.homology import VietorisRipsPersistence
from gtda.diagrams import PersistenceEntropy

vr = VietorisRipsPersistence(homology_dimensions=[0, 1, 2])
diagrams = vr.fit_transform(point_clouds)       # (n_samples, n_features, 3)
features = PersistenceEntropy().fit_transform(diagrams)
# features -> обычная матрица признаков для любой ML-модели
giotto-tda: от облаков точек до признаков в две строки
  • Сложность в худшем случае экспоненциальна по размерности, но Ripser и алгоритмы с редукцией матрицы делают и практичными на тысячах точек.
  • Обычно ограничиваются размерностями 0 и 1 — они дают почти весь полезный сигнал.
  • Для больших выборок используют подвыборку (witness-комплексы) или сжатие по плотности.

Связанные темы

Плотностная кластеризация · Топология данных

Topology basics90%

Основы топологии · Топологический анализ данных

Топология изучает свойства, сохраняющиеся при непрерывных деформациях: связность, число дыр, компактность.

Simplicial complexes90%

Симплициальные комплексы · Топологический анализ данных

Дискретная аппроксимация формы облака точек: точки, рёбра, треугольники и их многомерные аналоги.

Homology90%

Гомологии · Топологический анализ данных

Алгебраический аппарат, который считает дыры разных размерностей в топологическом пространстве.

Persistence Diagrams90%

Диаграммы персистентности · Топологический анализ данных

Каждая топологическая особенность — точка (рождение, смерть) на плоскости. Компактная сводка формы данных.

Persistence Landscapes90%

Ландшафты персистентности · Топологический анализ данных

Превращение диаграммы в набор кусочно-линейных функций — то есть в элемент гильбертова пространства.

Betti Numbers90%

Числа Бетти · Топологический анализ данных

Ранги групп гомологий: β₀ — число компонент, β₁ — число независимых циклов, β₂ — число полостей.

Mapper90%

Алгоритм Mapper · Топологический анализ данных

Строит граф-скелет данных: проекция фильтрующей функцией, покрытие интервалами, локальная кластеризация и склейка.

Topological features90%

Топологические признаки · Топологический анализ данных

Векторизация топологии: энтропия персистентности, суммарная длина жизни, числа Бетти, persistence images.

TDA + Machine Learning90%

TDA и машинное обучение · Топологический анализ данных

Топологические признаки подаются в бустинг или нейросеть, либо топология встраивается прямо в функцию потерь.

TDA + Time Series90%

TDA и временные ряды · Топологический анализ данных

Ряд вкладывается в фазовое пространство (Такенс), и топология полученного облака описывает динамику системы.

Metric spaces90%

Метрические пространства · Топологический анализ данных

Множество с функцией расстояния. Любой TDA-пайплайн начинается с выбора метрики.

HDBSCAN85%

HDBSCAN · Обучение без учителя

Иерархическая версия DBSCAN: перебирает плотности автоматически и находит кластеры разной плотности.

Spectral Clustering85%

Спектральная кластеризация · Обучение без учителя

Кластеризация через собственные векторы матрицы Лапласа графа сходства: находит невыпуклые и вложенные структуры.

DBSCAN85%

DBSCAN · Классическое машинное обучение

Плотностная кластеризация: кластеры — это связные области высокой плотности, остальное объявляется шумом.

Dimensionality Reduction85%

Снижение размерности · Обучение без учителя

Компактное представление данных, сохраняющее важную часть структуры.

Eigenvector85%

Собственный вектор · Математический справочник

Направление, сохраняющееся при линейном преобразовании с точностью до масштаба.