주어진 데이터를 Cluster 라고 불리는 N 개의 subset 으로 나누는 것이다. Classification 은 주어진 데이터가 속할 클래스를 예측하는 방식을 학습했다면, Clustering 은 데이터를 그룹으로 나누는 최적의 방식을 학습한다는 차이가 있다.

하나의 Cluster 내의 데이터는 유사한 성질을 가지고, 서로 다른 Cluster 에 포함된 데이터끼리는 성질이 달라야 한다. 이를 만족시키기 위해 그룹 내 데이터 간의 거리는 최소화하고, 그룹 간 거리는 최대화해야 한다.

데이터를 Cluster 로 나누기 위해서는 다음 사항들을 해결해야 한다.
데이터 포인트 간의 거리를 측정하기 위한 Distance Metric 을 정의해야 한다. 예시로는 Euclidean, Manhattan, Cosine Similairty 등이 있다.
Distance Metric 을 바탕으로 어떤 기준으로 Cluster 를 나눌지 결정하는 알고리즘이다.
