빅데이터 모델링 - 분석기법 - 군집분석

 

군집분석 정의

  • 비지도학습의 일종
  • 주어진 각 개체들의 유사성을 분석해서 높은 대상끼리 일반화된 그룹으로 분류하는 기법
  • 군집에 속한 개체들의 유사성과 서로 다른 그룹간의 상이성을 분류
  • 규칙 내지 결과 없이 주어진 데이터들을 가장 잘 설명하는 그룹 또는 클러스터를 찾을 수 있는 방법

군집분석 활용 분야

  • 컴퓨터 : 인터넷 사기/스팸 패턴 발견, 보안, 클러스터 구성
  • 생물학 : 생물체 분류 연구
  • 천문학 : 천체 데이터 분석
  • 도시계획 : 주거 그룹 판별 조사
  • 환경 : 지구 환경, 기상/해양 변화 조사
  • 금융 : 주식 군집 분석(관계 분석)
  • 마케팅 : 고객분석, 시장세분화
  • 기타 : 소셜 네트워크 분석, 이미지 분할 등

군집분석 기본 가정

  • 하나의 군집 내에 속한 개체들의 특성은 동일함
  • 군집의 개수 또는 구조와 관계없이 개체간의 거리를 기준으로 분류함
  • 개별 군집의 특성은 군집에 속한 개체들의 평균값으로 나타냄

군집분석의 척도

  • 군집분석의 유사성 계산은 방법에 따라 거리와 유사성으로 구분
  • 거리
    • 값이 작을수록 두 관찰치가 유사함을 의미
    • 유클리드 거리, 맨하탄 거리 등
  • 유사성
    • 값이 클수록 두 관찰치가 서로 유사함을 의미
    • 코사인값, 상관계수 등

유클리드 거리(Euclidean Distance)

  • 2차원 공간에서 두 점간의 거리로 두 점을 잇는 가장 짧은 거리 개념인 피타고라스 정리를 통해 측정
  • 민코우스키 거리(m=2) 적용시 L2 거리로도 불림


맨하탄 거리(Manhattan Distance)

  • 사각형 격자, 블록으로 이뤄진 지도에서 출발점에서 도착점까지 가로지르지 않고 도착하는 최단거리 개념
  • 택시 거리, 시가지 거리, 민코우스키 거리(m=1) 적용 시 L1 거리로도 불림
  • 공간벡터 사이에 차원 실수를 직교 좌표계에 일정한 좌표축의 점 위에 투영한 선분길이합으로 각 변수 값 차이의 절대값의 합

  • 예시) (0,0)을 출발점, (6,6)을 도착점으로 설정한 뒤 출발점에서 도착점까지의 유클리드 거리와 맨하탄 거리의 값은?


민코프스키 거리(Minkowski Distance)

  • m차원 민코프스키 공간에서의 거리를 의미
  • m=1 일 때 맨하탄 거리와 같고 m=2일 때 유클리드 거리와 같음


마할라노비스 거리(Mahalanobis Distance)

  • 두 특징 간 나타나는 데이터의 방향성과 상관도를 나타낸 공분산 행렬 개념을 저굥하여 정규 분포에서 특정 값이 얼마나 평균에서 멀리 있는지를 나타낸 거리
  • 일반적인 다변량 데이터에서 두 데이터 간의 거리를 파악하기 위해 서로 다른 의미를 지닌 특징 간 상관관계 고려

<다변량 데이터 위치 및 분산을 정의하는 세 가지 방법을 사용하는 가상의 2차원 마할라노비스 거리의 예, 출처 위키백과>


자카드 거리(Jaccard Distance)

  • 비교 대상인 두 개의 객체를 특징들의 집합으로 간주하며 범주형 데이터에서 비유사성을 측정하는 지표
  • 자카드 인덱스 : 집합 X와 집합 Y의 교집합의 원소의 개수를 집합 X와 집합 Y의 합집합의 원소의 개수로 나눈 값
  • 자카드 인덱스를 뺀 값이 자카드 거리로 비유사성 측도로 계산


