계층적 클러스터링은 이전에 정의된 클러스터를 기반으로 연속적인 클러스터를 결정하는 비지도 학습 절차를 나타냅니다. 데이터를 클러스터 트리로 그룹화하여 작동합니다. 각 데이터 포인트를 개별 클러스터로 처리하여 계층적 클러스터링 통계를 제공합니다. 엔드포인트는 서로 다른 클러스터 집합을 참조합니다. 여기서 각 클러스터는 다른 클러스터와 다르며 각 클러스터 내의 개체는 서로 동일합니다.
계층적 클러스터링에는 두 가지 유형이 있습니다.
- 응집형 계층적 클러스터링
- 분열적인 클러스터링
응집형 계층적 클러스터링
응집 클러스터링은 유사한 개체를 클러스터로 그룹화하는 데 사용되는 가장 일반적인 유형의 계층적 클러스터링 중 하나입니다. 응집 클러스터링은 AGNES(Agglomerative Nesting)라고도 합니다. 응집 클러스터링에서는 각 데이터 포인트가 개별 클러스터 역할을 하며 각 단계에서 데이터 개체는 상향식 방식으로 그룹화됩니다. 처음에는 각 데이터 개체가 해당 클러스터에 있습니다. 각 반복에서 클러스터는 하나의 클러스터가 형성될 때까지 다른 클러스터와 결합됩니다.
응집형 계층적 클러스터링 알고리즘
- 개인과 다른 모든 클러스터 간의 유사성을 확인합니다. (근접 행렬 찾기)
- 각 데이터 포인트를 개별 클러스터로 간주합니다.
- 유사한 클러스터를 결합합니다.
- 각 클러스터에 대한 근접 행렬을 다시 계산합니다.
- 단일 클러스터를 얻을 때까지 3단계와 4단계를 반복합니다.
덴드로그램을 사용한 그래픽 표현의 도움으로 이 개념을 이해해 보겠습니다.
주어진 데모를 통해 실제 알고리즘이 어떻게 작동하는지 이해할 수 있습니다. 여기서는 클러스터 간의 모든 근접성이 가정되는 경우 계산이 수행되지 않았습니다.
6개의 서로 다른 데이터 포인트 P, Q, R, S, T, V가 있다고 가정해 보겠습니다.
1 단계:
각 알파벳(P, Q, R, S, T, V)을 개별 클러스터로 간주하고 다른 모든 클러스터에서 개별 클러스터 사이의 거리를 찾습니다.
2 단계:
이제 비교 가능한 클러스터를 단일 클러스터에 병합합니다. 두 번째 단계에서 병합할 수 있도록 클러스터 Q와 클러스터 R이 서로 유사하다고 가정해 보겠습니다. 마지막으로 클러스터 [(P), (QR), (ST), (V)]를 얻습니다.
3단계:
자바를 두 배로 늘리는 정수
여기서는 알고리즘에 따라 근접성을 다시 계산하고 가장 가까운 두 클러스터 [(ST), (V)]를 결합하여 [(P), (QR), (STV)]와 같은 새로운 클러스터를 형성합니다.
4단계:
같은 과정을 반복하세요. 클러스터 STV와 PQ는 비교 가능하며 함께 결합되어 새로운 클러스터를 형성합니다. 이제 [(P), (QQRSTV)]가 있습니다.
5단계:
마지막으로 나머지 두 클러스터는 함께 병합되어 단일 클러스터를 형성합니다 [(PQRSTV)]
분열적 계층적 클러스터링
분할 계층적 클러스터링은 집합적 계층적 클러스터링과 정반대입니다. 분할 계층적 클러스터링에서는 모든 데이터 포인트가 개별 클러스터로 간주되며, 매 반복마다 유사하지 않은 데이터 포인트가 클러스터에서 분리됩니다. 분리된 데이터 포인트는 개별 클러스터로 처리됩니다. 마지막으로 N개의 클러스터가 남았습니다.
계층적 클러스터링의 장점
- 구현이 간단하고 경우에 따라 최상의 결과를 제공합니다.
- 이는 쉬우며 더 많은 정보를 포함하는 구조인 계층 구조가 생성됩니다.
- 클러스터 수를 미리 지정할 필요는 없습니다.
계층적 클러스터링의 단점
- 큰 클러스터를 깨뜨립니다.
- 다양한 크기의 클러스터와 볼록한 모양을 처리하는 것은 어렵습니다.
- 노이즈와 이상값에 민감합니다.
- 알고리즘은 이전에 수행된 후에는 변경하거나 삭제할 수 없습니다.