본문 바로가기
IT/ML

클러스터링 성능 평가 (Cluster Evaluation)

by 모던네이쳐 2020. 11. 20.
728x90

 Clustering은 비지도 학습으로, feature 정보들만 있는 데이터를 사용하여 최대한 비슷한 데이터들을 묶어 군집(Cluster)을 만드는 것을 목표로 한다. 반면, 지도 학습에서는 정답인 Y label이 있는 데이터를 사용하며 정답을 맞히는 것을 목표로 한다. 지도 학습은 정답 label을 사용하여 모델의 성능을 평가할 수 있으나, 비지도 학습은 군집화가 잘 된 정도를 평가해야 하기 때문에 비교적 평가가 쉽지 않다.

 

 

Cluster validation measure(군집 유효성 지표)

 Cluster를 평가하기 위해 다음 지표들을 사용할 수 있다.

  1. Compactness: Cluster 내 데이터들이 잘 뭉쳐있는 정도를 의미한다.
  2. Separation: Cluster와 cluster간 잘 분리되어 있는 정도를 의미한다.
  3. Connectivity: Cluster 내 연결성이 좋은 정도로, 한 곳에 뭉쳐 있지 않아도 근접 데이터 간 연결 이 잘 된 정도를 의미한다.

 

클러스터링 평가(Cluster evaluation)를 위한 여러 방법들

 클러스터링이 잘 된 정도를 평가하기 위하여, compactness와 separation이 잘 된 정도를 확인하는 다음 지표들을 사용해 확인해볼 수 있다.

 

1. Silhouette coefficient

 한 데이터 $i$에 대해서 동일한 cluster 내 점들 과의 평균 거리를 $a_i$, 다른 여러 cluster 중cluster 내 점들 과의 평균 거리가 가장 min값인 $b_i$로 계산할 수 있다. 다음 수식을 사용하여 데이터 $i$가 상대적으로 잘 클러스터화 되었는지를 확인할 수 있다. 값이 1에 가까울수록 잘 클러스터화 되었다고 볼 수 있다.

 

$S_i = (b_i-a_i)/max(a_i,b_i)$

 

 이는 데이터 차원이 높은 경우에도 사용할 수 있다. 이를 사용하여 개별적인 점들이 cluster내에 있는지 boundary에 있는지를 파악할 수 있다.

 

2. Dunn index

 Dunn index는 다음 두 값을 사용하여 계산할 수 있다.

  • min.separation: 모든 Cluster 간 거리 중 가장 짧은 값
  • max.diameter: 각각의 Cluster 내 거리 중 가장 큰 값

$D= \frac{min.separation}{max.diameter}$

 

 클러스터링을 처음 적용하였을 때 그 결과 값에 익숙해지면, 점차 이 결과 값이 사실이라는 쪽으로 마음이 기울게 된다. 이에 보다 객관적인 평가 방법을 사용하여 클러스터의 개수가 적정한지, 클러스터링 평가지표가 비교적 괜찮게 나왔는지 확인해볼 필요가 있다.

 


참고자료:

https://www.datanovia.com/en/lessons/cluster-validation-statistics-must-know-methods/