군집분석의 종류

  • 병합 방식
    • N 군집에서 시작, 하나의 군집이 남을 때까지 순차적으로 유사한 군집들을 병합
  • 분할 방식
    • 전체 하나의 군집에서 시작, N 군집으로 분할

계층적 군집분석

계층화된(상위-하위 그룹) 구조로 군집 형성(군집 대상 중복 없이 작은 자료군기반)

군집 수 명시가 필요하지 않고 덴드로그램을 통해 결과 표현 시각화

* 덴드로그램 : 개체들이 결합되는 순서를 나타내는 트리형태 구조

  • 계층적 병합 군집화
    • N개의 군집으로 시작
    • 가장 근접하고 유사한 두 개의 군집들이 1개 군집으로 병합
    • 가장 거리가 짧은 두 개의 군집들이 순차적으로 병합
  • 최단 연결법(single-link)
    • 군집과 군집/데이터 간의 거리 중 최단거리(min) 값을 거리로 산정
  • 최장 연결법(complete-link)
    • 군집과 군집/데이터 간의 거리 중 최장거리(max) 값을 거리로 산정
  • 평균 연결법(average-link)
    • 군집과 군집/데이터 간의 거리의 평균거리(mean) 값을 거리로 산정
  • Ward 연결법
    • 군집 내 편차들의 제곱합을 고려한 군집 내 거리 기준

비계층적 군집분석(분할적 군집)

사전 군집 수로 표본을 나누며 레코드(군집)들을 정해진 군집에 할당

  • K-평균(K-means) 군집 분석
    • 주어진 데이터를 k개의 클러스터로 묶어 각 클러스터 간 거리 차이의 분산을 최소화하는 방식
    • 군집들 내부의 분산을 최소화하여 각각의 사례를 군집들 중 하나에 할당
      1. k개(중심점 임의 지정)의 초기 군집으로 시작
      2. 가장 가까운 중심을 가진 군집에 할당
      3. 군집 중심 재설정, 관찰치 변동 시 군집 중심 재계산
      4. 2-3번 과정을 허용오차 이내 반복
      5. 군집 사이에 관찰치 이동으로 분산 증가될 시 군집화 중단
  • 밀도 기반 클러스터링(DBSCAN)
    • 개체들의 밀도 계산을 기반으로 밀접하게 분포된 개체들끼리 그루핑
    • 파라미터로 밀도계산 범위와 하나의 그룹으로 묶는 최소 개체수 필요
      1. 임의의 점 p에서 범위(epsilon) 내에 포함된 점들의 개수가 개체수(minPts) 이상이면 p 중심 군집 형성
      2. p와 동일한 군집에 있는 다른 q에 대해서 1번 단계 진행
      3. 더 이상 그룹에 포함할 개체가 없으면 해당 군집이 아닌 다른 점 중심으로 1,2단계 진행
      4. 만약 r 중심 범위 내에 최소 개체수 이상의 개체가 존재하지 않을 시 r은 이상치로 처리
        • 이상치들은 충분히 고려없이 제외 가능
        • 유형 간 밀도 차이가 뚜렷하지 않다면 밀도 기반 클러스터링을 대안으로 추천
  • 확률 분포 기반 클러스터링(Gaussian Mixture Model)
    • 전체 데이터의 확률 분포가 가우시간 분포 조합으로 이뤄졌음을 가정하고 각 분포에 속할 확률이 높은 데이터들 간 군집을 형성하는 방법
    • 개별 데이터가 정규 분포 상에서 어떤 분포에 속할지 더 높은 확률로 배정된 부문으로 군집화
    • 데이터가 정규 분포 조합 가설에 어긋나면 클러스터링이 부적절하게 형성
    • 많은 계산량으로 인해 대용량 데이터 처리가 필요할 때 부적합

군집분석의 장단점

  • 장점
    • 다양한 데이터 형태에 적용 가능
    • 특정 변수에 대한 정의가 필요하지 않는 적용이 용이한 탐색적 기법
  • 단점
    • 초기 군집 수, 관측치간의 거리 등의 결정에 따라 결과가 다름
    • 사전 주어진 목표가 없으므로 결과 해석이 어려움

참고