클러스터 분석이란 무엇입니까?

데이터 클러스터링 문제의 예시
판매를 기반으로 한 소매점의 그룹화는 클러스터링 분석의 간단한 사용 사례입니다. 도시에 8개의 매장을 가진 카페가 있다고 가정해보겠습니다. 아래 표는 카푸치노와 아이스 커피의 하루 판매량을 보여줍니다.
아래 그래프는 각 매장의 카푸치노와 아이스 커피 판매량을 X축과 Y축에 각각 표시한 동일한 데이터를 보여줍니다. 이 예에서는 데이터 포인트가 제한되어 있기 때문에 자연스럽게 발생하는 두 개의 카페 아울렛 클러스터를 쉽게 그래프에 표시하고 수동으로 시각화할 수 있었습니다.
그러나 수천 개의 데이터 포인트가 있는 경우에는 클러스터 분석 알고리즘을 사용하여 데이터 포인트를 서로 다른 클러스터로 분리해야 합니다.
클러스터 분석의 응용 분야는 무엇입니까?
클러스터 분석은 종종 다음의 두 가지 주요 방식으로 사용됩니다.
- 데이터 그룹화와 관련된 문제를 해결하기 위한 독립 실행형 도구로 사용
- 다양한 머신 러닝 알고리즘의 전처리 단계로 사용
독립 실행형 도구로서의 클러스터 분석
- 마케팅: 마케팅에서는 클러스터 분석을 사용하여 구매 패턴이나 관심 분야에 따라 고객을 다양한 버킷으로 분리할 수 있습니다. 이를 고객 페르소나라고 합니다. 그런 다음, 조직은 서로 다른 고객 클러스터에 대해 서로 다른 마케팅 전략을 사용합니다.
- 금융업에서위험 분석 : 금융 조직은 다양한 클러스터 분석 알고리즘을 사용하여 은행 잔고와 부채를 기반으로 고객을 다양한 위험 범주로 분리합니다. 이러한 클러스터는 대출, 보험 또는 신용 카드를 승인할 때 의사 결정을 지원하는 데 사용됩니다.
- 부동산: 인프라 전문가는 클러스터링을 사용하여 크기, 위치 및 시장 가치에 따라 주택을 그룹화합니다. 이 정보는 도시의 다른 부분의 부동산 잠재력을 평가하는 데 사용됩니다.
머신 러닝을 위한 전처리 단계로서의 클러스터 분석
클러스터 분석은 종종 다양한 머신 러닝 알고리즘의 전처리 단계로 사용됩니다.
분류 알고리즘은 광범위한 데이터 세트에 대해 클러스터 분석을 실행하여 명백한 그룹에 속하는 데이터를 필터링합니다. 그러면 고급 데이터 분류 기술을 축소되고 명확하지 않은 데이터 포인트에 사용할 수 있습니다. 데이터 세트가 작아질수록 계산 시간이 크게 단축됩니다. 노이즈 또는 이상치 데이터를 필터링하기 위해 클러스터 분석 알고리즘을 사용하는 반대의 방법으로 동일한 방법을 사용할 수 있습니다.
지도 학습 알고리즘을 실행하기 전에 먼저 입력 데이터에 대한 클러스터 분석을 수행하여 데이터의 자연적인 클러스터를 찾을 수 있습니다.
주요 클러스터 분석 알고리즘은 무엇입니까?
클러스터 분석 알고리즘은 종종 다음 범주에 속합니다.
- 파티션 기반 알고리즘
- 계층적 알고리즘
- 밀도 기반 알고리즘
- 그리드 기반 알고리즘
- 모델 기반 알고리즘
- 제약 기반 알고리즘
- 이상치 분석 알고리즘
각 알고리즘은 그 자체가 복잡하며 일부 분석에는 적합하고 다른 분석에는 적합하지 않을 수 있습니다.
클러스터 분석을 위한 파티션 기반 알고리즘
이 방법에서 알고리즘은 여러 초기 클러스터로 시작합니다. 그런 다음 최적의 파티션이 달성될 때까지 데이터 포인트를 다른 클러스터로 반복적으로 재배치합니다. K-평균 클러스터링 알고리즘은 가장 널리 사용되는 클러스터링 알고리즘 중 하나입니다.
아래의 K-평균 클러스터링 예제는 작동 방식을 보여줍니다.
1단계: 클러스터 결정
알고리즘에 대해 클러스터 수 "K"를 결정합니다. 예를 들면, K=3과 같습니다. 알고리즘은 위의 12개 데이터 포인트를 3개의 클러스터로 분할합니다. 숫자 K는 임의의 값이 될 수 있습니다. 이에 따라 클러스터링의 정확성이 달라질 수 있습니다. 또한 K에 대한 최적 값을 결정하는 데 사용할 수 있는 알고리즘 방법도 있습니다.
2단계: 데이터 포인트 선택
K=3이므로 초기 평균으로 임의의 3개의 데이터 포인트를 취합니다. 이 예에서 점 C, D 및 E가 초기 평균으로 선택됩니다. K-평균 알고리즘에서는 임의의 점을 초기 평균으로 사용할 수 있습니다.
3단계: 거리 계산
데이터 세트의 모든 점에서 각 초기 클러스터 평균까지의 거리를 계산합니다. 3개의 클러스터 평균 C, D, E를 무작위로 선택합니다. 샘플의 각 데이터 포인트에 대해 이 세 가지 평균으로부터의 거리를 계산합니다. 두 점(X1, Y1)과 (X2, Y2) 사이의 유클리드 거리는 다음과 같이 사용됩니다.
3단계 후 테이블은 초기 평균 C, D 및 E로부터 각 데이터 포인트의 거리를 표시합니다.
데이터 포인트는 최소 거리에 따라 클러스터에 추가됩니다. 예를 들어, 점 A는 초기 평균 C로부터 최소 거리를 가지고 있습니다. 이것은 A가 평균이 C인 클러스터에 있음을 의미합니다. 첫 번째 단계 후에 클라스터를 얻습니다.
4단계: 반복 - 새 평균 계산
이제 초기 클러스터를 쉽게 볼 수 있습니다. 다음 단계는 세 개의 새로운 클러스터 평균을 계산하는 것입니다. 이를 위해 특정 클러스터의 모든 데이터 포인트를 가져와 평균을 계산합니다.
"C" 클러스터에 대한 새 클러스터 평균 = (5+2+6+1+4+3+6/7, 21+11+22+10+23+14+12/7) = (3.85, 16.14), 이 점을 X라고 하겠습니다.
"D" 클러스터에 대한 새 클러스터 평균 = (1+2+5/3, 6+8+4/3) = (2.66, 6), 이 점을 Y라고 하겠습니다.
"E" 클러스터에 대한 새 클러스터 평균 = (4+5/2, 10+11/2) = (4.5, 10.5). 이 점을 Z라고 하겠습니다.
5단계: 반복 - 새 평균에서 각 데이터 포인트까지의 거리 계산
3단계를 반복하여 새로 계산한 클러스터 평균 X, Y, Z에서 모든 데이터 포인트의 거리를 계산합니다. 이 새로운 반복에서 데이터 포인트 C, D, I, 그리고 L이 변경되었습니다. 이것들은 아래와 같이 새 클러스터에 속합니다.
그런 다음, 일부 데이터 포인트가 클러스터를 변경했으므로 K-평균 반복을 계속해야 합니다.
6단계: 반복 - 새로운 평균 및 새로운 클러스터 계산
데이터 포인트 C, D, I, L이 클러스터를 변경했으므로 4단계의 방식으로 새 클러스터 평균을 계산해야 합니다. 이를 위해서는 특정 클러스터의 모든 데이터 포인트를 가져와 평균을 계산합니다. 그런 다음 5단계에서와 같이 각 데이터 포인트에서 새 클러스터 평균까지의 거리를 계산합니다. 거리를 기반으로 데이터 포인트는 최소 거리를 가진 클러스터에 할당됩니다.
K-평균 알고리즘은 언제 완료됩니까?
K-평균은 다음과 같은 반복 분할 알고리즘입니다.
- 시작할 클러스터(K)의 개수를 결정합니다. 위의 예에서는 K=3입니다.
- 초기 클러스터 평균으로 K개의 데이터 포인트를 무작위로 할당합니다.
- 클러스터를 변경하는 데이터 포인트가 없을 때까지 아래 단계를 반복합니다.
- 데이터 포인트에서 클러스터 평균까지의 평균 거리를 계산합니다.
- 거리가 가장 작은 클러스터에 데이터 포인트를 할당합니다.
- 데이터 포인트가 클러스터를 변경했는지 확인합니다.
새 반복에서 모든 데이터 포인트가 이전 클러스터에 남아 있으면 K-평균 알고리즘이 종료됩니다. 이는 국부적으로 최적의 솔루션이 얻어졌음을 의미합니다.
K-메도이드 파티션 기반 클러스터링 알고리즘
K-메도이드 알고리즘은 또 다른 파티션 기반 클러스터링 알고리즘입니다. K-메도이드 알고리즘은 클러스터의 대표 객체로 메도이드를 선택합니다. K-메도이드 알고리즘은 특정 클러스터의 다른 모든 데이터 포인트와 최소 유사성을 갖는 데이터 포인트를 찾으려고 합니다. 유사성이 최소화될 때까지 K-메도이드알고리즘은 데이터 세트를 반복적으로 분할합니다. K-평균 알고리즘은 종종 제곱 오차 거리(유클리드 거리)를 사용하고 K-메도이드 알고리즘은 두 데이터 포인트 간의 비유사성을 측정하기 위해 맨해튼 거리와 같은 절대값 거리를 사용하는 경우가 많습니다.
K-메도이드 알고리즘의 표준 구현은 PAM(Partition Around Medoids) 알고리즘입니다. 다음은 PAM 알고리즘의 기본 단계입니다.
- K 값을 선택합니다. 여기서 K는 데이터 포인트가 분할될 클러스터의 수입니다.
- K개의 데이터 포인트를 무작위로 중간값으로 선택합니다.
- 데이터 세트의 모든 데이터 포인트(Xi, Yi)에 대해 포인트와 위에서 선택한 메도이드 간의 비유사성을 측정합니다. 비유사성에 대해 자주 사용되는 측정은 다음의 맨해튼 거리입니다.
- | Xi – Ci| + | Yi - Cj|, 여기서 (Ci, Cj)는 메도이드를 나타냅니다.
- 각 데이터 포인트(Xi, Yi)는 유사도가 최소인 클러스터에 할당됩니다.
- 위의 각 클러스터에 대해 해당 클러스터에 있는 각 데이터 포인트의 비유사성의 합계인 총 비용을 계산합니다.
- 이제 새로운 메도이드가 될 비 메도이드 점을 무작위로 선택하고 3-5단계를 반복합니다.
- 클러스터에 변경 사항이 없으면 중지합니다.
K-평균과 K-메도이드 알고리즘의 비교
K-평균 알고리즘은 단순하지만 데이터에 노이즈와 이상치가 많을 경우 결과는 좋지 않습니다. K-메도이드 방법은 이러한 경우에 더 강력합니다. 그러나 PAM과 같은 K-메도이드 알고리즘은 데이터 세트가 작은 경우에만 유용합니다. 데이터 세트 크기가 증가하면 K-메도이드 알고리즘의 계산 시간이 기하급수적으로 증가합니다.
분할 알고리즘
이름에서 알 수 있듯이 분할 알고리즘은 처음에 모든 데이터 포인트를 단일 클러스터에 할당합니다. 그런 다음 클러스터를 가장 유사한 클러스터로 나눕니다. 그런 다음, 알고리즘은 최적의 솔루션이 달성될 때까지 이러한 클러스터를 재귀적 방식으로 나눕니다. 분할 알고리즘은 하향식 클러스터링 방법이라고도 합니다.
응집 알고리즘
이러한 알고리즘은 각 데이터 포인트를 다른 클러스터에 할당하는 것으로 시작합니다. 그런 다음, 알고리즘은 최적의 솔루션이 달성될 때까지 가장 유사한 클러스터를 재귀적으로 결합합니다. 응집 알고리즘은 상향식 클러스터링 방법이라고도 합니다.
응집 클러스터링 알고리즘의 예시
다음은 5개의 데이터 포인트에 대한 거리 행렬입니다. 점 사이의 거리는 유클리드 거리 또는 맨해튼 거리 또는 기타 거리 공식을 기반으로 계산할 수 있습니다. 점 X와 Y 사이의 거리가 Y와 X 사이의 거리와 같기 때문에 거리 행렬은 항상 대칭 행렬입니다. 이 거리 행렬을 기반으로 하는 응집(상향식) 클러스터링 알고리즘의 예입니다.
1단계: 거리 행렬에서 거리가 가장 작은 두 점을 찾습니다. 위의 예에서 포인트 3과 5입니다. 포인트들 사이의 거리는 2입니다. 이 포인트들을 단일 클러스터에 넣습니다.
2단계: 포인트 3과 5를 제거하고 클러스터 "35"로 교체하고 새 거리 행렬을 만듭니다. 이를 위해서는 모든 데이터 포인트와 클러스터 "35" 사이의 거리를 계산해야 합니다. 이 거리를 결정하는 방법은 다양합니다.
이 예시에서는 다음 방법을 사용하여 거리를 측정했습니다.
클러스터 "35"에서 점 X까지의 거리 = 최소값(거리(X, 3), 거리(X, 5)). 이 방법에 의해 업데이트된 거리 행렬은 다음과 같습니다.
3단계: 모든 데이터 포인트가 하나의 클러스터로 그룹화될 때까지 2단계를 반복합니다. 현재 예제에서는 6번의 반복이 필요합니다. 아래 다이어그램은 클러스터의 형성을 보여줍니다. 이러한 종류의 표현을 덴드로그램이라고 합니다. 이 표현에서 Y축은 두 데이터 포인트 사이의 거리를 나타냅니다. 예를 들어, 포인트 3과 5 사이의 거리는 2입니다.
4단계: 위에 표시된 대로 모든 데이터 포인트가 클러스터링되면 유지해야 할 클러스터 개수를 결정합니다. 모든 계층적 클러스터링 알고리즘은 마지막에는 단일 클러스터를 생성하기 때문에 어려운 결정입니다. 계층적 클러스터 분석 알고리즘이 데이터를 분할한 후 최적의 클러스터 수를 결정하는 데 사용할 수 있는 방법은 여러 가지가 있습니다.
밀도 기반 클러스터링 알고리즘
이러한 알고리즘은 클러스터가 항상 주변 데이터 공간보다 밀도가 높다는 아이디어를 기반으로 합니다. 밀도 기반 알고리즘은 단일 데이터 포인트로 시작하여 인접한 데이터 포인트를 탐색합니다. 초기 포인트 주변의 포인트는 단일 클러스터에 포함됩니다. 인접의 정의는 알고리즘의 구현에 따라 다릅니다. 노이즈가 있는 애플리케이션의 밀도 기반 공간 클러스터링(DBSCAN)은 이 범주에서 널리 사용되는 클러스터링 알고리즘입니다.
그리드 기반 클러스터링 알고리즘
그리드 기반 클러스터링 알고리즘은 밀도 기반 클러스터링 알고리즘과 유사합니다. 데이터 공간을 그리드라고 하는 몇 개의 작은 단위로 나눕니다. 각 데이터 포인트는 특정 그리드 셀에 할당됩니다. 그런 다음 알고리즘은 각 그리드의 밀도를 계산합니다. 밀도가 임계값보다 낮은 그리드는 제거됩니다. 다음으로 알고리즘은 밀집된 그리드의 인접한 그룹에서 클러스터를 형성합니다. 통계 정보 그리드(STING) 및 퀘스트 클러스터링(CLIQUE)은 널리 사용되는 두 가지 그리드 기반 알고리즘입니다.
클러스터링 분석에는 위에서 논의한 알고리즘 외에도 모델 기반 클러스터링, 제약 기반 클러스터링 및 이상치 분석 알고리즘 그룹이 포함됩니다.

클러스터링 분석 알고리즘의 장점과 단점
알고리즘 | 장점 | 단점 |
---|---|---|
파티션 기반 클러스터 분석 알고리즘 |
|
|
계층적 클러스터 분석 알고리즘 |
|
|
밀도 기반 클러스터 분석 알고리즘 |
|
|
그리드 기반 클러스터 분석 알고리즘 |
|
|