머신러닝&딥러닝

머신러닝 & 딥러닝 기초 23편 | 비지도학습 - 군집화(Clustering)

SecLogs YJ 2026. 3. 18. 20:51
목차

1. 군집화(Clustering)
  1-1 군집화의 작동 방식
  1-2 군집화 유형
2. 군집화 활용 예시
3. 군집화 대표 알고리즘
4. 군집화 결과 해석 및 시각화
5. 군집화 품질 평가

1. 군집화(Clustering)

데이터 분석에서는 종종 정담(Label)이 없는 데이터가 존재한다.

이때 데이터 간의 유사성을 기반으로 자연스럽게 형성되는 그룹을 찾는 방법이 바로 '군집화(Clustering)이다.

 

군집화는 정답(Label)이 지정되지 않은 데이터를 유사한 데이터 포인트끼리 그룹화하는 비지도 머신러닝 기법이다.

즉, 비슷한 특성을 가진 데이터들을 하나의 그룹(Cluster)으로 묶는 방법이다.

 

예를 들어 다음과 같은 상황을 생각해 볼 수 있다.

  • 고객 구매 데이터를 분석했을 때
  • 비슷한 구매 패턴을 가진 고객들이 자연스럽게 여러 그룹으로 나뉠 수 있다.

이처럼 데이터 간의 유사성을 기반으로 자연스럽게 형성되는 그룹을 찾는 것이 군집화의 목적이다.

 

지도학습과의 차이는 다음과 같다.

구분 지도학습 비지도학습
정답(Label) 있음 없음
목표 정답 예측 데이터 구조 발견
예시 분류, 회귀 군집화, 차원축소

 

따라서 군집화는 

  • 데이터의 숨겨진 패턴 발견
  • 데이터 구조 이해
  • 데이터 탐색 분석

등이 매우 중요한 기법이다.

 

1-1 군집화의 작동 방식

군집화는 일반적으로 다음 과정을 통해 수행된다.

  1.  거리 및 유사도 측정
    • 데이터 간 얼마나 비슷한지 계산한다.
    • 어떤 거리 측정 방법을 사용하냐에 따라 군집화 결과가 달라질 수 있다.
    • 대표적인 방법은 다음과 같다.
      • 유클리드 거리(Euclidean Distance) : 가장 기본적인 거리 측정 방법
        • 수치형 데이터에 많이 사용한다.
        • K-Means에서 주로 사용한다.
      • 맨해튼 거리(Manhattan Distance) : 좌표축을 따라 이동하는 거리의 합
        • City Block Distance라고도 한다.
        • 이상치 영향이 상대적으로 적다.
        • 고차원 데이터에서 사용되기도 한다.
      • 코사인 유사도(Cosine Similarity) : 두 벡터 사이 각도를 이용한 측정 방법
        • 텍스트 분석에서 많이 사용한다.
        • 문서 유사도 분석에 적합하다.
  2. 데이터 그룹화
    • 유사성이 높은 데이터들을 하나의 그룹(Cluster)으로 묶는다.
    • 즉, 비슷한 데이터는 같은 클러스터로, 다른 데이터는 다른 클러스터로 묶는다.

 

1-2 군집화 유형

군집화는 크게 다음 두 가지 방식으로 나뉜다.

 

1) 하드 클러스터링(Hard Clustering)

각 데이터가 오직 하나의 클러스터에만 속하는 방식이다.

데이터가 특정 클러스터에 속하는지 여부가 이진 값(0 또는 1)으로 결정된다.

 

예시

  • 고객 A → 클러스터 1
  • 고객 B → 클러스터 2

특징

  • 소속이 명확함
  • 계산이 단순함

대표 알고리즘

  • K-Means

 

2) 소프트 클러스터링(Soft Clustering)

데이터가 여러 클러스터에 속할 확률을 가지는 방식이다.

 

예시

  • 고객 A
    • 클러스터1 : 70%
    • 클러스터2 : 30#

대표 알고리즘

  • Gaussian Mixture Model(GMM)
  • Expectation-Maximization(EM)

이 방식은 데이터 경계가 모호한 경우에 유용하다.

 

2. 군집화 활용 예시

군집화는 다양한 분야에서 활용된다.

  1. 고객 세분화(Customer Segmentation)
    • 고객 데이터를 분석하여 고객 그룹을 나눈다.
    • 예시
      • 고액 구매 고객
      • 저빈도 구매 고객
      • 신규 고객
    • 마케팅 전략 수립에 매우 중요하다.
  2. 이상치 탐지(Anomaly Detection)
    • 비정상적인 데이터 패턴을 탐지하는 데 활용된다.
    • 예시
      • 금융 사기 탐지
      • 네트워크 침입 탐지
    • 다음과 같은 경우 이상치로 판단할 수 있다.
      • 매우 작은 클러스터
      • 밀도가 낮은 영역의 데이터
      • 클러스터 중심에서 멀리 떨어진 데이터
  3. 이미지 분할(Image Segmentation)
    • 이미지를 의미 있는 영역으로 분할하는 작업이다.
    • 예시
      • 배경 / 전경 분리
      • 객체 영역 분리
    • 컴퓨터 비전 분야에서 매우 중요하다.
  4. 추천 시스템(Recommendation System)
    • 유사한 사용자 또는 상품을 그룹화한다.
    • 예시
      • 비슷한 취향의 사용자 그룹
      • 유사한 상품 추천
    • 예시 : 넷플릭스 / 유튜브 추천 시스템
  5. 문서 군집화(Document Clustering)
    • 문서 간 유사도를 기반으로 문서를 그룹화한다.
    • 예시
      • 뉴스 기사 주제 분류
      • 논문 자동 분류
    • 사용되는 특징
      • 단어 빈도
      • 문장 길이
      • 단어 분포

 

3. 군집화 대표 알고리즘

대표적인 군집화 알고리즘은 다음과 같다.

 

1) K-Means : 데이터를 K개의 클러스터로 나누는 알고리즘 (Centroid-based 유형)

👉 K-Means 설명 및 구현 예제 바로가기 

2) Hierarchical Clustering : 데이터를 계층 구조로 군집화하는 방법 (Hierarchical 유형)

👉 Hierarchical Clustering 설명 및 구현 예제 바로가기

3) DBSCAN : 데이터의 밀도 기반으로 클러스터를 형성하는 알고리즘 (Density-based 유형)

👉 DBSCAN 설명 및 구현 예제 바로가기

 

알고리즘 특징 장점 단점
K-Means 중심점 기반 군집화 빠르고 구현이 간단하다. K값이 필요하다.
.이상치에 민감하다
Hierarchical Clustering 계층 구조 군집화 데이터 구조 해석이 가능하다. 계산 비용이 크다.
DBSCAN 밀도 기반 군집화 K값 설정이 불필요하다.
이상치 탐지가 가능하다.
파라미터 설정이 어렵다.

 

 

결과 시각화 및 해석

4-1 결과 시각화

클러스터링 결과를 이해하기 위해 시각화가 중요하다.

 

주로 다음 도구를 사용한다.

  • Matplotlib : 산점도(scatter plot)로 표현
  • Seaborn : 페어 플롯(pair plot) 등
  • PCA : 고차원 데이터를 2차원으로 축소하여 클러스터를 시각화

이런 시각화를 통해 각 클러스터가 어떻게 분포되어 있는지, 서로 잘 구분되는지를 직관적으로 확인할 수 있다.

 

4-2 클러스터 특성 분석

군집화 결과는 분석자가 의미를 해석해야 한다.

 

예시 : 고객 데이터 군집화

클러스터 특징
A 구매 빈도 높음, 금액 낮음
B 구매 빈도 낮음, 금액 높음

 

이러한 분석을 통해 고객 전략 수립, 서비스 개선 등에 활용할 수 있다.

 

또한, 클러스터에 의미 있는 이름을 붙이기도 한다.

 

예시 : VIP 고객, 신규 고객, 잠재 고객 등

 

5. 군집화 품질 평가

좋은 클러스터는 다음 특징을 가진다.

  • 응집도(Compactness) : 같은 클러스터 내부 데이터는 서로 가깝다.
  • 분리도(Separation) : 서로 다른 클러스터는 충분히 떨어져 있다.

 

5-1 실루엣 점수(Silhouette Score)

실루엣 점수는 클러스터 품질 평가의 대표 지표이다.

