AI 용어집 · 기초 · 전통 ML·추천·검색
클러스터링 Clustering, 군집화
클러스터링(군집화)은 정답이 붙어 있지 않은 데이터를 서로 비슷한 것끼리 자동으로 묶어 여러 무리(클러스터)로 나누는 것이다. 비지도 학습의 대표적인 방법이다.
어떻게 작동하나
먼저 각 데이터를 숫자 목록(특징 벡터)으로 바꿔 공간 위의 점처럼 다룬다. 그다음 점들 사이의 거리나 유사도를 계산해 가까운 점끼리 같은 무리로 묶는다. 가장 널리 알려진 K-평균(K-means)은 무리의 개수 K를 미리 정하고, 각 점을 가장 가까운 중심에 배정한 뒤 무리마다 중심을 다시 계산하는 일을 결과가 더 바뀌지 않을 때까지 반복한다. 이 밖에 점이 빽빽하게 모인 영역을 찾는 밀도 기반 방법(DBSCAN 등), 가까운 것부터 차례로 합쳐 나무 모양 계층을 만드는 계층적 군집화도 많이 쓰인다.
K-평균이 무리를 찾는 반복
결과가 안 바뀔 때까지
- 1중심 K개 정하기
- 2가까운 중심에 배정
- 3중심 다시 계산
- 1. 중심 K개 정하기 처음엔 임의로
- 2. 가까운 중심에 배정 각 점마다 거리 계산
- 3. 중심 다시 계산 무리의 평균 위치로
왜 중요한가
현실의 데이터는 대부분 정답 라벨이 없기 때문에, 라벨 없이도 구조를 드러내 주는 클러스터링은 데이터를 처음 살펴볼 때 유용하다. 고객을 구매 성향별로 나누거나, 비슷한 뉴스 기사를 한 주제로 묶거나, 대량의 문서를 임베딩한 뒤 주제별로 정리하는 데 쓰인다. 무리에서 멀리 떨어진 점을 찾으면 이상 탐지로도 이어진다. 또 데이터 라벨링 전에 대표 샘플을 고르거나 중복에 가까운 데이터를 찾는 등 AI 학습 데이터를 다듬는 과정에도 활용된다.
알아 둘 점
클러스터링에는 정답이 없어서 결과가 '좋은지'를 판단하기 어렵다. 어떤 특징을 쓰고 거리를 어떻게 재느냐에 따라 전혀 다른 무리가 나올 수 있다. K-평균처럼 무리 개수를 미리 정해야 하는 방법은 그 값을 잘못 고르면 억지스러운 결과가 나온다. 묶인 무리에 '가격에 민감한 고객'처럼 의미를 붙이는 일은 결국 사람이 해석해야 한다.
예시
쇼핑몰은 고객의 구매 빈도·금액·관심 상품을 바탕으로 고객을 여러 무리로 나눠 무리마다 다른 마케팅을 한다. LLM 서비스에서는 사용자 질문을 임베딩한 뒤 클러스터링해 '사람들이 주로 어떤 주제를 묻는지'를 파악하고, 자주 실패하는 질문 묶음을 찾아 개선하는 데 쓰기도 한다.