Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — кластеризация, основанная на плотности и пространственном распределении приложений с шумами.

Изучите DBSCAN для кластеризации на основе плотности и обнаружения аномалий. Узнайте, как он идентифицирует произвольные формы и шумы в наборах данных вместе с Ultralytics .

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — это мощный алгоритм неконтролируемого обучения, используемый для выделения отдельных групп в данных на основе плотности. В отличие от традиционных методов кластеризации, которые предполагают сферические кластеры или требуют заранее определенного количества групп, DBSCAN находит области высокой плотности, разделенные областями низкой плотности. Эта способность позволяет ему обнаруживать кластеры произвольной формы и размера, что делает его исключительно эффективным для анализа сложных реальных наборов данных, где базовая структура неизвестна. Ключевым преимуществом этого алгоритма является встроенная функция обнаружения аномалий, поскольку он автоматически классифицирует точки в областях низкой плотности как шум, а не принудительно включает их в кластер.

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

Алгоритм работает путем определения окрестностей вокруг каждой точки данных и подсчета количества других точек, попадающих в эту окрестность. Этот процесс контролируется двумя основными гиперпараметрами, требующими тщательной настройки гиперпараметров в соответствии с конкретными характеристиками данных:

  • Epsilon (eps): этот параметр определяет максимальный радиус вокруг точки для поиска соседей. Он определяет расстояние «достижимости».
  • Минимальные точки (minPts): устанавливает минимальное количество точек данных, необходимое в радиусе Epsilon для формирования плотной области или «ядра».

На основе этих параметров DBSCAN классифицирует каждую точку в наборе данных по одному из трех типов:

  1. Основные точки: Очки, которые имеют как минимум minPts соседи в пределах eps радиус. Эти точки образуют внутреннюю часть кластера.
  2. Граничные точки: Точки, которые находятся в пределах eps радиус центральной точки, но имеют меньше чем minPts сами соседи. Они образуют границы кластера.
  3. Точки шума: точки, которые не являются ни центральными, ни пограничными. Они фактически рассматриваются как выбросы, что полезно для таких задач, как обнаружение выбросов.

DBSCAN против кластеризации K-Means

Хотя оба метода являются основополагающими для машинного обучения (ML), DBSCAN предлагает явные преимущества по сравнению с K-Means Clustering в определенных сценариях. K-Means опирается на центроиды и евклидово расстояние, часто предполагая, что кластеры являются выпуклыми или сферическими. Это может привести к низкой производительности при работе с удлиненными или серповидными данными. В отличие от этого, подход DBSCAN, основанный на плотности, позволяет ему следовать естественным контурам распределения данных.

Еще одно существенное отличие заключается в инициализации. K-Means требует от пользователя заранее указать количество кластеров (k), что может быть сложно без предварительных знаний. DBSCAN выводит количество кластеров естественным образом из плотности данных. Кроме того, K-Means чувствителен к выбросам, поскольку он заставляет каждую точку входить в группу, что может привести к искажению центров кластеров. Способность DBSCAN маркировать точки как шум предотвращает загрязнение действительных кластеров аномалиями данных, обеспечивая более чистые результаты для последующих задач, таких как прогнозное моделирование.

Применение в реальном мире

DBSCAN широко применяется в отраслях, требующих пространственного анализа и надежной обработки шумов.

  • Геопространственный анализ: в городском планировании и логистике аналитики используют DBSCAN для группировки GPS-координат от автопарков доставки или сервисов по совместным поездкам. Определяя зоны с высокой плотностью доставки, компании могут оптимизировать планирование маршрутов и расположение складов. Например, искусственный интеллект в логистике часто включает кластеризацию точек доставки для повышения эффективности.
  • Обнаружение аномалий на основе зрения: в производстве системы визуального контроля, основанные на таких моделях, как YOLO26, могут detect дефекты detect . DBSCAN может сгруппировать координаты этих дефектов на карте продукта. Изолированные обнаружения могут быть отклонены как шумы датчика, в то время как плотные кластеры указывают на систематический производственный дефект, вызывая предупреждение для проверки качества.

Пример кода: кластеризация центроидов обнаружения

В рабочих процессах компьютерного зрения разработчики часто используют Платформа Ultralytics для обучения детекторов объектов и последующей обработки результатов. В следующем примере показано, как использовать sklearn библиотеку для кластеризации центроидов обнаруженных объектов. Это помогает сгруппировать обнаружения, которые связаны пространственно, потенциально объединяя несколько ограничительные рамки для одного и того же объекта или для идентификации групп объектов.

import numpy as np
from sklearn.cluster import DBSCAN

# Simulated centroids of objects detected by YOLO26
# [x, y] coordinates representing object locations
centroids = np.array(
    [
        [100, 100],
        [102, 104],
        [101, 102],  # Cluster 1 (Dense group)
        [200, 200],
        [205, 202],  # Cluster 2 (Another group)
        [500, 500],  # Noise (Outlier)
    ]
)

# Initialize DBSCAN with a radius (eps) of 10 and min_samples of 2
# This groups points close to each other
clustering = DBSCAN(eps=10, min_samples=2).fit(centroids)

# Labels: 0, 1 are cluster IDs; -1 represents noise
print(f"Cluster Labels: {clustering.labels_}")
# Output: [ 0  0  0  1  1 -1]

Интеграция с глубоким обучением

Хотя DBSCAN является классическим алгоритмом, он эффективно сочетается с современным глубоким обучением. Например, высокоразмерные особенности, извлеченные из сверточной нейронной сети (CNN) могут быть уменьшены с помощью методов уменьшения размерности, таких как PCA или t-SNE, перед применением DBSCAN. Этот гибридный подход позволяет кластеризовать сложные данные изображений на основе семантического сходства, а не только местоположения пикселей. Это особенно полезно в сценариях неконтролируемого обучения, где помеченные учебные данные являются редкими, помогая исследователям эффективно организовывать обширные архивы непомеченных изображений.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас