Table of Contents

ML

클러스터링 Clustering

꼬꼬마코더 2024. 5. 29. 18:33
728x90

클러스터링은 데이터 분석 및 머신 러닝에서 널리 사용되는 기법으로, 유사한 특성을 가진 데이터 포인트들을 그룹으로 묶는 방법을 의미합니다. 클러스터링은 주로 탐색적 데이터 분석, 패턴 인식, 이미지 분석, 시장 세분화 등 다양한 분야에서 활용됩니다. 클러스터링의 주요 목적은 데이터의 구조를 이해하고, 데이터 내의 자연스러운 그룹이나 패턴을 발견하는 것입니다.

클러스터링 알고리즘의 종류와 주요 개념에 대해 자세히 설명하겠습니다.

1. 클러스터링의 주요 개념

  • 클러스터(Cluster): 유사한 특성을 가진 데이터 포인트들의 모음입니다. 각 클러스터 내의 데이터 포인트들은 서로 유사성이 높고, 다른 클러스터의 데이터 포인트들과는 유사성이 낮습니다.
  • 유사성(Similarity) 또는 거리(Distance): 데이터 포인트들 간의 유사성을 측정하는 방법으로, 일반적으로 유클리드 거리, 맨하탄 거리 등이 사용됩니다. 유사성이 높을수록 거리값은 낮아집니다.

2. 클러스터링 알고리즘의 종류

클러스터링 알고리즘은 다양한 종류가 있으며, 각 알고리즘은 데이터의 특성과 목적에 따라 다르게 적용됩니다. 대표적인 클러스터링 알고리즘으로는 다음과 같은 것들이 있습니다.

K-평균 클러스터링 (K-Means Clustering)

  • 원리: 데이터를 K개의 클러스터로 나누기 위해 중심점(센트로이드)을 반복적으로 갱신하면서 클러스터를 형성합니다.
  • 과정:
    1. K개의 초기 중심점을 임의로 선택합니다.
    2. 각 데이터 포인트를 가장 가까운 중심점에 할당합니다.
    3. 할당된 데이터 포인트들의 평균을 계산하여 새로운 중심점을 갱신합니다.
    4. 중심점이 더 이상 변화하지 않을 때까지 2~3 단계를 반복합니다.
  • 장점: 구현이 간단하고, 계산 속도가 빠릅니다.
  • 단점: K값을 미리 정해야 하며, 초기 중심점 선택에 민감하고, 구형 클러스터만 잘 잡아냅니다.

계층적 클러스터링 (Hierarchical Clustering)

  • 원리: 데이터 포인트들 사이의 유사성에 기반하여 계층적인 클러스터 구조를 만듭니다.
  • 종류:
    • 병합적 방법 (Agglomerative): 각 데이터 포인트를 개별 클러스터로 시작하여, 가장 가까운 클러스터들을 반복적으로 병합합니다.
    • 분할적 방법 (Divisive): 전체 데이터를 하나의 클러스터로 시작하여, 점차적으로 클러스터를 분할합니다.
  • 과정: 덴드로그램(dendrogram)을 사용하여 클러스터의 계층 구조를 시각화할 수 있습니다.
  • 장점: 클러스터 수를 사전에 정할 필요가 없고, 다양한 형태의 클러스터를 잘 잡아낼 수 있습니다.
  • 단점: 계산 복잡도가 높아 대규모 데이터에 비효율적일 수 있습니다.

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

  • 원리: 밀도 기반 클러스터링으로, 데이터 포인트의 밀도를 기준으로 클러스터를 형성합니다.
  • 과정:
    1. 특정 반경(ε) 내에 있는 포인트의 개수가 최소 포인트 수(minPts) 이상인 포인트를 중심으로 클러스터를 확장합니다.
    2. 밀도가 낮은 포인트는 노이즈로 간주합니다.
  • 장점: 클러스터의 형태에 구애받지 않고, 노이즈 데이터도 처리할 수 있습니다.
  • 단점: 파라미터 ε와 minPts 설정에 민감합니다.

가우시안 혼합 모델 (Gaussian Mixture Model, GMM)

  • 원리: 데이터가 여러 가우시안 분포의 혼합으로 이루어져 있다고 가정하고, 각 가우시안 분포의 매개변수를 추정합니다.
  • 과정: 기대 최대화(EM) 알고리즘을 사용하여 매개변수를 추정하고, 각 데이터 포인트가 각 가우시안 분포에 속할 확률을 계산합니다.
  • 장점: 클러스터의 형태가 타원형인 경우에도 잘 동작합니다.
  • 단점: 계산 복잡도가 높고, 초기값에 민감합니다.

3. 클러스터링 평가 방법

클러스터링 결과를 평가하는 방법은 여러 가지가 있으며, 대표적인 평가 지표로는 다음과 같은 것들이 있습니다.

  • 실루엣 계수 (Silhouette Coefficient): 각 데이터 포인트가 얼마나 잘 클러스터에 속하는지를 측정합니다.
  • 다빈치 스코어 (Davies-Bouldin Index): 클러스터 내의 거리와 클러스터 간의 거리를 비교하여 평가합니다.
  • ARI (Adjusted Rand Index): 클러스터링 결과와 실제 레이블 간의 일치도를 측정합니다.

클러스터링은 데이터의 특성과 목적에 맞게 적절한 알고리즘을 선택하여 적용해야 하며, 결과를 해석하는 과정에서도 도메인 지식이 중요합니다.

'ML' 카테고리의 다른 글

Optimal Binning  (0) 2024.05.30
클러스터링에서 거리 계산 방법  (0) 2024.05.29
하이퍼파라미터 튜닝 Hyperparameter tunning  (0) 2024.05.29
교차검증(Cross-Validation)  (0) 2024.05.29
Classification Model 평가 및 지표 해석  (0) 2024.05.29