네 방법은 “무엇을 비슷하다고 보는가”가 다르다. k-평균은 중심까지의 거리, GMM은 종 모양 분포에서 나왔을 확률, DBSCAN은 점들이 빽빽하게 이어졌는지, CLIQUE는 격자 칸에 점이 많이 들었는지를 본다. 고르는 질문은 셋이다. 무리 수를 아는가? 무리 모양을 가정할 수 있는가? 잡음과 차원이 많은가?

어느 쪽일까

C1 (a) 무리 수 5를 알고, 무리는 대체로 둥글며, 자료가 수백만 개다. (b) 무리 수를 모르고, 지도 위 GPS 점들이 길을 따라 길쭉하고 구불구불하게 모이며, 외딴 점이 섞였다. 어느 방법인가?

답: (a) k-평균. 둥근 군집과 알려진 \(k\)에 맞고 빠르다. (b) DBSCAN. \(k\)가 필요 없고 모양에 가정이 없으며 잡음을 따로 남긴다.

C2 (c) 무리 둘이 서로 겹쳐, 경계의 점마다 “어느 쪽일 확률”을 알고 싶다. (d) 속성이 50개인데, 무리마다 쓸모 있는 속성이 몇 개뿐이고 서로 다르다. 어느 방법인가?

답: (c) GMM. 부드러운 배정으로 점마다 군집별 확률을 주고, 타원 모양 군집도 표현한다. (d) CLIQUE. 무리마다 다른 부분공간을 찾고 쓸모없는 차원을 스스로 걸러 낸다.

결정적 차이

다섯 방법을 다섯 기준으로 견주면 이렇다.

  모양 가정 \(k\) 필요 고차원 잡음에 견고 배정
k-평균 둥근 모양 필요 약함 약함 하드
k-메도이드 거리에 따름 필요 약함 더 견고 하드
GMM 가우스(타원) 필요 약함 보통 부드러움(확률)
DBSCAN 제멋대로 필요 없음 약함 견고 하드 + 잡음
CLIQUE 제멋대로(부분공간) 필요 없음 강함(보통) 견고 하드 + 잡음

선택을 가르는 열은 “\(k\) 필요”와 “모양 가정”이다. 무리 수와 모양을 안다면 k-평균이나 GMM이 빠르고 해석하기 쉽다. 모르면 밀도 기반이 낫다.

검증: 고리 + 덩어리 자료에서 DBSCAN은 나누고 k-평균은 못 나눔, 부분공간 군집 예 — 31_dbscan_impl.py, 32_clique_impl.py

모두 아닐 때

C3 네 방법 모두 잘 맞지 않는 상황과 선택지를 쓰라.

답: ① 자료가 점의 좌표보다 “누가 누구와 연결되었나”(친구 관계, 링크)로 주어질 때 → 그래프 군집화. ② 차원이 아주 많고 군집이 축에 비스듬한 부분공간에 있을 때 → 주성분 분석이나 행렬 분해로 차원을 줄인 뒤 군집화.