클러스터링 알고리즘

클러스터링 알고리즘의 유형과 각 유형을 선택해야 하는 경우를 간단히 살펴보겠습니다.

클러스터링 알고리즘을 선택할 때 알고리즘이 데이터 세트로 확장되는지 고려해야 합니다. 머신러닝의 데이터 세트에는 수백만 개의 예가 있을 수 있지만 모든 클러스터링 알고리즘이 효율적으로 확장되는 것은 아닙니다. 많은 클러스터링 알고리즘은 모든 예시 쌍 간의 유사성을 계산하여 작동합니다. 즉, 복잡도 표기법에서 \(O(n^2)\) 예시 \(n\)의 제곱으로 런타임이 증가합니다. \(O(n^2)\) 알고리즘은 예시 수가 수백만 개일 때는 실용적이지 않습니다. 이 과정에서는 \(O(n)\)의 복잡도를 갖는 k-평균 알고리즘에 중점을 둡니다. 즉, 알고리즘이 \(n\)을 통해 선형적으로 확장됩니다.

클러스터링 유형

클러스터링에는 여러 접근 방식이 있습니다. 전체 목록은 클러스터링 알고리즘에 관한 포괄적인 설문조사를 참고하세요. 티안, Y. 부록 데이터. Sci. (2015) 2: 165. 각 접근 방식은 특정 데이터 배포에 가장 적합합니다. 다음은 k-평균을 사용하는 중심 기반 클러스터링에 초점을 맞춘 네 가지 일반적인 접근 방식에 대한 간단한 설명입니다.

중심 기반 클러스터링

중심 기반 클러스터링은 아래 정의된 계층적 클러스터링과 달리 데이터를 비계층적 클러스터로 구성합니다. k-평균은 가장 널리 사용되는 중심 기반 클러스터링 알고리즘입니다. 중심 기반 알고리즘은 효율적이지만 초기 조건과 이상점에 민감합니다. 이 과정에서는 효율적이고 효과적이며 간단한 클러스터링 알고리즘인 k-평균에 중점을 둡니다.

중심 기반 클러스터링을 사용하여 클러스터로 그룹화한 예시입니다.
           선 사이에 클러스터 사이의 테두리가 표시됩니다.
그림 1: 중심 기반 클러스터링의 예

밀도 기반 클러스터링

밀도 기반 클러스터링은 높은 예시 밀도의 영역을 클러스터로 연결합니다. 이렇게 하면 밀집 영역을 연결할 수 있는 한 임의 모양의 배포가 가능합니다. 이러한 알고리즘은 다양한 밀도와 고차원 데이터를 사용하기가 어렵습니다. 또한 설계상 이러한 알고리즘은 클러스터에 이상점을 할당하지 않습니다.

밀도 기반 클러스터링을 사용하여 두 클러스터로 그룹화한 예시입니다. 클러스터는 선형으로 구분할 수 없습니다.
그림 2: 밀도 기반 클러스터링의 예

배포 기반 클러스터링

이 클러스터링 접근 방식은 데이터가 가우시안 분포와 같은 분포로 구성되어 있다고 가정합니다. 그림 3에서는 분포 기반 알고리즘이 데이터를 3개의 가우시안 분포에 클러스터링합니다. 분포 중심에서 거리가 멀어지면 포인트가 분포에 속할 확률은 낮아집니다. 이러한 대역은 확률 감소를 보여줍니다. 데이터의 분포 유형을 모르는 경우 다른 알고리즘을 사용해야 합니다.

배포 기반 클러스터링을 사용하여 클러스터링된 예시입니다. 각 클러스터의 예시 밀도 음영은 클러스터가 분포에 매핑되는 방식을 보여줍니다.
그림 3: 배포 기반 클러스터링의 예

계층적 클러스터링

계층적 클러스터링은 클러스터 트리를 만듭니다. 계층적 클러스터링은 분류와 같은 계층적 데이터에 적합합니다. 예를 보려면 Oksana Lukjancenko, Trudy Wassenaar, Dave Ussery의 61 식중독 대장 게놈 비교를 참조하세요. 또한 트리를 적절한 수준에서 잘라내어 원하는 수의 클러스터를 선택할 수 있다는 이점도 있습니다.

계층적 트리를 사용하여 클러스터링된 동물
그림 4: 계층형 트리 클러스터링 동물의 예.