Открыть сервис

UMAP

UMAP (Uniform Manifold Approximation and Projection) — это алгоритм машинного обучения, предназначенный для снижения размерности данных и их визуализации. Относится к классу методов нелинейного вложения многообразий (manifold learning). Позволяет преобразовывать многомерные наборы данных (например, с тысячами признаков) в двумерное или трёхмерное пространство, сохраняя при этом как глобальную топологическую структуру, так и локальные взаимосвязи между точками. Разработан в 2018 году Лайлом Мак-Иннесом (Leland McInnes) и Джоном Хили (John Healy). Широко применяется в биоинформатике, анализе текстов, компьютерном зрении и исследовании нейросетей.

История

Алгоритм UMAP был впервые представлен в 2018 году в препринте статьи «UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction» (опубликована в 2020 году в Journal of Open Source Software). Авторы — Лайл Мак-Иннес и Джон Хили, работавшие в то время в компании Tutte Institute for Mathematics and Computing (Канада). Разработка была мотивирована стремлением создать метод, который сочетал бы преимущества двух популярных алгоритмов: t-SNE (высокое качество визуализации локальной структуры) и Isomap/Laplacian Eigenmaps (сохранение глобальной геометрии). В отличие от t-SNE, UMAP изначально проектировался на основе строгой математической теории — римановой геометрии и теории симплициальных комплексов, что позволило сделать алгоритм более быстрым и масштабируемым.

Математические основы

UMAP основан на трёх ключевых идеях:

  1. Построение взвешенного графа ближайших соседей. Для каждой точки данных вычисляются k ближайших соседей (гиперпараметр n_neighbors). Расстояния до соседей нормализуются, и строится граф, где рёбрам присваиваются веса, отражающие вероятность того, что две точки связаны.
  1. Топологическое представление. Граф интерпретируется как аппроксимация риманова многообразия, на котором лежат данные. Используется понятие симплициального комплекса — топологического пространства, составленного из точек, отрезков, треугольников и их многомерных аналогов. UMAP строит взвешенный симплициальный комплекс, который представляет топологию исходных данных.
  1. Оптимизация низкоразмерного вложения. Строится аналогичный симплициальный комплекс в низкоразмерном пространстве (обычно 2D или 3D). Затем с помощью стохастического градиентного спуска минимизируется кросс-энтропия между двумя комплексами — то есть подбираются координаты точек в низкоразмерном пространстве так, чтобы их топологическая структура максимально соответствовала исходной.

Основные параметры

UMAP имеет несколько ключевых гиперпараметров, которые позволяют настраивать поведение алгоритма:

  • n_neighbors (по умолчанию 15) — количество ближайших соседей, учитываемых при построении графа. Малые значения (2–10) делают алгоритм чувствительным к локальной структуре, большие (50–200) — к глобальной.
  • min_dist (по умолчанию 0.1) — минимальное расстояние между точками в низкоразмерном пространстве. Низкие значения (0.0–0.1) приводят к плотному расположению кластеров, высокие (0.5–1.0) — к более равномерному распределению.
  • n_components (по умолчанию 2) — размерность выходного пространства (обычно 2 или 3).
  • metric (по умолчанию 'euclidean') — метрика расстояния, используемая для вычисления близости точек (например, 'euclidean', 'manhattan', 'cosine', 'correlation').

Сравнение с t-SNE

UMAP часто сравнивают с t-SNE (t-distributed Stochastic Neighbor Embedding), который до 2018 года был стандартом для визуализации многомерных данных. Основные отличия:

ХарактеристикаUMAPt-SNE
СкоростьЗначительно быстрее (особенно на больших наборах данных)Медленнее, особенно при >10 000 точек
Сохранение глобальной структурыХорошее (кластеры расположены относительно друг друга)Плохое (расстояния между кластерами неинформативны)
Сохранение локальной структурыОтличноеОтличное
ВоспроизводимостьДетерминирован при фиксированном seedСтохастичен, результаты могут варьироваться
МасштабируемостьХорошая (до 1 млн точек и более)Ограниченная (обычно до 100 000 точек)
Математическая обоснованностьОснован на топологии и римановой геометрииОснован на вероятностной модели

Применение

Биоинформатика и геномика

UMAP активно используется для визуализации данных одноклеточного RNA-секвенирования (scRNA-seq). Позволяет различать типы клеток и выявлять редкие популяции, которые не видны при использовании PCA. Например, в проекте Human Cell Atlas UMAP применяется для кластеризации сотен тысяч клеток.

Обработка естественного языка

Применяется для визуализации векторных представлений слов (word embeddings) и документов (doc2vec, BERT). Позволяет увидеть семантические кластеры — например, группы слов, связанных по смыслу, или тематические группы документов.

Компьютерное зрение

Используется для визуализации признаков, извлечённых из изображений с помощью свёрточных нейросетей. Помогает анализировать, как нейросеть «видит» данные — например, разделение изображений по классам или по стилям.

Анализ нейросетей

Исследователи применяют UMAP для изучения внутренних представлений (latent space) глубоких нейросетей. Позволяет отслеживать, как меняется организация признаков в процессе обучения.

Разведочный анализ данных

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

Реализации

Наиболее популярная реализация — библиотека umap-learn для Python (авторы — Мак-Иннес и Хили). Доступна через pip (pip install umap-learn). Также существуют реализации для R (пакет umap), Julia, JavaScript (для браузерной визуализации) и встроенные модули в библиотеках scikit-learn (экспериментальный) и TensorFlow.

Критика

Несмотря на популярность, UMAP имеет ряд ограничений:

  • Чувствительность к гиперпараметрам. Неправильный выбор n_neighbors и min_dist может привести к артефактам — например, к ложным кластерам или разрыву реальных групп.
  • Отсутствие вероятностной интерпретации. В отличие от t-SNE, UMAP не даёт вероятностных оценок принадлежности к кластерам.
  • Сложность интерпретации. Как и любой метод нелинейного снижения размерности, UMAP не гарантирует, что расстояния в низкоразмерном пространстве соответствуют реальным расстояниям в исходном пространстве.
  • Нестабильность на малых выборках. При количестве точек менее 100–200 результаты могут быть ненадёжными.

Интересные факты

  • Название «Uniform Manifold Approximation and Projection» отражает математическую основу: алгоритм предполагает, что данные равномерно распределены на некотором многообразии (uniform manifold), и строит его аппроксимацию.
  • UMAP может использоваться не только для визуализации, но и для предобработки данных перед обучением классификаторов — снижение размерности часто улучшает качество и скорость обучения.
  • В 2020 году авторы выпустили расширение UMAP для инкрементального обучения (parametric UMAP), позволяющее обрабатывать данные потоком.

Источники

  • McInnes, L., Healy, J., & Melville, J. (2018). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv:1802.03426.
  • McInnes, L., Healy, J., & Saul, N. (2020). UMAP: Uniform Manifold Approximation and Projection. Journal of Open Source Software, 5(46), 861.
  • Документация библиотеки umap-learn (https://umap-learn.readthedocs.io/).
  • Becht, E., et al. (2019). Dimensionality reduction for visualizing single-cell data using UMAP. Nature Biotechnology, 37(1), 38–44.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →