본문 바로가기
머신러닝/아웃라이어, 결측치

실루엣 분석Silhouette Analysis

by 혜 림 2021. 3. 30.

머신러닝은 크게

 

지도

비지도 

 

학습으로 나뉜다.

 

 

지도 학습은 우리가 얻고자 하는 종속변수(Y)값을 컴퓨터에게 학습시켜줄 수 있는 경우인 반면

비지도 학습은 우리가 얻고자 하는 종속변수(Y)값을 컴퓨터에게 학습시켜줄 수가 없다.

즉 아이에게 문제는 냈는데 답지가 없는 상태.

 

그래서 비지도 학습은 데이터의 형태를 파악하는 등의 목적을 가진다.

또한 정답이 없기 때문에 정확도를 측정하기가 어렵다.

대신 비지도 학습의 대표적인 목표인 클러스터링의 평가 지표로서, 실루엣 분석Silhouette Analysis 을 소개하고자 한다. 

 

실루엣계수 값은 다음과 같이 구할 수 있다.

 

별로 표시한 i번째 데이터에 대하여

검은 영역은 i번째 데이터가 속한 클러스터고, 초록 영역은 i가 속한 클러스터와 가장 가까운 클러스터이다. 

 

검은 색으로 표시한 거리는, i와 같은 클러스터 내에 속한 데이터 포인트와 i사이의 거리이다.

이 값들을 모두 더하여 평균낸 값을 a(i)라고 하자

 

초록 색으로 표시한 거리는, i와 가장 근접한 클러스터 내에 속한 데이터 포인트와 i사이의 거리이다.

이 값들을 모두 더하여 평균낸 값을 b(i)라고 하자

 

그럼 거의 다 한거나 마찬가지다.

실루엣 계수는 아래와 같이 계산된다.

 

 

실루엣 계수는 1에서 -1 사이의 값을 가진다.

 

가장 극단적으로, 클러스터가 제대로 나뉘어지지 않았다면?

클러스터 내의 포인트와의 거리보다 근접한 '다른' 클러스터 내의 포인트와의 거리가 더 짧을 것이다

즉 분모가 a(i)가 되고 분자는 -a(i)에 가까워 질 것이다

따라서 -1이 된다

 

반대로 극단적이라면? 너무 완벽하게 나뉘었다면?

분모는 b(i)가 될 것이고, 분자 역시 b(i)가 될 것이다

따라서 1이 된다

 

즉 -1에 가까울수록 클러스터링이 잘 안 된 것이며, 1에 가까울수록 제대로 된 것이다.

 

그럼 한 데이터의 실루엣계수를 계산하는 방법을 봤다.

전체 데이터에 대해서는 어떨까? 간단하다

 

전체 포인트의 실루엣 계수의 평균값을 구한다 마찬가지로 1에 가까울수록 좋다

이때 개별 군집의 실루엣과 전체 실루엣 계수에 차이가 있는지 주목해줄 필요가 있다

 

 

 

참고한 사이트

steadiness-193.tistory.com/284

 

댓글