DBSCAN 클러스터링 알고리즘

기술노트

DBSCAN 클러스터링 알고리즘

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.

쉽게 말해, 데이터가 많이 몰려 있는 곳을 하나의 군집으로 판단하는 방법이다.


기본 개념

군집화를 위해 다음 두 가지 값을 정한다.

  • Epsilon(ε): 특정 점을 기준으로 주변을 확인할 반경
  • MinPts: 하나의 군집을 이루기 위한 최소 점 개수

DBSCAN의 세 가지 핵심 요소

1. 중심점 (Core Point)
한 점을 중심으로 Epsilon 반경 안에 MinPts 개 이상의 점이 존재할 때 중심점이 된다.
예) 반경 5m 내에 4명 이상의 사람이 있다면 중심점이다.
2. 경계점 (Border Point)
Epsilon 반경 내에 MinPts보다 적은 수의 점이 존재하는 경우 경계점이 된다.
군집의 외곽을 구성하며 중심점이 아니다.
예) 반경 5m 내에 3명 이하만 있다면 경계점이다.
3. 잡음점 (Noise Point)
Epsilon 반경 내에 점이 전혀 없거나, 군집에서 떨어진 경우 잡음점으로 분류된다.
예) 반경 5m 내에 아무도 없다면 잡음점이다.

시각적 예시

중심점(Core Point) 경계점(Border Point) 잡음점(Noise Point)
군집의 중심
주변 점이 많음
군집의 경계
주변 점이 적음
군집 외부
주변 점이 없음
  • 파란색: 중심점(Core Point)
  • 노란색: 경계점(Border Point)
  • 빨간색: 잡음점(Noise Point)

※ 이미지 업로드 방법: 위키 메뉴의 [파일 올리기]를 통해 이미지를 업로드한 후, 위와 같이 이미지 이름으로 불러오세요.


알고리즘 동작 과정 요약

  • Epsilon 반경 안에 MinPts 이상의 점 존재 → 중심점 → 군집 형성 시작
  • 중심점에서 연결된 점들 중 MinPts 미만 → 경계점 → 군집 확장 중지
  • 어느 군집에도 연결되지 않음 → 잡음점 (군집에서 제외)

DBSCAN의 장점

  • 군집의 개수를 사전에 정하지 않아도 된다.
  • 다양한 형태의 군집을 찾아낼 수 있다.
  • 이상치(잡음점) 탐지가 쉽다.

DBSCAN의 단점

  • 반경(Epsilon) 설정에 민감하다.
    • Epsilon이 너무 작으면 군집이 잘게 나누어진다.
    • Epsilon이 너무 크면 군집이 하나로 뭉쳐버린다.

참고 자료


한 줄 요약

> DBSCAN은 데이터가 밀집된 부분을 중심으로 군집을 형성하는 밀도 기반 클러스터링 알고리즘이다.