각 데이터 I에 대해 

  • a(i) : 같은 클러스터 내 데이터들과의 평균 거리 (응집도)
  • b(i) : 가장 가까운 다른 클러스터에 속한 데이터들과의 평균 거리 (분리도)

실루엣 점수 공식

s(i) = (b(i) − a(i)) / max(a(i), b(i))

 

 

값 범위

의미
1에 가까움 매우 좋은 클러스터
0 근처 경계 데이터
음수 잘못된 클러스터

 

 

5-2 Elbow Method

Elbow Method는 K-Means에서 적절한 클러스터 개수(K)를 선택하기 위해 사용되는 대표적인 방법이다.

 

K-Means 알고리즘에서는 클러스터 개수 K를 미리 지정해야 한다는 특정이 있다.

따라서 데이터에 적합한 K 값을 찾는 과정이 필요하다.

 

이때 사용되는 대표적인 방법이 Elbow Method이다.

 

1) 기본 원리

Elbow Method는 클러스터 중심(centroid)과 데이터 포인트 사이 거리의 제곱합을 이용한다.

이 값을 SSE(Sum of Squared Erros, 제곱 오차 합) 또는 Inertia라고 한다.

 

SSE는 다음 의미를 가진다.

  • 클러스터 내부 데이터가 중심점에서 얼마나 떨어져 있는지 나타내는 값
  • 값이 작을수록 클러스터가 잘 형성된 것이다.

일반적으로 K 값이 증가할수록 SSE 값은 감소한다.

클러스터 개수가 많아질수록 데이터는 더 가까운 중심점을 찾을 수 있기 때문이다.

 

2) Elbow 그래프

K 값을 증가시키면서 SSE 값을 계산하여 그래프로 나타낸다.

 

그래프 특징

  • K가 증가할수록 SSE 감소
  • 어느 순간부터 감소 폭이 작아짐

이때 그래프가 팔꿈치(Elbow)처럼 꺾이는 지점이 나타난다.

이 지점을 '최적 클러스터 개수(K)로 선택한다.

 

예시)

Elbow Method 시각화 결과

 

즉, 급격히 감소하다가 완만해지는 지점을 선택한다.

 

5-3 Sihouetee Score vs Elbow Method

두 방법은 군집화 평가에서 자주 함께 사용된다.

 

구분 Silhouette Score Elbow Method
평가 방식 응집도 + 분리도 기반 클러스터 내부 거리 기반
목적 군집 품질 평가 최적 K값 선택
계산 비용 높음 낮음
정확도 비교적 높음 참고 수준
장점 군집 품질 평가 가능 계산 빠름
단점 대규모 데이터에서 계산 비용이 큼 명확한 elbow가 없을 수 있음

 

보통 다음과 같이 데이터를 분석한다.

  1. Elbow Method로 대략적인 K 범위 파악
  2. Silhouette Score로 군집 품질 평가
  3. 도메인 지식 반영

실제 데이터 분석에서는 단순히 알고리즘 결과만으로 클러스터 개수를 결정하지 않는다.

분석 목적이나 비즈니스 활용 가능성을 고려하여 의미 있는 그룹 수를 선택하기도 한다.

 

예를 들어, 고객 데이터를 군집화하는 경우 VIP 고객, 일반 고객, 신규 고객과 같이 실제 마케팅 전략에 활용 가능한 그룹 수로 클러스터를 설정하기도 한다.

 

또한, 데이터가 매우 큰 경우에는 실루엣 계산 비용이 커지기 때문에, 데이터 샘플링 후 평가하기도 한다.

 


 ✔️ 군집화 핵심 정리

  • 군집화는 정답이 없는 데이터에서 유사한 데이터 그룹을 찾는 비지도 학습 방법이다.
  • 대표 알고리즘에는 K-Means, Hierarchical Clustering, DBSCAN이 있다.
  • 군집 품질 평가는 Silhouette Score로 평가할 수 있다.
  • K-Means에서는 Elbow Method를 이용하여 적절한 K 값을 찾는다.
  • 실제 데이터 분석에서는 알고리즘 결과와 도메인 지식을 함께 고려해야 한다.

👉  머신러닝 & 딥러닝 기초 24편 | K-Means 알고리즘 완전 정리 (Clustering / 비지도학습)