K-means 군집분석 단계와 실루엣 계수 계산, K 선택과 한계까지 정리 (빅데이터분석기사)

정답 라벨이 없는 데이터를 비슷한 것끼리 묶는 군집 분석에서 K-means는 가장 먼저 배우는 알고리즘이다. 빅데이터분석기사에서는 알고리즘 단계, K를 정하는 방법, 실루엣 계수 해석이 자주 나온다. 단계가 단순해서 손으로 계산하는 문제가 나와도 대응할 수 있게 준비해 두는 편이 좋다.

K-means는 군집 중심과 가장 가까운 점을 반복해서 다시 묶는다

K-means는 군집 개수 K를 미리 정하고, 각 점을 가장 가까운 중심에 배정한 뒤 중심을 군집의 평균으로 옮기는 과정을 반복한다. 목표는 군집 내 제곱 거리의 합(SSE, 관성)을 줄이는 것이다. 단계는 다음과 같다.

  1. K개의 초기 중심을 정한다(무작위 또는 K-means++).
  2. 모든 점을 가장 가까운 중심의 군집에 할당한다.
  3. 각 군집의 평균으로 중심을 다시 계산한다.
  4. 할당이 더 변하지 않거나 변화가 기준 이하이면 멈춘다.

예시: 7개 점이 두 번의 반복 만에 수렴하고 SSE는 7.625가 된다

점이 (1,1), (1.5,2), (3,4.5), (5,7), (3.5,5), (4.5,5), (3.5,4.5)이고 K=2, 초기 중심이 (1,1)과 (5,7)이라고 하자. 첫 할당에서 (1,1), (1.5,2)는 첫 군집, 나머지 5개는 둘째 군집이 된다. 중심은 (1.25, 1.5)와 (3.9, 5.2)로 이동한다. 다시 할당해도 소속이 같으므로 여기서 수렴한다. 이때 SSE는 첫 군집 0.625, 둘째 군집 7.0을 더한 7.625이다. 파이썬으로 검산한 값이다.

그림. K-means 수렴 결과(7개 예시 점, 개념도).

초기 중심을 잘못 잡으면 국소 최적해에 빠질 수 있다. K-means++는 첫 중심을 무작위로 고른 뒤 이미 고른 중심에서 먼 점이 다음 중심으로 뽑힐 확률을 높여 중심들이 흩어지게 한다. 여러 번 다른 초기값으로 돌려 SSE가 가장 작은 결과를 쓰는 방법도 흔하다.

실루엣 계수는 군집 안 응집과 군집 사이 분리를 한 숫자로 보여준다

점 i의 실루엣은 s = (b – a) / max(a, b)이다. a는 같은 군집 안 다른 점들까지의 평균 거리, b는 가장 가까운 다른 군집 점들까지의 평균 거리이다. 값은 -1에서 1 사이이고, 1에 가까울수록 군집이 잘 나뉜 것이며 0 근처는 경계에 걸쳐 있고 음수는 잘못 배정됐을 가능성이 있다. 위 예시의 평균 실루엣은 약 0.679로 두 군집이 비교적 분명하게 나뉜다. K를 바꿔 가며 SSE의 꺾이는 지점(엘보 방법)과 평균 실루엣이 가장 큰 K를 함께 본다.

군집 기법은 가정하는 군집의 모양이 서로 다르다

기법 원리 장점 한계
K-means 중심 기반 반복 할당 빠르고 대용량에 적합 K를 미리 정해야 하고 초기값·이상치에 민감, 구형 군집 가정
계층적 군집 가까운 군집을 병합(또는 분할)해 덴드로그램 생성 K를 사후에 고를 수 있음 계산량이 커 대용량에 부적합
DBSCAN 밀도가 높은 영역을 군집으로 연결 임의 모양 군집과 노이즈 탐지 반경·최소 점 수 설정이 까다로움
가우시안 혼합모형 확률 분포의 혼합으로 소속 확률 추정 겹치는 군집 표현 분포 가정과 초기값 영향

답안에는 단계, K 선택, 전처리 주의를 함께 쓴다

서술형은 목적(SSE 최소화) → 단계 → K 선택(엘보, 실루엣) → 한계와 보완(K-means++, 이상치 처리) 순으로 쓴다. 실무에서 빠지기 쉬운 점은 거리를 쓰는 알고리즘이므로 변수 척도를 맞춰야 한다는 것이다. 단위가 큰 변수가 거리를 지배하지 않도록 표준화를 먼저 한다. 방법은 표준화·정규화와 데이터 누수 글을 참고하면 된다. 고객 세분화, 이상 징후 탐색, 이미지 색상 압축 같은 사례를 들면 실무 연결이 된다.

시험 직전 한 줄 요약

K-means는 할당과 중심 갱신을 수렴할 때까지 반복해 SSE를 줄이고, K는 엘보와 실루엣으로 고르며, 거리 기반이라 표준화가 필요하다.

이 글은 학습용 정리이며 실제 시험 문항과 다를 수 있다. 출제 기준은 큐넷·KISA·한국데이터산업진흥원 등 공식 공지를 확인하라. 그림은 설명용 예시 데이터로 그린 개념도이며 실측 데이터가 아니다.

zerg96

Recent Posts

불균형 데이터 처리, 정확도 98%인데 쓸모없는 모델이 되는 이유와 SMOTE·클래스 가중치 비교 (빅데이터분석기사)

환자 1,000명 중 암 환자가 20명뿐인 데이터로 모델을 만들었는데 정확도가 98%라면 훌륭한 모델일까? 안타깝게도 "모두…

55분 ago

결합도와 응집도 정리, 모듈 설계에서 낮은 결합·높은 응집이 정답인 이유 (정보처리기사)

코드를 고칠 때 한 군데만 바꿨는데 엉뚱한 곳이 줄줄이 깨진 경험이 있다면, 그것이 결합도가 높은…

55분 ago

세마포어와 뮤텍스 차이, P·V 연산과 생산자-소비자 문제로 이해하는 동기화 (정보처리기사)

두 스레드가 같은 변수를 동시에 고치면 결과가 실행할 때마다 달라진다. 이 문제를 푸는 도구가 세마포어와…

55분 ago

커버로스(Kerberos) 인증 흐름 정리, AS·TGS·티켓 6단계와 비밀번호를 보내지 않는 이유 (정보보안기사)

사내 시스템에 한 번 로그인했는데 파일 서버, 메일, 인트라넷이 비밀번호를 다시 묻지 않는다면 뒤에서 커버로스(Kerberos)가…

56분 ago

B-Tree 인덱스 원리와 인덱스를 못 타는 조건, 1억 건 중 한 건을 5블록으로 찾는 계산 (SQLD)

"인덱스를 만들었는데 왜 안 타요?" SQL 튜닝에서 가장 자주 나오는 질문이다. 답을 알려면 인덱스가 어떤…

56분 ago

2026년 11월 금융 DT 테스트 시험 일정 (접수·시험·발표)

11월에 일정이 있는 금융 DT 테스트 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에…

3시간 ago