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

HDBSCAN

HDBSCAN

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

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

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

  • Не требует подбора eps — только минимальный размер кластера.
  • Возвращает вероятность принадлежности и явно помечает шум.
  • Стандартный выбор в связке с UMAP для кластеризации эмбеддингов.

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

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

1

Как работает

Иерархия плотностей вместо одного eps.

  1. Строится преобразование расстояний с учётом локальной плотности (mutual reachability).
  2. Строится минимальное остовное дерево и иерархия кластеров.
  3. Иерархия «сжимается»: остаются кластеры, устойчивые на широком диапазоне плотностей.

Устойчивость кластера измеряется тем, как долго он существует при изменении порога плотности — идея, прямо родственная персистентности в TDA.

2

Практика применения

Стандартная связка для эмбеддингов.

emb = model.encode(texts)                       # эмбеддинги
red = umap.UMAP(n_neighbors=15, n_components=5).fit_transform(emb)
labels = hdbscan.HDBSCAN(min_cluster_size=25).fit_predict(red)
# labels == -1  → шум, а не ошибка
  • min_cluster_size — главный и почти единственный параметр.
  • Метка −1 означает шум: это честный ответ «объект не относится ни к одной группе».
  • Снижение размерности перед кластеризацией обязательно: в 768 измерениях плотность не работает.

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

Плотностная кластеризация