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

Persistent Homology

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

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

Направления: Продвинутый ML · Топологический ML

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

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

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

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

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

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

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

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

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

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

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%

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

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

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

Глава «Топологический анализ данных» последний раз правилась . Нашли ошибку — напишите.