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는 대용량 데이터베이스에서 효율적인 클러스터링을 수행하고자 할 때 매우 유용한 알고리즘이다.