Yiksan0315's Blog

Clustering

# Tag:

  • Source/KU_ML

Clustering

Data를 여러 개의 그룹으로 나누거나, 혹은 Data의 분포를 추정하는 방법.

기본적으로 비지도 학습 방식으로 어떤 label 없이 데이터 내에서 거리가 가까운 것들끼리 각 cluster로 묶어내는 방법이다.

즉, 각 cluster에 속하는지에 대한 여부가 Latent Variable이 되며, label이 주어져 있지않으므로 Latent Variable를 Estimate해내는 비지도 학습 방식이다.

Error

각 Cluster가 묶인 것에 대한 Error, Clustering을 하는 데에 있어서 생긴 Error 두 가지로 분류된다.

이를 판단하는 기준은 Distance가 된다.
따라서, clusters간의 Distance를 판단하는 기준이 필요하다.

Distance between two clusters

Distance를 재는 여러 함수들 중 적절한 함수를 사용한다.

Single-link distance


:각 Cluster의 element 중 가장 서로 가까이 있는 element간의 거리.

Complete-link distance


:각 Cluster의 element 중 가장 서로 멀리 있는 element간의 거리.

Average-link distance


:모든 거리의 합을, 각 클러스터의 개수로 나누어준다.

Centroid distance


: 각 cluster내에 속한 element들의 평균 간의 거리.

Bhattacharyya distance

:Gaussian Distribution의 Bhattacharyya distance.

두 Probability Distribution 간의 유사도(겹침)를 측정하는 지표.
거리가 작을수록 구분이 어렵고, 거리가 클수록 구분이 쉽다.

Cluster error

Clutser가 얼마나 흩어져 있는가를 나타낸다.

같은 Cluster내에 있는 데이터는 최대한 뭉쳐 있어야 하므로, Data point간의 distance가 클수록 Cluster error가 크다고 판단한다.

Clustering error

전체 Cluster의 error. 즉, Clustering이 얼마나 잘 되었는지를 의미한다.

모든 cluster error의 합이 된다.

: 각 cluster error에 전체 데이터 중 각 cluster의 element 개수를 곱해 더한다.
즉, 일종의 cluster element 개수를 반영한 weighted sum이라 볼 수 있다.

같은 cluster 내에서는 Variance가 작고, cluster들 끼리는 variance가 큰 것이 좋으므로 이는 곧, LDA를 Error의 기준으로 활용할 수도 있다.

:분자는 cluster내에서의 요소 간 거리, 분모는 cluste들 간의 거리라 볼 수 있다.


Algorithm

clustering을 하는 algorithm은 여러가지가 존재한다.

Agglomerative Clustering algorithm

  1. 모든 cluster에는 하나의 Datapoint만 포함시키고, 각 cluster를 하나의 그룹 로 묶는다.
  2. 가 최소인 , 를 찾는다.
  3. 를 묶어 새로운 cluster 를 찾는다.
  4. 에서 를 제거하고 를 추가한다.
  5. 원하는 클러스터의 개수 에 도달할 때까지, 혹은 clustering error threshold일 때까지 반복한다.

Divisive Clustering Algorithm

  1. 모든 데이터를 묶어 하나의 cluster 으로 두고, 이를 그룹 에 포함시킨다.
  2. cluster error가 가장 큰 cluster 를 찾는다.
  3. clustering error theshold 라면, 중단한다.
  4. clustering error가 최소화되는 방법으로 를 두 개의 cluster 로 분리한다.
  5. 그룹 에서 를 추가하고 를 제거한다.
  6. 만일 원하는 cluster 개수 에 도달했다면 중단.

K-means Clustering

기존의 위의 방법들과 달리, cluster가 계속 변하면서 clustering이 이루어진다.

How to find Optimal K?

어떻게 해야 최적의 cluster 개수 를 찾을 수 있는가?

방법은 다양하지만, Validation과정을 통해 가장 적은 error를 가져오는 를 점진적으로 증가시켜 나가면서 찾는다.
PCA, Color quantization, Cross Validation등의 방법이 이용될 수 있다.

toc test

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.