Posts 군집 분석 (2) (Clustering)
Post
Cancel

군집 분석 (2) (Clustering)

1 군집 분석 (Clustering)

  • 군집분석은 대표적인 비지도 학습으로 크게 중심 기반 알고리즘과 밀도 기반 알고리즘으로 나뉜다.

1.1 중심 기반 알고리즘 (Center-Based Algorithm)

  • 중심 기반 알고리즘은 ‘같은 군집의 데이터는 어떠한 중심을 기준으로 분포 한다’는 가정을 가지고 있다.
  • 중심 기반 알고리즘의 경우 중심을 기준으로 군집을 하기 떄문에 원형, 구형의 분포 형태를 가진다.
  • 대표적인 중심 기반 알고리즘은 K-means와 Agglomerative Clustering(병합 군집)이 있다.

1.2 밀도 기반 알고리즘 (Density-Based Algorithm)

  • 밀도 기반 알고리즘은 ‘같은 군집의 데이터는 서로 근접하게 분포한다’는 가정을 가지고 있다.
  • 밀도 기반 알고짐의 경우 이웃 데이터를 기반으로 군집을 형성하기 때문에 불특정한 형태를 가진다.
  • 대표적인 밀도 기반 알고리즘은 DBSCAN과 HDBSCAN이 있다.


2 K-Means

  • 대용량 데이터에 적합하며, 원형 혹은 구 형태의 분포에 사용가능 하다.
  • 임의의 K의 갯수 만큼 클러스터를 묶는 방식으로 Label에 대한 정보가 없을 때 주어진 관측값들 사이의 유클리디안 거리를 측정하여 군집화를 한다.

2.1 특징

  • 시간복잡도가 낮다.
  • 적용이 다른 클러스터링 알고리즘에 비해 쉽다.
  • 데이터에 대한 사전 정보(Label)이 필요없다.
  • 이상치에 민감하다.
  • 구, 원 형태의 분포가 아니라면 적절하지 않다.
  • K의 갯수에 따라 클러스터의 성능이 많이 바뀐다.

2.2 K-Means 비교 그래프

  • 실제 데이터와 K-Means로 군집한 데이터가 큰 차이가 없는것을 볼 수 있다.

3 Agglomerative Clustering(병합 군집)

  • 계층적 군집으로 데이터 포인트를 하나의 클러스터로 지정하고 지정된 갯수에 클러스터가 남을때 까지 가장 비슷한 클러스터를 병합하는 알고리즘

3.1 계층적 군집

  • 계층적 트리 모형을 이용하여 개별 데이터 포인트들을 순차적, 계층적으로 유사한 클러스터로 통합하여 군집화를 수행하는 알고리즘이다.
  • k-평균 군집 알고리즘과는 달리 클러스터의 개수를 사전에 정하지 않아도 학습을 수행할 수 있다.
  • 상향식 병합 군집 : 개개의 포인트를 순차적으로 병합 군집
  • 하향식 분할 군집 : 전체를 하나의 클러스터로 하여 분할해 나가는 하향식의 분할 군집 방식

3.2 특징

  • 클러스터의 수를 정하지 않아도 사용가능
  • Random Point에서 시작하지 않으므로, 동일한 결과 나옴
  • 덴드로그램을 통해 전체 적인 군집 확인 가능
  • 대용량 데이터에 비효율적 (계산량이 많음)
  • two_moons 같은 복잡한 형상 구분은 하지 못함

3.3 Agglomerative 비교 그래프

image

  • 실제 데이터와 병합 군집한 데이터 비교

4 DBSCAN (밀도기반 클러스터링)

  • 어떤 데이터 포인트에서의 x 반지름 내에 n개 이상의 포인트를 갖는 것을 하나의 군집으로 구분하는 것
  • K-Means와는 달리 군집의 개수 k를 미리 정의해놓을 필요가 없음
  • 반지름 x(Eps)과 한 군집 내에 최소 n개 포인트(Min Pts.)가 있어야 함으로

4.1 특징

  • 클러스터의 수를 정하지 않음
  • Density(밀도)에 따라서 군집을 나누기 때문에 기하학적인 모양을 갖는 분포에도 사용
  • Outlier 구분이 가능함
  • 속도가 K-Means, Agglomerative Clustering와 비교하여 다소 느리다
  • 다른 밀도 분포를 가진 데이터의 군집을 분석이 어렵다.
  • 시작점에 따라 다른 모양의 군집이 형성됨

4.2 K-Means와 DBSCAN 비교 그래프

  • 비 선형적인 데이터에서는 DBSCAN이 더 군집을 잘하는 것으로 보인다. 여기서 -1은 outlier를 뜻한다.

image

  • 그렇다고 DBSCAN이 항상 K-Measn보다 더 나은 성능을 보이는 것은 아니다.
  • 원형 데이터에서는 K-Means가 더 좋은 성능을 보였다.

5 HDBSACN

  • DBSCAN에서 계층(Hierachical)적 군집분석 개념을 통합한 방식
  • DBSCAN에서 클러스터간의 밀도가 다른것에 대한 단점을 계층으로 보완

5.1 특징

  • 계층적 구조를 반영한 군집이 가능
  • DBSCAN보다 하이퍼파라미터에 덜 민감하다

5.2 DBSCAN과 HDBSCAN 비교 그래프

  • DBSCAN은 outlier가 많이 잡히는 대신 HDBSCAN은 덜 잡힌다.
  • DBSCAN이 각 군집별 밀도의 차이에 민감하기 떄문이다.

  • 위의 밀도 단점을 를 더욱 극명히 보여주는 그래프이다.
  • DBSCAN은 왼쪽의 밀도가 높은 2개의 군집만 잡고 나머지는 outlier로 보았으나, HDBSCAN은 3개의 군집으로 파악했다.
This post is licensed under CC BY 4.0 by the author.