daco 2022. 9. 12. 22:37

Clustering

클러스터링(Clustering)는 비지도 학습의 일종이며, 데이터의 연관된 feature를 바탕으로 유사한 그룹을 생성합니다.

Clustering의 목적

Clustering이 대답할수 있는 질문은 주어진 데이터들이 얼마나, 어떻게 유사한지 입니다.

그렇기 때문에 주어진 데이터셋을 요약/정리하는데 있어서 매우 효율적인 방법들중 하나로 사용 되고 있습니다.

그러나 동시에 정답을 보장하지 않기 때문에 production의 수준, 혹은 예측을 위한 모델링에 쓰이기 보다는 EDA를 위한 방법으로써 많이 쓰입니다.

 

K-Means Clustering

주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작합니다.

Process

1. k 개의 랜덤한 데이터를 cluster의 중심점으로 설정

2. 해당 cluster에 근접해 있는 데이터를 해당 cluster로 할당

3. 변경된 cluster에 대해서 중심점을 새로 계산

cluster에 유의미한 변화가 없을 때 까지 2-3을 반복

중심점 (Centroid) 설정

랜덤한 포인트를 가상 cluster의 centroid로 지정

K-means에서 K를 결정하는 방법

1. 사람의 주관적인 판단을 통해서 임의로 지정하는 방법입니다.

2. 객관적인 지표를 설정하여, 최적화된 k를 선택하는 방법입니다.

Elbow methods

급격히 꺾이는 부분의 k를 선택하는 방법입니다.