군집분석(Cluster Analysis)
군집분석은 개인 또는 여러 개체 중에서 유사한 속성을 지닌 대상을 몇 개의 집단으로 그룹화 한 다음 각 집단의 성격을 파악함으로써 데이터 전체의 구조에 대해 이해하고자 하는 탐색적 분석 기법이다.
N개의 관찰치를 대상으로 p개의 변수를 측정 했을 때 관측한 p개의 변수 값을 이용하여 N개의 관찰치 사이의 유사성 또는 비유사성의 정도를 측정하여 관찰치들을 가까운 순서대로 군집화 한다.
군집분석은 속성이 비슷한 잠재 고객들끼리 그룹화 하여 시장을 세분화하는 방법에 자주 활용되고 있으며 나이, 학력, 소득 제품, 매장 등 유사한 대상끼리 집단으로 묶고자 하는 경우 사용할 수 있다.
군집분석의 목적은 관찰치들의 유사성을 측정한 후에 가까운 순서대로 관찰치들을 군집화 하는 것이다. 두 관찰치의 유사성 측정은 방법에 따라 거리와 유사성으로 구분 할 수 있다.
- 거리는 값이 작을수록 두 관찰치가 서로 유사한 것을 의미
- 유사성은 값이 클수록 두 관찰치가 서로 유사함을 의미
[유사성/비유사성을 분류하는 거리계산]
일반적으로 군집분석에는 고객 혹은 분석 대상간의 유사성을 유클리디안 거리로 측정하고 있다. 이차원 공간에서 두 점간의 거리는 피타고라스 정리에 의하여 쉽게 구할 수 있으며 이렇게 구한 거리를 유클리디안 거리라 한다.
- Pearson 상관계수(유사성이 높다 = 거리가 가까움)
- 유클리디안 거리 : 두 관찰치 사이의 거리 측정
- 유클리디안 제곱거리 : 유틸리디안 거리의 제곱 값
- 체비셰프 거리 : 두 관찰치 사이의 거리측정으로 변수 값의 최대 차이의 절대 값
- 맨해튼 거리 : 두 관찰치 사이의 거리로 각 변수 값 차이의 절대값의 합
- 민코프스키 거리 : 유클리디안 거리의 일반화된 경우로 p는 양의 정수로 디폴트 값은 2이다.
군집분석에서 군집을 분류하는 가장 기본적인 가정은 군집 내에 속한 객체들의 특성은 가능한 한 동질적이고 서로 다른 군집에 속한 객체들간의 특성은 서로 이질적이 되도록 각각의 객체를 분류해야 한다는 것이다. 개별 군집의 특성은 각 군집에 속한 구성원의 평균값으로 나타낼 수 있으며 이를 집단 프로필 이라고 한다. 따라서 군집분석의 알고리즘은 군집 내 구성원의 동질성과 군집간 구성원의 이질성을 최대화 하는 방법이 된다.
[계층적 방법(Hierarchical Cluster Procedures)]
NxN 거리 행렬이 주어진 경우에 계층적 군집방법은 병합적 (agglomerative)방법과 분할적(division)방법이 있다.
- 최단 연결법(single linkage method) : SINGLE 가장 가까운 거리에 있는 두 대상을 먼저 군집화하고 그 군집과 대상 또는 다른 군집과의 거리를 비교할 때 군집내의 대상들 중 가장 가까운 거리를 선정하여 군집화 하는 방식
- 최장 연결법(complete linkage method)
- 중심 연결법 (centroid linkage method)
- 중앙값 연결법 (median linkage method)
- 평균 연결법 (average linkage method)
- 병합적 방법은 가까운 개체들끼리 묶어 감으로써 군집을 만들어 나가는 방법으로 우선 가장 가까운 2개의 개체를 묶어서 하나의 군집을 만들고 나머지 [N-2]개의 개체는 각각 하나의 군집을 만든다. 이와 같은 방법으로 [N-1] 단계를 반복하면 결국 N개의 개체가 모두 묶여서 하나의 군집을 만들게 된다.
- 분할적 방법은 먼 개체들을 나누어 가는 방법으로 먼저 N 개의 개체를 2개의 군집으로부터 나누는 것으로 시작되어 병합적인 방법의 역순으로 진행 된다. 군집들이 병합 또는 분리되는 과정은 나무 모양 그림(dendrogram)을 이용하여 간단히 표현 될 수 있다.
[비계층적 방법(Nonhierarchical Cluster Procedures)]
비계층적 군집방법으로 가장 널리 쓰이고 있는 방법은 K-means 군집화 방식이다. K-means 군집화 방식은 순차적으로 군집화 과정이 반복되기 때문에 순차적 군집분석이라고도 한다. K-means 군집화 방식은 계층적인 군집화의 결과에 의거하여 미리 군집의 수를 정해야 하며 군집의 중심(Cluster center)도 정해야 한다. 이 방법은 군집의 수를 미리 정하고 각 개체가 어느 군집에 속하는지를 분석하는 방법으로 대량의 데이터의 군집분석에 유용하게 이용되는 방법이다.
- 순차적 군집분석법(sequential threshold method) : 군집의 중심이 정해지고 사전에 지정된 값의 거리 안에 있는 모든 관측 대상들은 같은 군집으로 분류된다. 한 군집이 형성되고 난 다음에 새로운 군집의 중심이 결정되면 이 중심을 기준으로 일정한 거리 안에 있는 모든 관측대상이나 속성은 또 다른 군집으로 분류하게 된다. 이러한 과정은 모든 관측대상이 최종적으로 군집화 될 때까지 계속 반복 된다.
- 동시 군집분석법(paralleled threshold method) : 사전에 지정된 값 안에 관측대상이나 속성이 속하는 경우나 몇 개의 군집이 동시에 결정되는 경우를 말한다.
- 최적할당 군집분석법(optimizing partitioning method) : 사전에 주어진 군집의 수를 위한 군집 내 평균거리를 계산하는 최적화 기준에 의거하여 최초의 군집에서 다른 군집으로 다시 할당 될 수 있다.
[참고자료]
http://ko.wikipedia.org/wiki/%EB%A7%A8%ED%95%B4%ED%8A%BC_%EA%B1%B0%EB%A6%AC
'SW Engineering > 머신러닝 딥러닝' 카테고리의 다른 글
신경망 분석(Neural Network) (0) | 2015.07.16 |
---|---|
Naive Bayes Classifier (0) | 2015.07.16 |
의사결정나무(Decision Tree) (0) | 2015.07.16 |
로지스틱 회귀분석(Logistic regression) (0) | 2015.07.16 |
분할표본의 사용과 생성 (0) | 2015.07.16 |