0 / 9
K-평균 군집(K-Means Clustering)
정답(어느 무리인지)이 정해져 있지 않은 데이터를 K개 무리로 나누는 방법이다. 무리마다 중심점을 하나 두고, 각 데이터를 가장 가까운 중심점의 무리에 넣은 다음, 무리에 속한 데이터의 평균 위치로 중심점을 옮긴다. 중심점이 더 이상 움직이지 않을 때까지 이것을 되풀이한다. 이름의 K는 나눌 무리 수, "평균"은 중심점을 평균 위치로 정한다는 뜻이다.
예: 카페 고객 12명을 방문 횟수와 한 번에 쓰는 돈으로 점을 찍고, 비슷한 고객끼리 세 무리로 나눈다.
1 / 9
시작 › 군집 수 정의
나눌 무리(군집) 수 K를 3으로 정한다. K는 알고리즘이 알아서 정해 주지 않아서, 분석하는 사람이 먼저 정한다.
2 / 9
시작 › 초기 중심점 선택
데이터 중 3개를 무작위로 골라 첫 중심점(중심 1·2·3)으로 삼는다. 이번에는 세 무리에서 하나씩 뽑혔다.
3 / 9
처리 › 거리 계산
모든 고객에서 세 중심점까지의 직선 거리를 잰다. 그림은 오른쪽 위 고객 한 명의 예다. 중심 1까지 6.6, 중심 2까지 1.2, 중심 3까지 5.9.
4 / 9
처리 › 군집화
각 고객을 가장 가까운 중심점의 무리에 넣는다. 예로 든 고객은 중심 2가 가장 가까워서 중심 2의 무리가 된다. 12명이 세 무리로 나뉘었다.
5 / 9
처리 › 중심 좌표 재계산
무리마다 속한 고객들의 평균 위치를 구해 중심점을 그 자리로 옮긴다. 처음 중심점은 고객 한 명의 자리였지만, 옮긴 중심점은 무리 한가운데의 빈자리에 온다.
6 / 9
종료 › 중심값 비교
옮긴 뒤의 중심점(새 중심)과 옮기기 전 중심점(이전 중심, 점선 네모)을 비교한다. 위치가 달라졌으므로 끝내지 않고 처리 단계로 돌아가 한 번 더 한다.
7 / 9
처리 › 거리 계산·군집화 (두 번째)
새 중심점을 기준으로 거리를 다시 재고, 가장 가까운 중심점의 무리에 다시 넣는다. 이번에는 다른 무리로 옮겨 간 고객이 없다.
8 / 9
처리 › 중심 좌표 재계산 (두 번째)
무리가 그대로이니 평균 위치도 그대로다. 중심점이 움직이지 않는다.
9 / 9
종료 › 중심값 비교
새 중심과 이전 중심이 같다. 더 바뀔 것이 없으므로 여기서 끝낸다. 왼쪽 위, 오른쪽 위, 오른쪽 아래의 세 무리로 나뉘었다.
1 / 9
시작 › 군집 수 정의
나눌 무리(군집) 수 K를 3으로 정한다. 첫 번째 탭과 같다.
2 / 9
시작 › 초기 중심점 선택
데이터 중 3개를 무작위로 골랐는데, 두 개(중심 1·2)가 왼쪽 위 무리에서, 하나(중심 3)가 오른쪽 아래 무리에서 뽑혔다. 오른쪽 위 무리에는 중심점이 없다.
3 / 9
처리 › 거리 계산
오른쪽 위 고객 한 명의 거리를 보면 중심 1까지 6.7, 중심 2까지 5.8, 중심 3까지 5.2이다. 가까운 중심점이 없어서, 그나마 가까운 중심 3이 가장 가깝다.
4 / 9
처리 › 군집화
왼쪽 위 무리는 중심 1과 중심 2의 무리로 갈라지고, 오른쪽 위와 오른쪽 아래 고객 8명은 모두 중심 3의 무리가 된다.
5 / 9
처리 › 중심 좌표 재계산
중심 3은 오른쪽 위·아래 고객 8명의 평균 위치로 옮겨져, 두 무리 사이의 빈 곳에 놓인다. 중심 1·2는 왼쪽 위 무리 안에서 조금씩 움직인다.
6 / 9
종료 › 중심값 비교
중심점 위치가 달라졌으므로 끝내지 않고 처리 단계로 돌아가 한 번 더 한다.
7 / 9
처리 › 거리 계산·군집화 (두 번째)
거리를 다시 재도 다른 무리로 옮겨 가는 고객이 없다. 오른쪽 위 고객들에게는 여전히 중심 3이 가장 가깝다.
9 / 9
종료 › 중심값 비교
새 중심과 이전 중심이 같아서 끝난다. 그런데 왼쪽 위 한 무리는 둘로 쪼개지고, 오른쪽 두 무리는 하나로 묶였다. K-평균은 처음 중심점을 어디서 뽑느냐에 따라 다른 결과에서 멈출 수 있다(지역 최적해). 그래서 처음 중심점을 바꿔 여러 번 돌려 보고 가장 잘 묶인 결과를 고른다.