Articles

[Articles] 클러스터링 알고리즘들 (Unsupervised Learning이란?)

Minwoo 2020. 2. 9.

Data-Learning.tistory.com - 머신러닝 오픈소스 무료 강좌


 

 

Save/Load M.L Model

 

Contents: 

 

1. Unsupervised Learning이란? 

2. K-means 

3. Mean-Shift Clustering 

4. Density-Based Spatial Clustering of Applications with Noise (DBSCAN) 

5. Expectation-Maximization (EM) Clustering using Gaussian Mixture Models (GMM) 

6. Agglomerative Hierarchical Clustering 

 

 

 


 

1. Unsupervised Learning이란? 

 

  • 레이블이 없이 데이터 셋에서 input vector들 로부터 군집화 등을 하여 추론한다. 

 

 


 

2. K-Menas 

 

  • 처음에 클러스터의 개수 (k)  지정하고 랜덤하게 k개의 클러스터 중심점을 잡는다. 
  • 각각의 데이터를 가까운 클러스터링에 할당한다. 반복되는 알고리즘이며 각각의 클러스터링의 중심점과 각각 데이터 포인터들 사이의 거리를 최소화 시키 는 것을 반복하여 일정(threshold) 기준 이하로 거리가 되거나 특정한 수의 반복이 충족 되면 결과를 리턴 한다. 
  • 처음에 랜덤하게 클러스터 중심점을 할당하고 나온 결과들 중 잘 나온 것들을 선택하는 것도 좋은 방법이다. 

장점: 

빠르다. ( O(n) ) 

 

단점: 

k개의 클러스터의 개수를 선택해야 한다. 

랜덤한 특징이 있기 때문에 일관성의 문제가 있다. 

 

 

 

 


 

3. Mean-Shift Clustering 

 

  • 윈도우 슬라이싱 방법(윈도우 내의 포인트 평균을 따라서 중심점을 이동)을 통해 데이터의 고밀도 영역을 찾는다.  
  • centroid-based algorithm : 각각의 클러스터에 대하여 중심 포인트들을 찾는다. 
  • 클러스터의 수를 선택하지 않아도 된다 하지만 윈도우의 사이즈를 정해야 한다. 

 


 

4. Density-Based Spatial Clustering of Applications with Noise (DBSCAN) 

 

 

  • mean-shift와 같이 밀도를 바탕으로 한 클러스터링 알고리즘이다. 
  • 임의의 시작 데이터 포인트로 시작하며 인접한 영역 내의 충분한 데이터 포인트가 있으면 클러스터링 프로세스가 시작된다. 아니면 노이즈로 간주한다. 그리고 이러한 데이터를 방문한 데이터로 표시한다. 
  • 포인트들 사이의 거리가 e(epsilon) 이하면 같은 클러스터로 간주한다. 
  • 클러스터의 수를 선택할 필요가 없고 이상값(노이즈)를 식별한다.  
  • 임의의 크기와 모양의 클러스터들에 대하여 잘 작동한다. 
  • 클러스터의 밀도가 다양할 때, 밀도가 변함에 따라 거리 임계값 e(epsilon) 및 인접한 포인트들을 식별하기 위한 설정이 클러스터마다 달라지기 때문에 DBSCAN 알고리즘은 잘 작동하지 않는다. 
  • 또한 높은 차원의 데이터에서 잘 작동하지 않는다. 

 

 


 

5. Expectation-Maximization (EM)

Clustering using Gaussian Mixture Models (GMM) 

 

  • 데이터 포인트가 가우스 분포라고 가정한다. 
  • mean / std 두가지의 파라미터가 클러스터의 모양을 표현한다. 
  • 각 클러스터에 대한 가우시안 파라미터(평균, 표준편차)를 찾기 위해 Expectation Maximization (EM)이라는 최적화 알고리즘을 사용한다. 
  • GMM을 사용한 EM 클러스터링: 

· K-Means보다 클러스터링 공분산 측면에서 좋다.

· 표준 편차 파라미터 변수로 인해 원으로 제한되지 않고 타원 모양을 가질 수 있다. 

· 확률을 사용해 데이터 포인트 당 여러 클러스터를 가질 수 있다. 

 

 

 


 

6. Agglomerative Hierarchical Clustering 

 

  • 계층 적 클러스터링에서는 클러스터 수를 지정하지 않아도된다. 
  • 트리를 구축 한 후 가장 적합한 클러스터 수를 선택할 수 있다.  
  • 거리 측정법 선택에 민감하지 않다.  
  • K-Means / GMM의 선형 복잡성과 달리 O (n³)의 시간 복잡도를 갖기 때문에 느리다. 

 

 


 

밑바닥부터 시작하는 데이터 러닝

데이터 사이언스, 머신 러닝 오픈소스 무료 강좌.

data-learning.tistory.com

* 해당 게시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.

 

 

 

 

'Articles' 카테고리의 다른 글

Git 사용하기  (0) 2020.01.13
머신러닝 기초  (0) 2020.01.05
3. Ensemble  (0) 2019.12.28
2. Statistical Methods  (0) 2019.12.27
1. XG Boost  (0) 2019.12.24

댓글