Data Analysis/ML & DL

[ML] 군집분석

Bay Im 2024. 6. 8. 17:43
  • 군집분석 (Cluster Analysis)
    • 주어진 데이터 개체들을 소속 집단의 정보가 없는 상태에서 서로 유사한 것들끼리 그룹화하는 비지도 학습 방법
    • 같은 군집내의 개체들은 서로 높은 유사성을 갖고 다른 군집에 속한 개체들은 상대적으로 낮은 유사성을 갖도록 군집화가 이루어짐
    • 거리 측도는 군집화를 위한 대표적인 유사성 측도
      • 두 개체간의 거리가 가까울수록 서로 유사성이 커진다.
      • 유클리디언 거리가 가장 일반적으로 사용되는 거리 측도이다.
        • 유클리디언 계산법 = (x1-x2)^2 + (y1-y2)^2 에 루트 씌우기
    • 대표 기법
      • 계층적 군집화
      • K-평균 군집화(K-means clustering)
  • 계층적 군집화
    • 절차
      • 병합 (agglomerative)
        • 가까운 개체끼리 군집화 시키는 방법
        • 개별 → 전체
      • 분리 (divisive)
        • 먼 개체들을 나누어 가는 방법
        • 전체 → 개별
    • 전체 각 개체를 서로 유사한 군집끼리 묶어가면서 최종적으로는 1개의 군집이 이루어질 때까지 군집화 진행
    • 개체(군집) 사이의 거리를 유사도 행렬 형태로 표현하여 가장 가까운 개체를 연결
      • 군집간 거리 구하는 방법
        • min: 가장 가까운 거리를 기준 거리로 사용
        • max: 가장 먼 거리를 기준 거리로 사용
        • group average: 모든 개체들의 거리를 평균한 것을 기준 거리로 사용
        • between centroids distance: 군집의 중심을 기준 거리로 사용
        • ward’s method: Ward’s 거리를 기준 거리로 사용
  • 비계층적 군집화
    • K-평균 군집화 (K-means Clustering)
      • 임의의 군집 중심점을 선택하여 가장 가까운 데이터들을 선택하는 군집화 기법
      • 중심점으로 모인 자료들의 평균을 새로운 중심점으로 하여 이 과정을 반복, 더 이상 군집 변화가 없가나 미리 정한 반복 수에 도착하면 반복 중단
      • 속성의 수가 많을수록 정확도가 떨어진다.
      • 특성들의 스케일이 다를 경우 표준화하여 분석한다.
      • 몇 개의 군집을 선택해야할지 정하는 추가 방법 필요 → 엘보우 방법
      • 순서
        1. 최초 K개의 군집 중심점을 임의로 배치
        2. 각 데이터 점들을 가장 가까운 중심점으로 할당 (군집화)
        3. 각 군집에 할당된 데이터 점들을 기반으로 해당 군집의 중심점을 갱신 (업데이트)
        4. 더이상 중심점이 업데이트 되지 않을 때 까지 2번과 3번 반복
    • 엘보우 방법 (elbow)
      • 적절한 군집의 수를 정하는 방법
      • 이너셔 (inertia)란 군집 내의 샘플들이 군집의 중심으로 얼마나 집중되었는지 알려준다.
      • 군집의 수가 늘어날수록 군집의 크기는 줄어들고, 이너셔도 함께 감소
      • 이너셔의 변화를 그래프로 그려서 팔꿈치 모양으로 꺽이는 지점을 적절한 군집수로 결정
    • 실루엣 분석
      • 적절한 군집의 수를 정하는 방법
      • s(i) = (b(i)-a(i)) / (max(a(i), b(i))
      • 실루엣 샘플
        • 개별 데이터가 가지는 군집화 지표로, 같은 군집 내의 데이터가 얼마나 가깝게 군집화되었고 다른 군집의 데이터와는 얼마나 멀리 분리되어있는지 나타내는 지표
        • -1~1 사이의 값을 가지며 1에 가까울수록 근처의 군집과 더 멀리 떨어져있고 0에 가까울수록 가까워진다고 해석
        • 부호가 음수인 경우 다른 군집에 데이터가 할당된 경우이다.
      • 실루엣 계수
        • 모든 실루엣 샘플의 평균값
        • 0~1 사이의 값을 가지며 1에 가까울수록 좋다.
        • 좋은 군집화는 개별 군집 실루엣 계수 평균값이 전체 실루엣 계수 평균값과 크게 차이나지 않아야 한다.