데이터를 서로 유사한 정도에 따라 군집으로 분류하는 작업.
군집 분류(
clustering) 작업에서는 동일한 군집에 속하는 데이터 간의 유사도가 그렇지 않은 데이터 간의 유사도보다 평균적으로 높도록 군집을 구성한다.
유사도는 데이터값을 여러 개의 군집으로 나누었을 때 그 군집 간의 거리 등을 이용하는 데이터의 유사한 값을 측정하는 것이다. 예를 들어 데이터를 좌표상의 점으로 표현하고 점들 사이의 거리를 구하는 유클리드 거리(Euclidean distance)를 이용하여 유사도를 판단할 수 있다. 그밖에 유사도
측정 방법으로는 데이터를 군집 분류하고 군집 사이의 각도를 구하는 코사인 유사도(두 객체 사이의 각도)와, 군집을 비교하여 –1과 1 사이의 값으로 관계를 표기하는
상관계수(
correlation of coefficient) 등이 있다.
군집 분류는
기계학습 분야에서 비지도형 기계학습(unsupervised
machine learning)에 주로 사용되는 방법으로, 유사 데이터의 분할을 통하여 데이터에서 유용한 지식을 추출하는 데 활용할 수 있다.
대표적인 군집 분류 방법으로 ‘계층적 군집 분류’와 ‘k-평균 군집 분류’를 들 수 있다. 계층적 군집 분류는 모든 객체가 하나의 군집에 포함되는 경우부터 객체 하나 하나가 각각의 군집을 구성하는 경우까지 단계적으로 군집을 구성하는 방법이다. 이 방법에는 상향식 방법과 하향식 방법이 있다. k-평균 군집 분류는 사용자가 군집의 개수 ‘k’를 미리 결정하는 방법으로, 초기화 상태에 따라 다양한 결과를 얻게 된다.
군집 분류는 통신, 의료, 생물학, 경영학, 마케팅, 검색 엔진 등 수많은 분야에서 다양한 방식으로 응용할 수 있다. 예를 들어,
통신 시스템에서는
단말 장치와 기지국 사이의 거리 데이터를 활용하여 서로 근접한
단말 장치들을 군집으로 분류하고 제어하는 기술로 응용할 수 있다. 특히 단말이 고밀집된 지역에서 효율적으로 주파수 및 자원을 할당하는 기술로 사용된다. 의료 분야에서는 의료
영상 데이터 군집 분류를 통한 질병 분류 기술, 유전자 발현 정보 분석 등에 활용한다.
