
290
데이터 과학을 위한 통계
7.2.2
K
평균 알고리즘
일반적으로
K
평균은
p
개의 변수
를 갖는 데이터에 적용될 수 있다.
K
평균의 정확
한 해를 계산하기는 매우 어려우므로, 휴리스틱한 방법을 통해 국소 최적화된 해를 효과적으로
계산한다.
사용자가 미리 정해준
K
값과 클러스터 평균의 초깃값을 가지고 알고리즘을 시작하며, 아래 과
정을 반복한다.
1
. 각 레코드를 거리가 가장 가까운 평균을 갖는 클러스터에 할당한다.
2
. 새로 할당된 레코드들을 가지고 새로운 클러스터 평균을 계산한다.
각 레코드에 대한 클러스터 할당이 더 이상 변화하지 않을 때 알고리즘이 수렴했다고 볼 수 있
다. 첫 번째 단계에서 클러스터 평균의 초깃값을 설정할 필요가 있다. 보통은 각 레코드를
K
개
의 클러스터들 가운데 하나에 랜덤하게 할당한 후 그렇게 얻은 클러스터들의 평균을 사용한다.
이 방법이 항상 최적의 답을 준다는 보장이 없기 때문에, 랜덤하게 초깃값을 변화시켜가며 알
고리즘을 여러 번 돌려봐야 한다. 일단 초깃값이 정해지게 되면 반복 루프를 통해
K
평균은 클
러스터 내 제곱합이 최소가 되도록 하는 해를 얻게 된다.
R
에서
kmeans
함수의
nstar
변수를 이용해 랜덤하게 초깃값을 다르게 설정해 알고리즘을 시
행할 횟수를 설정할 수 있다. 예를 들어 다음은