머신 러닝에서 패턴을 식별하고 노이즈를 처리하며 복잡한 데이터 세트를 분석하기 위한 강력한 클러스터링 알고리즘인 DBSCAN에 대해 알아보세요.
DBSCAN(잡음이 있는 애플리케이션의 밀도 기반 공간 클러스터링)은 밀집도가 높은 데이터 포인트를 함께 그룹화하여 저밀도 영역에 홀로 있는 이상값 포인트로 표시하는 데 널리 사용되는 비지도 학습 알고리즘입니다. 다른 클러스터링 방법과 달리 DBSCAN은 클러스터의 수를 미리 지정할 필요가 없습니다. 임의의 형태의 클러스터를 찾을 수 있고 노이즈에 강하기 때문에 데이터 마이닝과 데이터 분석에 강력한 도구가 될 수 있습니다. 이 알고리즘은 1996년 마틴 에스터, 한스-피터 크리겔, 요르그 샌더, 샤오웨이 쉬의 논문에서 처음 소개되어 이 분야의 기초 작업이 되었습니다.
DBSCAN은 주어진 공간에서 데이터 포인트의 밀도를 기반으로 클러스터를 정의합니다. 두 가지 주요 매개변수로 작동합니다:
eps
): 이 매개변수는 데이터 요소 주변의 이웃 반경을 정의합니다. 이 거리 내의 모든 포인트는 이웃으로 간주됩니다.이러한 매개변수를 기반으로 DBSCAN은 모든 데이터 포인트를 세 가지 유형 중 하나로 분류합니다:
MinPts
그 안에 eps
이웃. 이러한 지점은 클러스터의 내부입니다.eps
의 이웃이지만 그 자체로 핵심 포인트가 되기에는 충분한 이웃이 없습니다. 이러한 포인트는 클러스터의 에지를 형성합니다.알고리즘은 임의의 지점에서 시작하여 그 주변을 검색합니다. 핵심 지점인 경우 새 클러스터가 생성됩니다. 그런 다음 알고리즘은 직접 도달 가능한 모든 이웃을 클러스터에 추가하여 클러스터를 반복적으로 확장하며, 이 과정은 클러스터에 더 이상 포인트를 추가할 수 없을 때까지 계속됩니다. 시각적 구현은 scikit-learn 문서에서 확인할 수 있습니다.
노이즈를 식별하고 비선형 클러스터를 발견하는 DBSCAN의 능력은 다양한 영역에서 매우 유용합니다:
Ultralytics 에코시스템은 주로 객체 감지, 이미지 분류, 인스턴스 세분화 등의 작업을 위한 Ultralytics YOLO와 같은 지도 학습 모델에 중점을 두고 있습니다. DBSCAN은 비지도 방식이지만, 그 원리는 컴퓨터 비전(CV)의 더 넓은 맥락에서 관련이 있습니다.
예를 들어, 번화한 거리의 비디오에서 YOLO11과 같은 모델로 객체 감지를 수행한 후, 감지된 경계 상자의 중심 좌표에 DBSCAN을 적용할 수 있습니다. 이 후처리 단계에서는 개별 보행자 감지를 별개의 군중으로 그룹화하여 더 높은 수준의 장면 이해를 제공할 수 있습니다. 훈련용 데이터 세트를 준비할 때 데이터 분포를 이해하는 것도 중요합니다. DBSCAN을 사용한 탐색적 데이터 분석은 데이터 세트에서 패턴이나 이상 징후를 발견할 수 있으며, 이를 Ultralytics HUB와 같은 플랫폼을 사용하여 관리하고 시각화할 수 있습니다.
k
)를 미리 입력해야 하는 반면, DBSCAN은 클러스터 수를 자동으로 결정합니다. 또한 K-Means는 모든 점을 강제로 클러스터에 포함시키기 때문에 비구형 클러스터에 어려움을 겪으며 이상값에 민감합니다. DBSCAN은 임의의 형태의 클러스터를 찾는 데 탁월하며 이상값을 노이즈로 효과적으로 분리합니다.