군집 분석

군집 분석이란?

군집분석은 데이터셋에 있는 감춰진 패턴이나 그룹을 찾기 위해 군집화 알고리즘을 적용하는 것을 수반합니다. 따라서 군집분석은 탐색적 데이터 분석에 자주 사용되지만, 이상 감지와 지도 학습을 위한 전처리에도 사용됩니다.

군집화 알고리즘에서는 어떤 그룹(또는 군집) 내 데이터가 다른 군집의 데이터에 비해 더 유사성이 높도록 그룹을 형성합니다. 유클리드, 확률, 코사인 거리, 상관관계 등 다양한 유사성 척도를 활용할 수 있습니다. 대부분의 비지도 학습은 군집분석의 일종입니다.

군집화 알고리즘은 크게 두 가지로 구분할 수 있습니다.

  1. 널리 사용되는 k-평균 방법처럼, 어떤 데이터 점이 오직 하나의 군집에만 속하는 하드 군집화.
  2. 가우스 혼합 모델에서처럼, 어떤 데이터 점이 둘 이상의 군집에 속할 수 있는 소프트 군집화. 다수의 기본 소리의 조합으로 모델링할 수 있는 발화 내 음소, 다수의 생물학적 과정에 관여할 수 있는 유전자 등을 예로 들 수 있습니다.
K-평균은 지도 없이 데이터를 군집으로 분리하는 데 사용되는 군집 분석 방법입니다.

각 멤버의 평균인 중심을 별 모양으로 표시하여 그룹을 나타내는 k-평균 군집화.

가우스 혼합 모델은 데이터에 군집 멤버 확률을 할당하는 확률적 군집 분석 방법입니다.

다양한 군집들과 맺는 관계의 강도를 나타내는 소속 확률을 할당하는 가우스 혼합 모델.

군집분석은 다양한 영역과 응용 분야에서 패턴과 시퀀스를 식별하는 데 사용되고 있습니다.

  • 데이터 압축 방법에서 원시 신호 대신에 군집으로 데이터를 표현할 수 있습니다.
  • 분할 알고리즘에서 영상의 영역과 라이다 포인트 클라우드를 군집으로 표시할 수 있습니다.
  • 생물정보학에서는 유전자 군집화와 염기서열 분석을 활용합니다.

군집화 기법은 최소한의 레이블 지정 데이터로 초기 모델을 구축하는 준지도 학습에서 레이블 지정 데이터와 레이블 미지정 데이터 사이의 유사성을 수립하는 데도 사용하며, 원래 레이블이 지정되지 않은 데이터에 레이블을 할당하는 데도 사용합니다. 이와 대조적으로, 준지도 군집은 어떤 관측값들이 동일한 군집에 속하는지 또는 어떤 군집들이 특정한 결과 변수와 연관되었는지 여부와 같은 군집에 관한 가용한 정보를 군집화 과정에 도입합니다.

MATLAB®은 다음과 같이 널리 사용되는 많은 군집분석 알고리즘을 지원합니다.

  • 계층적 군집화는 군집 트리를 생성하여, 다층적인 군집 계층구조를 구축합니다.
  • k-평균 군집화는 군집 중심까지의 거리에 따라 데이터를 k개의 서로 다른 군집으로 분할합니다.
  • 가우스 혼합 모델은 다변량 정규 밀도 구성요소의 혼합물로서 군집을 구성합니다.
  • DBSCAN(밀도 기반 공간 군집화)는 고밀도 구역에서 서로 가까운 점들을 그룹화하고, 저밀도 영역에서 이상값을 계속 추적합니다. 무작위 비볼록 형상을 다룰 수 있습니다.
  • 자기 조직화 맵는 데이터의 위상과 분포를 학습하는 신경망을 이용합니다.
  • 스펙트럼 군집화는 입력 데이터를 그래프 기반 표현으로 변환하는데, 그래프 기반 표현에서는 원래 특징 공간에서보다 군집들이 더욱 잘 분리되어 있습니다. 군집의 개수는 그래프의 고유값을 조사하여 추정할 수 있습니다.

요점

  • 군집분석은 탐색적 데이터 분석에서, 이상 감지 및 분할에서, 또 지도 학습을 위한 전처리에도 자주 사용됩니다.
  • k-평균과 계층적 군집화가 널리 사용되고 있지만, 비볼록 형상인 경우에는 더욱 발전된 기법인 DBSCAN과 스펙트럼 군집화가 필요합니다.
  • 데이터에서 그룹을 발견하는 데 사용할 수 있는 추가적인 비지도 방법에는 차원 축소 기법과 특징 순위 지정 기법 등이 있습니다.

MATLAB의 군집분석 예제

k-평균 알고리즘을 사용하는 imsegkmeans 명령으로 MATLAB에서 원본 영상(헤마톡실린과 에오신으로 염색한 조직)에 3개의 군집을 할당하여 조직을 흰색, 검정색, 회색의 세 클래스로 분할했습니다. 직접 해 보고 이 코드 예제에 있는 관련 분할 방법도 시도해 보십시오.

헤마톡실린과 에오신으로 염색된 조직의 영상.
군집 분석을 사용하여 트리 클래스로 분할된 조직의 영상.

MATLAB의 군집분석 예제

k-평균 알고리즘을 사용하는 imsegkmeans 명령으로 MATLAB에서 원본 영상(헤마톡실린과 에오신으로 염색한 조직)에 3개의 군집을 할당하여 조직을 흰색, 검정색, 회색의 세 클래스로 분할했습니다. 직접 해 보고 이 코드 예제에 있는 관련 분할 방법도 시도해 보십시오.

참조: Statistics and Machine Learning Toolbox, MATLAB을 활용한 머신러닝, Image Processing Toolbox, 확률 분포