본문 바로가기

이론/AI

[인공지능] 클러스터링

인트로

 

1) 클러스터링에 관하여

- 데이터클러스터링 , K-means 클러스터링

2) K-means 클러스터링 문제점, 해결책, 한계 (다음글 클릭하기)


1) 클러스터링(군집화)이란?

특성이 비슷한 데이터끼리 하나의 그룹으로 묶어주는 기법이다.

클러스터링 알고리즘에는, 

1) K-Means (Partitional clustering), 

 

2) Hierarchical clustering

 

3) Graph based clustering 기법이 있다. 

클러스터링을 구현하는 것은 쉬우나, 

 

클러스터링 K(클러스터의 개수)에 따라 성능이 차이가 있으므로,

결정적으로 클러스터링 성능을 평가하는 것이 매우 어렵다. 

 

(Algorithms for clustering Data, Jain and Dubes에서)  

*Graph-based clustering기법은 웹에서 검색시 좋다.

*이 페이지를 refer한 community가 몇개인지 알 수 있는 방법이다. 

 

+) intra-Cluster distance vs Inter-cluster distance

1) 군집 내 거리 (intra-cluster distance) : 클러스터 내 거리이다.

클러스터링에서 이 거리는 최소화(minimize)하는것이 좋다

2) 군집 간 거리 (inter-cluster distance) : 클러스터 간 거리이다. 

이 거리는 최대화(maximize) 하는 것이 좋다. (Otsu-method 에서 between-class variable과 같다.)  

 

computer grouping


2) 데이터 클러스터링 (Partitional Clustring, K-means Clustering )

1) Partitional Clustering : 특징공간을 partition으로 나누는 기법  

미리 K(클러스터 개수, the number of clusters)를 예측하고, 클러스터링하는 기법이다. 

대표적인 클러스터링 방법으로 K-means Clustering 기법이 있다.  

2) K-means Clustering 

K값을 반드시 정하고 클러스터링을 시작한다. (hierarchical clustering 기법과 다르다.)  

각각의 클러스터는 center point 즉, centroid와 관련이 있다.  

각각의 점은 점 자신과 클러스터의 centroid와의 거리를 계산해 가장 가까운 거리를 가진 클러스터에 할당된다. 


아래는 K-means clustering의 슈도코드이다.  

Select K points as the initial centroids (초기 centroid를 정할때에는, random하게 center를 정한다.
repeat 

From K clusters by assigning all points to the closest centroid (가까운 center가 있는 클러스터에 점을 할당한다)
Recompute the centroid of each cluster. (그 안에서 다시 center를 계산하여 정한다.) 
until The centroids don't change  (더이상 center가 바뀌지 않을때까지)

아래는 K-means clustring을 반복하여 돌린 결과이다. (iteration 1,2,3,4,5,6)

 아래는 분포되어있는 점들에 대해 K= 2,3,4로 클러스터링한 결과이다.

 

K=1,2,3,4일때 클러스터링한 결과

 

 

 

클러스터링 관련한 다음글 보러가기 

 

[인공지능] 클러스터링 문제,해결책,한계

목차 1) 클러스터링이란 (이전글) 2) 데이터클러스터링 (이전글) 3) K-means 클러스터링 (이전글) 4) K-means 클러스터링 문제점 5) K-means 클러스터링 해결책 3) K-means Clustering의 문제점 초기에 랜덤하게 c..

life-with-coding.tistory.com