[머신러닝] Clustering

kkiyou·2021년 8월 8일
0

Machine Laerning

목록 보기
6/10

군집분석(Clustering)

유사성(Similarity) 또는 비유사성(Dissimilarity)에 따라 데이터(개체)를 몇 개의 군집으로 나누는 비지도 학습 방법이다. 동일 군집 내 데이터는 유사하며 다른 군집은 비유사성이 높다.

개체 간 거리 계산 방식

  • 유클리디안 거리
  • 맨해튼거리
  • 민코우스키 거리

군집 간 거리 계산 방식

  • 단일 연결법 (최단 연결법, Single linkage)
    각각의 군집에서 하나씩 선택한 개체를 연결했을 때 가장 짧은 거리
  • 완전 연결법 (최장 연결법, Complete linkage)
    각각의 군집에서 하나씩 선택한 개체를 연결했을 때 가장 긴 거리
  • 평균 연결법 (Average linkage)
    각각의 군집에서 하나씩 선택한 개체를 연결한 전체 거리의 평균
  • 중심 연결법 (Centroid linkage)
    각각의 군집 내에서 개체의 중간에 해당하는 점(Center)를 연결한 거리
  • ward 연결법 (Ward linkage)
    각각의 군집 내에서 개체의 중간에 해당하는 점(Center)과 각각의 개체 사이의 거리를 제곱하여 합한 값과(Level 1),
    군집을 하나로 묶을 때 모든 개체의 중간에 해당하는 점(Center)과 각각의 개체 사이의 거리를 제곱하여 합한 값(Level 2)를 더한 거리



1. Hierarchical Clustering

계층적 군집분석, 계층 구조를 가진 군집을 분석하는 것이다.

Hierarchical clustering

1) Agglomerative(병합적) Hierarchical Clustering
각 데이터 중 가까운 개체끼리 차례로 묶어주는 방법이다. 계층적 군집분석에는 병합 방식을 주로 사용한다.

2) Divisive(분할적) Hierarchical Clustering
개체간 거리가 멀리 떨어져 있는 개체끼리 나누어 가는 방법이다.

2. Non Hierarchical Clustering

계층적 방식에 비하여 계산량이 적고, 대용량 데이터를 빠르게 처리한다. 그러나, 잡음이나 이상치의 영향을 많이 받는다.

1) K-means Clustering
K 평균 군집분석, 개체를 k개의 초기 군집으로 나눈 후, 각 군집의 중심(Centroid)를 계산한 후 모든 개체들을 각 군집의 중심에 가장 가까운 군집에 할당한다. 이 과정을 더 이상 재배치가 없을 때까지 반복한다.
처음 k개의 초기 군집이 잘못 설정될 경우 최적화 되지 못한 값이 도출될 수 있다는 단점이 존재한다. 따라서 초기 군집의 위치를 바꿔가면서 분석하는 것이 바람직하다. 또한 가능 한 초기군집 중심 간의 거리가 먼 것이 좋다.

또한 k의 개수를 미리 지정하기 때문에 k 개수를 정하는 것에 있어 적절했는가에 대해 확인해야 한다. 따라서 적절한 군집 수를 결정하기 위해서는 k의 개수를 변경해가면서 오차제곱합(SSE, Sum of Squared Error)를 Elbow 차트로 시각한 후 SSE가 급격히 감소하다 완만해지는 시점을 적정 군집 수로 판단한다. 군집의 수가 늘어날수록 SSE는 당연히 낮아질 수 밖에 없기 때문에 무조건 SSE가 작다고 좋은 것은 아니다. K-means Clustering의 목표는 가장 적은 k로 SSE를 최소화하는 것이다.

0개의 댓글