지난 포스팅에서 군집(clustering)과 분류(classification)의 간단한 정의와 차이점을 알아보았다.
이번에는 군집분석(clustering)에 대해 좀 더 깊게 알아보겠다.
1. 군집분석이란?
군집분석이란? 개체를 분류하기 위한 명확한 분류기준이 존재하기 않거나 기준이 밝혀지지 않은 상태에서
주어진 데이터들의 특성을 고려해 같은 그룹(클러스터)를 정의하고, 다른 클러스터의 개체보다 서로 더 유사한 개체가 되도록 그룹화하여 그룹의 대표성을 찾아내는 방법이다.
여기서 cluster란?
cluster란? 비슷한 특성을 가진 데이터들의 집합이다.
2. 군집분석의 원리
군집분석의 원리는 크게 두 가지가 있다.
① 군집 내 응집도 최대화
② 군집 내 분리도 최대화
① 군집 내 응집도 최대화란? 같은 군집 내 응집도를 최대화 하는 것으로, 같은 군집 내 객체들의 거리를 최소화하는 것이다.
② 군집 내 분리도 최대화란? 다른 군집 간 거리를 최대화하는 것이다.
즉, 같은 군집 내에서는 객체들이 서로 붙어있고, 다른 군집과는 멀리 떨어져 있도록 하는 것이다.
3. cluster의 기준 : 거리
어떻게 군집화 할 것인가에 대한 기준에는 "거리"가 있는데,
거리척도의 유형에는
① 유클리디안 거리(Euclidean Distance)
점 p = (p1, p2,..., pn)와 q = (q1, q2,..., qn)가 있을때,
② 맨하탄 거리(Manhattan distance) 등이 있다.
4. 군집분석 유형
군집분석의 유형에는
① 분리형(비계층적) 군집화(Partitioning Clustering)
② 계측정 군집화(Hierarchical Clustering)
가 있다.
① 분리형(비계층적) 군집화(Partitioning Clustering)는 사전에 군집의 수를 정해주어 대상들이 군집에 할당되도록 하는 것으로, 대표적으로 K-Means algorithm이 있다.
② 계층적 군집화(Hierarchical Clustering)는 각 객체가 n개(객체의 수)의 독립적인 각각의 군집에서 출발하여 점차 거리가 가까운 대상과 군집을 이루어 가는 것으로, 대표적으로 H-Clustering algorithm이 있다.
① Partitioning Clustering에는 다시
①_1 중심 기반(Center-based clustering)
①_2 밀도 기반(Density-based clustering)
등이 있는데,
①_1 중심 기반(Center-based clustering)은 프로토타입 기반(Prototype-based)이라고도 하며,
"동일한 군집에 속하는 데이터는 어떠한 중심을 기준으로 분포할 것이다." 라는 가정을 기반으로 한다.
대표적으로 K-Means algorithm이 있다.
①_2 밀도 기반(Density-based clustering)은 "동일한 군집에 속하는 데이터는 서로 근접하게 분포할 것이다." 라는 가정을 기반으로 하며, 대표적으로 DBSCAN algorithm이 있다.
①_1 중심 기반과 ①_2 밀도 기반 군집분석의 차이는 아래 그림으로 명확하게 알 수 있다.
5. 군집분석의 목적
군집분석을 하는 목적은
유사한 성향을 가진 개체를 모아 군집을 형성하여
군집간의 특성을 관찰하거나 목표변수와의 관계를 파악하기 위함이다.
예측성 분석이 아니기 때문에 주로 분석 초기 단계에서 데이터의 특성을 파악하기 위해서 활용된다.
'AI > Clustering' 카테고리의 다른 글
[R] DBSCAN 파라미터 조정방법 in r (How to select parameters for 'dbscan()' in r) (2) | 2019.08.26 |
---|---|
[R] DBSCAN R 코드, 예시, 해석, 파라미터 조정 방법 (0) | 2019.08.20 |
군집과 분류의 차이 (difference of clustering and classification) (0) | 2019.08.17 |