군집화

군집화의 개념

데이터 집합의 분포 특성을 분석해 서로 교차하지 않는 복수 개의 부분집합으로 나누는 문제. 이 때 생기는 부분집합들을 군집(cluster) 라고 한다. 군집화를 적용하는 문제의 특징은 (1) 입력값에서 해당 입력값의 분류를 나타내는 클래스가 없거나 (2) 입력값에 대한 분류(레이블)를 하는 레이블링에 대한 비용이 많은 경우를 꼽을 수 있다.

분류와 군집화 비교

분류 문제는 각 데이터가 특정 클래스에 속하여, 클래스 레이블이 명백하게 정해져있는 경우로, 클래스별로 데이터 분포 특성을 분석하고, 여기서 클래스들을 구분할 수 있는 결정 경계를 찾는 방향으로 진행된다. 다시 말해 분류 문제는 입력 데이터 클래스를 가진 지도학습의 분제들이다.

군집 문제는 앞서 살펴본대로 클래스에 대한 개념이 없거나 입력 데이터에 대한 레이블링 비용이 많이 발생할 때에도 이들을 컴퓨터에 의해 자동으로 분류할 수 있도록 적용한다. 다시 말해 군집 문제는 입력 데이터에 클래스가 없는 비지도학습의 문제들이다.

비교 항목 분류 군집
개념 입력값의 특성을 분석해 속할 확률이 놆은 클래스로 분류 데이터의 분포 특징을 분석해 유사한 데이터끼리 묶음
데이터 입력값이 데이터에 대한 특징과 데이터의 클래스가 주어지는 경우 입력값이 데이터의 클래스 없이 데이터의 특징들만 있는 경우
학습 유형 지도학습 비지도학습

군집화 적용 방법론

방법론 영문 설명
K-평균 군집화 K-means K-means clustering - 데이터를 K 개의 군집으로 나누는 방법
- 데이터를 중심(centroid)를 기준으로 분할한다.
초기 중심값과 K값 선택에 민감하게 성능이 좌우됨
계층적 군집화 hierarchical clustering - 데이터 간의 계층적 관계를 기반으로 군집화
- 하향식(분할적) 또는 상향식(병합적) 접근법이 있다.<br- 작은 데이터셋에 적합
- 시각화를 통해 군집 해석이 가능함
가우시안 혼합 모델 Gaussian mixture - 데이터가 여러 가우시안 분포로부터 생성된다고 가정
- 군집에 속할 확률 값을 계산하는 방법
- 일반적으로 K-means 보다 정교하다
- 데이터 분포가 복잡한 경우 유리한 방법론
SOM Self Organizing Feature Map - 신경망을 활용한 군집화 방법
- 고차원의 데이터를 2차원 공간으로 시각화해 이해를 돕는다.
- 데이터 패턴을 분석하고 군집화에 활용 가능

데이터 간 유사성을 정의하는 기준들

-유쿨리드 거리, 맨해튼 거리, 코사인 유사도, 마할라노비스 거리, 척도 거리, 피어슨 상관 계수, 스피어만 순위 상관 계수, 교차 엔트로피, KL 다이버전스, 제이카드 유사도 등이 있다.

군집화 적용 분야

(1) 이미지 처리 : 이비지 분할, 색상 분류 등
(2) 문서 분석 : 토픽 모델링, 문서 분류
(3) 생물학 : 유전자 데이터 군집화, 생물 종 분류
(4) 이상 탐지 : 네트워크 이상 탐지, 금융 사기 탐지
(5) 마케팅 : 고객 세분화, 타겟 마케팅

Reference

머신러닝 (이관용, 박혜영 공저)