클러스터링

주어진 데이터셋을 학습시켜 다른 변수들에 의해 연관성이 있거나 유사한 것들로 나누는 것

 

K-means

[ centroid ]
[ clustroid ]

  • 거리에 대한 정의: 데이터간의 가까움은 유클리디안 거리로 계산되며, 코사인 유사도나 자카르드 유사도, 에딧 디스턴스 등이 있긴 하다.

  • K-means 는 먼저 클러스터의 개수를 정하고 클러스터링을 수행한다.

  • 알고리즘 

    1. 클러스터별 하나의 점(centroid)를 선택해서 클러스터를 초기화한다.

      • 랜덤으로 점을 고를 수도 있다. 단, K-1개의 다른 점들은 가능한 멀리 떨어져 있어야 한다.

    2. 각 점을 그 점과 가장 가까운 centroid를 갖는 클러스터에 포함시킨다.

    3. 모든 점들이 할당된 후, K개의 클러스터들의 centroid 위치를 갱신한다.

      • 현재 클러스터에 포함된 모든 점들의 평균을 계산해서 다시 구한다.

    4. 2번 과정으로 돌아가서 클러스터 내 데이터들이 바뀌지 않을 때까지 반복한다.

  • K를 선택하는 방법: 엘보우 기법

    • 클러스터 개수를 늘렸을 때 centroid 간의 평균 거리가 더 이상 많이 감소하지 않는 경우의 K를 선택하는 방법.

    • 개수가 늘 때마다 평균값이 급격히 감소하는데 적절한 K가 발견되면 매우 천천히 감소한다.

    • 그래프 상에서 이 부분이 팔꿈치랑 닮아서 엘보우 기법이라고 한다.

    • 참고로, 클러스터 개수가 적으면 centroid 간의 거리가 매우 커지며, 적절한 개수이면 거리가 점점 짧아진다. 개수가 많으면 평균 거리가 매우 조금씩 줄어든다.

[ 엘보우 기법 ]

  • K를 선택하는 방법: 실루엣 기법

    • 각 데이터의 실루엣 계수를 계산한다. 클러스터의 개수가 최적화되어 있으면 실루엣 계수는 1에 가까운 값이 된다.

    • 실루엣 계수의 평균이 0.7보다 크면 잘 분류되었다고 본다.

    • 엘보우 기법에 비해 계산하는데 시간이 굉장히 오래걸린다.

 

계층적 클러스터링

BFR

CURE

+ Recent posts