본문 바로가기

Study doc./Statistics

클러스터링 모델(K-means, Mixture of Gaussian) 평가 지표

  1. K-means 모델 평가 지표
    1. Inertia
    2. Sihouette score
  2. Mixture of Gaussian 모델 평가 지표
    1. Information Criterion (AIC, BIC)

1. K-means 모델 평가 지표

1-1. Inertia

인스턴스 별 각 클러스터의 중심(x) 까지의 거리 제곱 평균

 

Inertia는 각 인스턴스와 해당 인스턴스와 가장 가까운 클러스터 중심까지의 거리 제곱 평균 값입니다.

따라서, 잘 된 클러스터링이라면 inertia가 작아야 하겠죠!

 

당연하게도 클러스터 수가 늘어날수록 Inertia 값은 감소할수밖에 없고,

이 개념을 이용하여 최적의 클러스터 수를 예상할 수 있습니다.

 

 

Elbow Rule

좀 더 이해를 해보자면,

저기 Elbow 포인트를 최적의 클러스터 수로 잡은 이유는 더이상 Inertia가 눈에 띄게 작아지지 않기 때문입니다.

즉 클러스터를 더 늘려도 큰 의미가 없기 때문에 저 부분을 최적의 클러스터 수라고 추측하는 것입니다.

 

1-2. Sihouette score

실루엣 스코어는 실루엣 계수들의 평균값입니다.

그럼 실루엣 계수는 뭐냐?

실루엣 계수는 각 인스턴스 별로 구할 수 있는데, 자세한 수식은 아래와 같습니다.

 

실루엣 계수 = b-a/max(a,b)

 

    a : 같은 클러스터의 다른 인스턴스 까지의 거리 평균

    b : 두 번째로 가까운 클러스터의 인스턴스 까지의 거리 평균

 

a : 빨간색 선의 평균 / b : 파란색 선의 평균(좌), 초록색 선의 평균(우)

 

여기서 좋은 클러스터링이라면 b는 커야하고(클러스터끼리 멀다), a는 작아야겠죠(클러스터 내 인스턴스끼리 가깝다)?

즉 실루엣 계수는 -1(-a/a)과 +1(b/b) 사이의 값을 가지게 되는데, +1일수록 좋은 클러스터링이라고 할 수 있습니다.

(실루엣 계수가 0인 경우에는 a와 b가 비슷하다는 말이고, 즉 클러스터의 경계에 걸쳐있다는 말과 같습니다.) 

 

실루엣 스코어를 한 눈에 시각화 하면 다음과 같습니다.

 

클러스터 별 실루엣 스코어 시각화

위 표를 보면 각 클러스터별 인스턴스의 수, 실루엣 계수 분포 등을 한 눈에 볼 수 있습니다.

예를들어 클러스터 수가 4인 경우(k=4), 클러스터 1에 인스턴스가 가장 많고, 

클러스터 2를 제외한 나머지 클러스터들의 실루엣 계수가 실루엣 스코어보다 높게 측정됩니다.

 

즉 대체적으로 클러스터 내부의 인스턴스끼리 잘 뭉쳐있고, 

서로 다른 클러스터끼리는 잘 떨어져 있다는 사실을 추측할 수 있습니다.

 

2. Mixture of Gaussian 모델 평가 지표

2-1. Information Criterion (AIC, BIC)

MoG의 경우에는 Likelihood의 개념을 먼저 알아야 합니다.

아래 그림을 보며 쉽게 설명해보겠습니다.

 

위 그림의 각 likelihood 는 f(x1) + f(x2) + f(x3) 이고,

x1, x2, x3에 대해 likelihood가 더 높은 것은 주황색 분포입니다.

주황색 분포에서 x1, x2, x3 가 더 높은 확률로 관측된다는 말과 같습니다.

 

이렇게 양 옆으로 평행이동 하며 likelihood가 가장 높은 순간을 찾고자 하는데,

그 값을 구하는 과정이 바로 maximum likelihood estimate (MLE) 라고 합니다.

(참고로 x1, x2, x3 의 평균 값을 평균으로 하는 분포가 likelihood가 최대가 되는 값입니다)

 

아무튼 MoG는 이런 likelihood의 성질을 이용하여 최적의 파라미터 (pi, mu, sigma)를 찾고.

그 분포를 이용하여 최적의 클러스터 수를 예상합니다.

 

이 원리를 간단하게 이해하시고 아래 지표를 보겠습니다.

 

d : 클러스터 수/ N : sample 수

 

둘 다 likelihood 값에 -log를 취했습니다. 

이로써 AIC 혹은 BIC 값이 작을수록 좋은 클러스터링 모델임을 알 수 있습니다(likelihood는 클수록 좋음).

 

또한 마지막에 model complexity에 대한 규제 term을 추가해주었는데,

likelihood 측면에서 클러스터 수를 늘리는 것은 절대적으로 좋은 현상이지만

한 편으로는 모델의 복잡도를 높이는 일이기도 하기 때문에 패널티를 부여하는 것으로 이해하면 됩니다.

 

이를 그래프로 이해해 본다면 아래와 같겠죠?!

 

우측 빨간 점선이 최적의 클러스터 수