Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

클러스터링 방법이란? 5가지 주요 클러스터링 기법 완벽 정리

클러스터링(Clustering)은 비슷한 특성을 가진 데이터 객체들을 그룹으로 묶는 대표적인 비지도 학습 기법입니다. 클러스터링에는 다양한 접근 방식이 있으며, 대표적인 기법은 다음과 같습니다.

1. 분할 기반 방법(Partitioning Methods)

n개의 객체 또는 데이터 튜플로 구성된 데이터베이스가 주어졌을 때, 분할 기반 방법은 데이터를 k개의 파티션으로 나눕니다. 각 파티션은 하나의 클러스터를 의미하며, k < n 조건을 만족해야 합니다. 데이터를 k개의 그룹에 할당할 때는 다음 두 가지 조건을 충족해야 합니다.

  • 각 그룹에는 최소한 하나 이상의 객체가 포함되어야 합니다.
  • 각 객체는 정확히 하나의 그룹에만 속해야 합니다.

생성할 파티션 수 k가 주어지면, 분할 기반 방법은 먼저 초기 분할을 생성합니다. 이후 반복적 재배치(iterative relocation) 기법을 사용하여 객체를 한 그룹에서 다른 그룹으로 이동시키면서 분할 품질을 점진적으로 개선해 나갑니다.

좋은 분할의 일반적인 기준은 동일한 클러스터 내 객체들은 서로 '가깝거나' 연관성이 높고, 서로 다른 클러스터의 객체들은 '멀리 떨어져 있거나' 상당히 다르다는 것입니다. 이 외에도 분할 품질을 평가하는 여러 가지 기준이 존재합니다.

2. 계층적 방법(Hierarchical Methods)

계층적 방법은 주어진 데이터 객체 집합에 대해 계층적 분해(hierarchical decomposition) 구조를 생성합니다. 계층 구조를 형성하는 방식에 따라 응집형(agglomerative)과 분리형(divisive)으로 나눌 수 있습니다.

응집형 방식은 '상향식(bottom-up)' 접근법이라고도 하며, 각 객체가 독립된 그룹을 형성하는 상태에서 시작합니다. 이후 서로 가까운 객체나 그룹을 순차적으로 병합하여, 모든 그룹이 하나로 합쳐지거나(계층의 최상위 수준) 종료 조건이 충족될 때까지 진행합니다.

분리형 방식은 '하향식(top-down)' 접근법이라고도 하며, 모든 객체가 하나의 클러스터에 있는 상태에서 시작합니다. 매 반복 단계마다 클러스터를 더 작은 클러스터로 분할하여, 최종적으로 각 객체가 개별 클러스터에 속하거나 종료 조건이 충족될 때까지 진행합니다.

3. 밀도 기반 방법(Density-based Methods)

일부 분할 기반 방법은 객체 간 거리를 기준으로 클러스터링을 수행합니다. 이러한 방법은 구형(spherical) 클러스터만 발견할 수 있으며, 임의의 복잡한 모양을 가진 클러스터를 찾는 데 어려움을 겪습니다. 이를 보완하기 위해 밀도 개념에 기반한 클러스터링 방법이 개발되었습니다.

DBSCAN은 대표적인 밀도 기반 방법으로, 밀도 임계값에 따라 클러스터를 확장해 나갑니다. OPTICS 역시 밀도 기반 방법으로, 자동 및 대화형 클러스터 분석을 위해 증강된 클러스터링 순서(augmented clustering ordering)를 생성합니다.

4. 그리드 기반 방법(Grid-based Methods)

그리드 기반 방법은 객체 공간을 유한한 수의 셀(cell)로 양자화하여 그리드 구조를 형성합니다. 이후 클러스터링 작업은 이 그리드 구조, 즉 양자화된 공간 위에서 수행됩니다.

이 접근법의 가장 큰 장점은 빠른 처리 속도입니다. 처리 시간은 일반적으로 데이터 객체 수와 무관하고, 양자화된 공간에서 각 차원의 셀 수에만 의존하기 때문입니다. STING이 그리드 기반 방법의 대표적인 예이며, CLIQUE와 Wave-Cluster는 그리드 기반이면서 동시에 밀도 기반 특성을 함께 갖춘 클러스터링 알고리즘입니다.

5. 모델 기반 방법(Model-based Methods)

모델 기반 방법은 각 클러스터에 대한 모델을 가정하고, 주어진 모델에 데이터가 가장 잘 부합하는(best fit) 결과를 찾습니다. 모델 기반 알고리즘은 데이터 포인트의 공간적 분포를 반영하는 밀도 함수를 생성함으로써 클러스터를 찾아냅니다.

또한 표준 통계에 기반하여 클러스터 수를 자동으로 결정하는 방법을 제공하며, '노이즈(noise)' 또는 이상치(outlier)까지 고려하기 때문에 견고한(robust) 클러스터링 결과를 얻을 수 있다는 장점이 있습니다.