본문 바로가기
부트캠프(LIKELION AIS7)/수업

[AI스쿨 7기, 10주차] Ch9. 군집화(유사도 척도, 유클리디안, 분리형 군집화, 덴드로그램, K평균군집화, centroid)

by aimaimee 2023. 5. 10.

K-MOOC '실습으로 배우는 머신러닝' 김영훈 교수님

Ch9. 군집화(유사도 척도, 유클리디안, 분리형 군집화, 덴드로그램, K평균군집화, centroid)

Ch9. Clustering(군집화)

군집화 개념

유사한 속성들을 갖는 관측치들을 묶어 전체 데이터를 몇 개의 개인 군집(그룹)으로 나누는 것

  • 군집화 기준
    • 군집 내 유사도 최대화 : 동일한 군집에 속한 관측치들의 유사도
    • 군집 간 유사도 최소화 : 상이한 군집에 속한 관측치들은 다르게
  • 분류 vs 군집화
    • 분류 : 사전 정의된 범주가 있는(labeled) 데이터로부터 예측 모델을 학습하는 문제(Supervised learning)
    • 군집화 : 사전 정의된 범주가 없는(unlabeled) 데이터에서 최적의 그룹을 찾아나가는 문제(unsupervised learning)
  • 적용 사례
    • 특성별 고객군집(Customer Segmentation)
    • 유사 문서 군집화
    • 서울시 오존 농도의 패턴 군집화(25개 구)
    • 반도체 웨이퍼의 fail bit map 군집화

유사도 척도

어떤 거리 척도를 사용하여 유사도를 측정할 것인가?

  • 유클리디안 거리(Euclidean Distance)
    • 일반적으로 가장 많이 사용
    • 관측치 X, Y 값 간 차이 제곱합의 제곱근
  • 맨하탄 거리(Manhattan Distance)
    • 맨하탄 도로를 예시로 들면 수직으로 뚫고 갈 수 없음
    • X에서 Y로 이동 시 각 좌표축 방향으로만 이동할 경우에 계산되는 거리
  • 마할라노비스 거리(Mahalanobis Distance)
    • 변수 내 분산, 변수 간 공분산을 모두 반영하여 X, Y 간 거리를 계산
    • 데이터의 공분산행렬이 단위행렬일 경우 유클리디안 거리와 동일
    • 공분산행렬의 역행렬을 삽입해서 패널티를 준다.
    • 있을 법한 데이터의 분포는 감안해서 거리를 조금 짧게 생각
  • 상관계수 거리(Correlation Distance)
    • 데이터 간 Pearson correlation 값을 거리 척도로 직접 사용
    • 데이터 패턴의 유사도 및 비유사도를 반영할 수 있다.
    • -1<= r <=1

군집화 알고리즘의 종류

  • 분리형 군집화
    • 전체 데이터의 영역을 특정 기준에 의해 동시에 구분
    • 각 개체들은 사전에 정의된 개수의 군집 중 하나에 속함
  • 계층적 군집화
    • 개체들을 가까운 집단부터 차근차근 묶어나감
    • 군집화 결과 뿐만 아니라 유사한 개체들이 결합되는 dendrogram도 생성
  • 자기조직화 지도
    • 2차원의 격자에 각 개체들이 대응하도록 인공 신경망과 유사한 학습을 통해 군집 도출
  • 분포 기반 군집화
    • 데이터의 분포를 기반으로 높은 밀도를 갖는 세부 영역들로 전체 영역을 구분

계층적 군집화

  • 계층적 트리모형을 이용하여 개별 개체들을 유사도가 높은 순서로 통합
  • 덴드로그램(dendrogram)으로 시각화 가능
  • 사전에 군집의 수를 정하지 않아도 수행 가능
  • 모든 개체들 사이 거리에 대한 유사도 행렬 계산
  • 거리가 인접한 관측치끼리 군집 형성
    • 두 군집 사이의 유사도/ 거리 측정 방식 : 단일연결법(min), 완전연결법(max), 평균 연결법(group average), etc
    • 유사도/ 거리 측정 방식에 따라 군집화 결과는 차이가 날 수 있다.
  • 유사도 행렬 업데이트
  • 과정 반복

K평균군집화(K-means clustering)

  • 대표적인 분리형 군집화 알고리즘
  • 각 군집은 하나의 중심(centroid)를 가짐
    • 초기 중심(centroid)를 K개 임의로 생성
    • 초기 중심 설정에 따라 군집화 결과가 다르게 나타날 수 있다.
    • 무작위 초기 중심 설정의 위함을 피하고자 반복 수행으로 가장 여러번 나타나는 군집을 사용하거나, 일부 데이터만을 샘플링하여 계층적 군집화 수행 후 초기 군집 중심 설정, 데이터 분포 정보를 사용하는 등의 방법을 사용한다.
  • 각 개체는 가장 가까운 중심에 할당하는 것이 원칙
  • 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성
    • 각 군집의 중심을 다시 계산
    • 중심이 변하지 않을 때까지 과정 반복
  • 사전에 군집의 수 K를 정해줘야 한다.(Hyperparameter)
  • 교집합을 허용하지 않는다.
  • ci는 중심(c1~ck)

단점

  • 서로 다른 크기의 군집을 잘 찾아내지 못한다.
  • 서로 다른 밀도의 군집을 잘 찾아내지 못한다.
  • 지역적 패턴이 존재하는 군집을 판별하기 어렵다. (원형일 때 잘 작동)

최적의 군집수

다양한 군집 수에 대해 성능 평가 지표를 도입해 최적의 군집 수 선택
엘보우 포인트에서 최적 군집 수가 결정되는 경우가 일반적

평가 지표

분류 알고리즘처럼 모든 상황에 적용 가능한 성능 평가 지표 부재

  • 내부 평가 지표
    • Sum of squared error(SSE)
    • Silhouette : 내부거리a(i) 최소화, 외부거리b(i) 계산, -1<=s(i)<=1, 크면 클수록 군집화가 잘 되었다.
    • Dunn Index
  • 외부 평가 지표 : Rand Index, Jaccard Coefficient, Folks and Mallows Index

댓글