본문 바로가기
머신러닝

[머신러닝][개념]K-means clustering

by 방구석 데이터사이언티스트 2022. 1. 13.
728x90
반응형

Clustering Analysis이란?

- 여러 집단의 데이터들이 섞여 있고 각 데이터의 소속집단을 모르는 경우 유사한 속성을 갖는 데이터의 군집을 찾는 기법

 

- 주어진 개체 중에서 유사한 것들을 몇몇의 집단으로 그룹화하여, 각 집단의 성격을 파악함으로써 데이터 전체의 구조에 대한 이해를 돕고자 하는 탐색적 데이터 분석 방법

 

목적

* 주어진 데이터를 통해 군집을 잘 구분하는 것이 분석의 최대 목적

- 동일한 군집의 개체들은 유사한 성격을 갖도록한다.

- 서로 다른 군집에 속한 개체들 사이에는 상대적으로 서로 다른 성격을 갖도록한다. 

 

유사성과 거리.

군집분석에서는 유사성의 척도로 거리를 사용한다

거리의 종류는 크게 세 가지로 유크리드 거리, 민코우스키 거리, 마할라노비스 거리가 있고 통상적으로 유클리드 거리를 많이 사용한다. 또한 유클리드 거리를 구하기 전 일반적으로 변수들을 정규화 또는 표준화를 해야한다. 

그 이유는 각 변수의 단위크기에 영향을 받을 수 있기 때문이다. 

 

Clustering Analysis method

- Hierarchical method    ex) Single-linkage algorithm, Complete-linkage algorithm

- Partitoning method     ex) K – means algorithm

-Density - based method   ex) DBSCAN

 

K-means algorithm(Clustering)

주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로 k는 분석가가 임의로 정하여 진행됩니다. 

k를 정하는 기준은 크게 두 가지가 있습니다. 

 

- elbow method

가장 보편적으로 이용되는 방법으로 클러스터 내의 총 변동을 설명하는 WCSS(Within Clusters Sum of Squares)를 이용해 WCSS값과 클러스터 K 갯수에 대한 커브선을 그려 뾰족하게 구부러진 부분이나 특정 지점이 팔처럼 굽어지는 부분을 K로 지정하는 방법

 

- 실루엣 스코어

실루엣 스코어은 개체가 다른 클러스터(seperation)에 비해 자신의 클러스터(cohesion)와 얼마나 유사한 지 측정합니다. 실루엣 범위는 -1에서 +1까지이며, 값이 높으면 객체가 자체 클러스터와 잘 일치하고 인접 클러스터와 잘 일치하지 않음을 나타냅니다. 실루엣 스코어는 전체 시루엣 스코어의 평균과 각 크러스터별 스코어의 평균이 비슷하도록 k를 설정합니다.

 

k값이 선택됐으면 k-means clustering은 다음과 같은 절차로 군집을 생성합니다.

 

1. 초기군집의 형성

- 각 개체들에 대하여 군집 초기값들과의 거리를 계산

- 거리가 가장 가까운 초기값에 개체들을 할당

- 군집의 중심 계산(mean 값을 사용)

 

2, 개체들의 재할당

- 각 개체들을 가장 가까운 군집중심에 재할당하고 군집의 중심을 계산

- 군집중심들의 변화가 일정 수준 이하가 될 때까지 반복

- 반복이 완료되면 최종 군집 형성

 

k-means clustering은 전체 데이터를 k만큼 나누고 mean값으로 중심을 설정해 가장 적절하게 cluster를 형성하는 알고리즘이다.

728x90
반응형

댓글