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.

Meta Tag를 사용한 뉴스기사 제목, 요약문, 이미지가져오기

1Week 부족한 금액 계산하기 [Python]

Comments powered by Disqus.