BIRCH

BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) #

BIRCH는 대용량 데이터셋을 효율적으로 처리할 수 있는 계층적 클러스터링 알고리즘이다. 메모리 사용량을 최소화하면서 점진적으로 클러스터를 구성하며, CF(Clustering Feature) 트리 구조를 사용하여 데이터를 요약한다.

주요 개념 #

  • CF (Clustering Feature): 클러스터의 요약 정보를 담고 있는 3개 값의 튜플 (N, LS, SS)이다.
    • N: 클러스터 내 데이터 포인트의 수
    • LS: 데이터 포인트들의 선형 합
    • SS: 데이터 포인트들의 제곱 합
  • CF Tree: 클러스터링 특징들을 계층적으로 저장하는 균형 트리 구조이다.
  • 임계값 (Threshold): 새로운 데이터 포인트가 기존 클러스터에 병합될지 결정하는 기준이다.

알고리즘 특징 #

  • 메모리 효율적이며 대용량 데이터를 처리할 수 있다.
  • 단일 스캔으로 클러스터링을 수행한다.
  • 점진적(incremental) 클러스터링이 가능하다.
  • 구형(spherical) 클러스터에 가장 적합하다.

장점과 단점 #

  • 장점

    • 메모리 사용량이 적어 대용량 데이터 처리에 적합하다.
    • 빠른 처리 속도를 가진다.
    • 온라인 클러스터링이 가능하다.
    • 이상치를 효과적으로 처리할 수 있다.
  • 단점

    • 구형이 아닌 클러스터에는 성능이 떨어진다.
    • 임계값 설정에 민감하다.
    • 클러스터의 순서에 따라 결과가 달라질 수 있다.

BIRCH는 대용량 데이터베이스에서 효율적인 클러스터링을 수행하고자 할 때 매우 유용한 알고리즘이다.