DBSCAN (DBSCAN)

컴퓨터과학·AI
한 줄 정의: 데이터가 밀집된 정도를 기준으로 군집을 형성하고, 어느 군집에도 속하지 못하는 점은 이상치로 분류하는 밀도 기반 군집화 알고리즘.

쉽게 풀면

K-평균은 군집 개수를 미리 정해야 하고 원형 군집을 가정하는데, DBSCAN은 이런 제약 없이 데이터가 촘촘하게 몰려 있는 영역을 자동으로 하나의 군집으로 묶어줘요. 한 점 주변의 정해진 반경 안에 이웃이 충분히 많으면 그 점을 중심으로 군집을 넓혀가는 방식으로 작동합니다. 이 과정에서 어느 군집에도 속하지 못할 만큼 고립된 점들은 자동으로 이상치(노이즈)로 분류돼요. 군집의 개수를 미리 정할 필요가 없고 임의의 모양의 군집도 잘 찾아낸다는 장점이 있어, 이상치 탐지와 함께 자주 사용됩니다.

왜 중요한가

실제 데이터는 군집이 원형이 아니거나 군집의 개수를 미리 알 수 없는 경우가 많아, K-평균처럼 군집 수를 사전에 정해야 하는 방법으로는 한계가 있습니다. DBSCAN은 이런 상황에서도 임의의 모양의 군집을 찾아내고 이상치를 자연스럽게 걸러낼 수 있어, 공간 데이터 분석, 이상치 탐지, 궤적 데이터 분석 등 다양한 분야의 논문에서 비지도 군집화 기법으로 자주 채택됩니다. 특히 노이즈가 섞인 실세계 데이터를 다룰 때 유용하다는 점이 다른 군집화 기법과 비교될 때 강조됩니다.

논문에서는 이렇게 쓰입니다

"공간적으로 밀집된 활동 패턴을 탐지하기 위해 DBSCAN을 적용하여 이상치를 걸러내었다."

데이터의 밀도 분포를 기준으로 군집을 찾고, 어디에도 속하지 않는 점들은 이상치로 처리했다는 뜻이다.

"GPS 궤적 데이터에서 사용자의 체류 지점을 식별하기 위해 DBSCAN을 적용한 결과, 이동 중인 구간은 노이즈로 분류되고 정지 구간만 군집으로 추출되었다."

이동 데이터 분석 분야에서 사람들이 머무른 장소를 자동으로 찾아내는 데 DBSCAN의 밀도 기반 특성이 활용되었다는 뜻이다.

"신용카드 거래 데이터에 DBSCAN을 적용하여 정상적인 소비 패턴과 다른 밀도 영역에 속하지 않는 거래를 이상 거래 후보로 분류하였다."

금융 사기 탐지 분야에서 정상 거래들이 밀집한 영역에서 벗어난 거래를 이상치로 자동 식별하는 데 DBSCAN이 쓰였다는 의미다.

조금 더 깊게 보면

DBSCAN은 한 점 주변의 반경(eps)과 그 반경 안에 있어야 하는 최소 이웃 수(minPts)라는 두 하이퍼파라미터로 밀도를 정의하며, 이 기준을 만족하는 점을 핵심점, 핵심점의 이웃이지만 스스로는 기준을 만족하지 못하는 점을 경계점, 어디에도 속하지 못하는 점을 노이즈로 구분합니다. 이 두 파라미터를 어떻게 정하느냐에 따라 군집화 결과가 크게 달라지기 때문에, 반경별 이웃 거리의 분포를 시각화해 적절한 값을 찾는 방법이 흔히 함께 사용됩니다. 데이터의 밀도가 영역마다 크게 다른 경우에는 밀도 기준을 자동으로 조정하는 확장 알고리즘(OPTICS 등)이 대안으로 논의되기도 합니다.

주의할 점

DBSCAN의 결과는 이웃 반경과 최소 점 개수라는 두 하이퍼파라미터에 민감하게 영향을 받으므로 데이터 밀도 분포를 잘 살펴보고 값을 정해야 한다.

관련 용어