**군집화(Clustering)**는 데이터의 숨겨진 구조를 파악하기 위해 정답(Label)이 없는 상태에서 유사한 특징을 가진 데이터끼리 그룹을 만드는 비지도 학습(Unsupervised Learning)의 핵심 기술입니다.
어떤 기준으로 묶느냐에 따라 다양한 알고리즘이 존재하는데, 가장 대표적인 3가지 방식을 중심으로 자세히 설명해 드릴게요.
1. K-평균 군집화 (K-Means Clustering)
가장 대중적이고 직관적인 알고리즘입니다. 데이터를 K개의 점(중심점)을 기준으로 묶습니다.
- 작동 방식:
- 사용자가 묶을 그룹의 개수($K$)를 정합니다.
- 임의의 위치에 $K$개의 중심점을 배치합니다.
- 각 데이터는 가장 가까운 중심점에 소속됩니다.
- 소속된 데이터들의 평균 위치로 중심점을 이동합니다.
- 중심점이 더 이상 변하지 않을 때까지 3~4번 과정을 반복합니다.
- 장점: 속도가 매우 빠르고 구현이 쉽습니다.
- 단점: 그룹의 개수($K$)를 미리 정해야 하며, 구형(둥근 모양)이 아닌 복잡한 형태의 군집은 잘 찾아내지 못합니다.
2. 계층적 군집화 (Hierarchical Clustering)
데이터들을 하나씩 개별 그룹으로 보고, 가까운 것들부터 차례대로 병합해 나가는 방식입니다.
- 작동 방식: 나무 모양의 구조인 **덴드로그램(Dendrogram)**을 생성합니다. 사용자는 나중에 이 나무를 어느 높이에서 자를지 결정하여 군집의 개수를 정할 수 있습니다.
- 장점: 군집 개수를 미리 정할 필요가 없고, 데이터 간의 계층 구조를 한눈에 볼 수 있습니다.
- 단점: 데이터 양이 많아지면 계산량이 기하급수적으로 늘어나 속도가 매우 느려집니다.
3. 밀도 기반 군집화 (DBSCAN)
데이터가 얼마나 빽빽하게 모여 있는지를 기준으로 군집을 나눕니다.
- 작동 방식: 일정 반경 안에 데이터가 최소 몇 개 이상 모여 있다면 하나의 군집으로 인정합니다.
- 장점:
- K-Means와 달리 기하학적이고 복잡한 모양의 군집도 잘 찾아냅니다.
- 어느 군집에도 속하지 않는 데이터를 **노이즈(이상치)**로 분리할 수 있어 이상탐지에 유용합니다.
- 단점: 데이터의 밀도가 전체적으로 균일하지 않으면 성능이 떨어질 수 있습니다.
4. 군집화의 성능 평가 (실루엣 점수)
분류와 달리 정답이 없기 때문에 "얼마나 잘 묶였는가"를 판단하기 위해 **실루엣 점수(Silhouette Score)**를 주로 사용합니다.
- 개념: 같은 군집끼리는 얼마나 가깝고, 다른 군집과는 얼마나 멀리 떨어져 있는지를 계산합니다.
- 점수: -1에서 1 사이의 값을 가지며, 1에 가까울수록 군집화가 아주 잘 된 것으로 판단합니다.
5. 군집화는 언제 사용하나요?
- 고객 세분화 (Customer Segmentation): 비슷한 구매 패턴을 가진 고객들을 묶어 타겟 마케팅을 할 때.
- 이미지 압축: 비슷한 색상의 픽셀들을 하나의 군집으로 묶어 데이터 크기를 줄일 때.
- 이상치 탐지: 정상적인 데이터 군집에서 멀리 떨어진 이상 거래(신용카드 도용 등)를 감지할 때.
'AI' 카테고리의 다른 글
| 텍스트 분류의 핵심 도구와 기술 (0) | 2025.12.22 |
|---|---|
| 군집화와 분류의 차이 (0) | 2025.12.22 |
| 최소제곱법(Least Squares Method) (0) | 2025.12.22 |
| 선형 회귀와 비선형 회귀 (0) | 2025.12.22 |
| ROC와 AUC 곡선 (0) | 2025.12.22 |