상세 컨텐츠

본문 제목

클러스터링(Clustering)

ML

by LYShin 2022. 12. 7. 14:28

본문

- 본 글에서는 클러스터링에 대해 간단히 소개합니다.

 

 

 

1. Clustering Concept

 

클러스터링이란 세팅된 데이터에서 카테고리를 도출하는 방법입니다. 도출된 카테고리에 정해진 의미는 없고 단지 인덱스만 결정을 해줍니다. 인덱스는 같은 카테고리에 속하였다는 의미이며 이것을 해석하는 데는 데이터를 분석하는 사람의 역량에 따라 달라집니다.

 

 

2. K-means

 

클러스터링 방법 중 K-means 알고리즘의 직관적인 프로세스는 굉장히 간단합니다. 2차원의 데이터가 존재할 때 데이터를 K개의 군집으로 나누고자 합니다. 이때 K=2로 하겠습니다. 데이터를 2개의 군집으로 나누는 2개의 대표점을 찾아야 합니다. 2개의 대표점은 각 클러스터 내의 데이터와의 거리가 최솟값이 되는 점이 되어야 합니다. 

 

 

거리가 최소가 되는 대표점을 찾는 첫 과정은 무작위로 두 개의 대표점을 선정하는 것입니다. 그다음 대표점을 중심으로 더 가까운 점들을 군집으로 묶습니다. 그 후 군집 내 데이터의 평균점으로 대표점을 이동하고 새로운 군집을 구성합니다. 대표점과 군집 내 거리가 최소가 될 때까지 과정을 반복하여 가장 이상적인 군집을 찾습니다.

 

 

수학적으로도 동일한 프로세스를 따릅니다. 먼저 K개의 대표점을 선정합니다. 각 학습 데이터에서 가장 가까운 대표점을 찾아 데이터를 인덱스(군집)로 편입시킵니다. 다음으로 군집 별 데이터의 평균으로 다시 대표점을 선정합니다. 이때 K-mean의 목적함수는 클러스터의 대표점과 클러스터의 속한 데이터의 유클리드 거리가 최소가 되는 군집과 대표점을 찾는 함수입니다. 군집 내 거리가 최소가 될 때까지 위의 과정을 반복합니다. 

 

 

K-means에서 중요한 것 중 하나는 K의 개수입니다. 어떤 K가 가장 이상적이냐는 것에 정답은 없습니다. 다만, K의 개수에 따라 목적함수의 값이 완만해지는 곳에서의 K값을 선택하는 것이 가장 합리적일 것입니다. 그림과 같은 예시에서는 K= 3 혹은 K = 4가 가장 합리적은 선택일 것입니다. 이러한 방법을 Elbow Method라고 부릅니다.

 

 

K-means의 단점은 다음 그림으로 확인할 수 있습니다. 가장 이상적인 클러스터는 1번 그림과 같은 3개의 군집을 나타내는 것입니다. 하지만 초기 대푯값의 위치에 따라 2번, 3번 그림과 같은 군집을 나타낼 수도 있습니다. 즉, 초기 대푯값에 따라 클러스터링 결과가 달라질 수 있다는 것입니다. 이런 현상이 발생하는 이유는 목적함수의 최솟값을 구하는 과정에서 Local Minumum의 경우가 생기기 때문입니다. 

 

이외의 클러스터링 기법으로는 DBscan, 가우시안 혼합 모델 등 여러 가지 모델이 있습니다. 데이터의 집합의 특성과 목적에 알맞게 적절히 선택해야 합니다.

'ML' 카테고리의 다른 글

Recurrent Neural Networks  (0) 2022.12.16
Convolution Neural Network  (0) 2022.12.14
Hyper Parameter  (0) 2022.12.12
신경망(Neural Network)  (1) 2022.12.08
교차검증(Cross-validation)과 차원축소(Dimension Reduction)  (0) 2022.12.05

관련글 더보기

댓글 영역