언젠가는

군집분석 본문

IT/IT 지식

군집분석

new1life 2022. 7. 14. 00:37

군집분석이란 객체의 비슷한 점들을 확인해서 유사도가 높은 집단을 분류하는 것을 말합니다. 군집 속에서 객체의 비슷한 정도와 다른 군집과 다른 것을 규명하는 것이라고 생각하면 됩니다. 특성에 따라서 고객을 여러 분류의 배타적인 집단으로 나눈 것을 예시로 들 수 있습니다. 군집의 개수와 구조에 대한 가정을 하지 않고, 데이터 사이의 거리를 기준으로 나누게 됩니다. 마케팅 조사에서 구매자들의 상품 소비 패턴을 파악하거나 라이프 스타일에 따라 사람들을 나누어서 시장에 들어가기 전에 전략을 세우는 것에 활용이 가능합니다. 요인 분석과 차이점은 요인 분석은 비슷한 변수들을 한꺼번에 묶어주는 것만을 목적으로 한다는 점입니다. 또한, 판별분석과의 차이점은 판별분석은 애초에 나눠놓은 자료들을 통해서 분석하다가 새로운 데이터가 들어오면 기존에 있던 곳에 집어넣는 것이 목적이라는 것입니다.

 

군집분석은 거리와 관련이 있다고 하였는데, 변수의 종류가 연속인지 범주인지에 따라 계산하는 방법이 다릅니다. 우선 연속형 변수는 유클리디안 거리, 표준화 거리, 마할라노비스 거리, 체비 셰프 거리, 맨해튼 거리, 캔버라 거리, 민코 우스키 거리를 사용합니다.

유클리디안 거리는 데이터끼리 유사성을 측정할 때 사용하며, 통계적인 관점이 아니기 때문에 산포도 감안하지 않습니다. 표준화 거리는 표준편차를 통해 척도를 변환하고 유클리디안 거리를 계산한다고 생각하면 됩니다. 표준화를 하게 되면 척도의 차이와 분산의 차이로 인한 왜곡을 회피할 수 있습니다. 마할라노비스 거리는 통계적 개념이 포함된 것입니다. 변수들의 산포를 고려해서 표준화한 거리라고 생각하면 됩니다. 특히 두 사이의 거리를 표본 공분산으로 나눠줍니다. 그러나, 사전에 지식이 없다면 표본 공분산 계산을 할 수 없다는 단점이 있습니다. 맨해튼 거리는 유클리디안과 함께 자주 쓰이는 두 거리입니다. 맨해튼 도시에서 건물에서 다른 건물로 가기 위한 제일 짧은 거리를 계산한 것에서 나왔습니다. 한편 민코 우스키 거리는 맨해튼 거리와 유클리디안 거리를 한 번에 합쳐놓은 것이라고 생각하면 됩니다.

 

한편, 범주형 변수라면 자카드 거리, 코사인 거리를 통해서 확인을 합니다. 자카드 거리는 자카드 계수를 활용한 것이고, 코사인 거리는 코사인 유사도를 사용해서 측정합니다. 코사인 유사도는 코사인 값을 이용하여 알게 된 비슷한 정도를 말합니다.

 

군집분석은 계층적 방법과 비계층적 방법으로 나눌 수 있습니다. 계층적 군집분석은 군집을 점차 줄여나갑니다. 이 중에서도 합병형과 분리형이 있습니다.

계층적 군집분석에서는 연결법을 사용하는데, 최단 연결법, 최장 연결법, 평균 연결법, 와드 연결법을 사용합니다. 최단과 최장은 단어 그대로 제일 가까운 것과 제일 먼 곳을 연결하는 방법이고, 평균 연결법은 평균을 거리로 계산합니다. 와드 연결법은 군집 안에서 편차들의 제곱합을 통해서 거리를 측정한다는 점이 다른 연결법과의 차이점입니다.

이렇게 거리 행렬을 구하고 나서 객체끼리의 관계를 알 수 있고, 덴드로그램을 그립니다. 이 덴드로그램을 보고 군집의 개수를 수정해 가면서 적절한 수를 정합니다. 이는 덴드로그램의 최상단부터 가로선을 그으면서 진행합니다. 상황에 따라 다르지만, 보통 5개 이상의 군집은 이용하지 않습니다.

비계층적 군집분석은 X개의 개체를 Y개의 군집으로 나누는 모든 방법을 고려해서 최적의 방안을 찾는 것입니다. 대표적으로 K-평균 군집분석이 있습니다. 이는 주어진 데이터를 클러스터로 묶고, 각각의 클러스터들의 거리 차이의 분산을 가장 작게 하는 방식으로 진행합니다. 이 분석의 특징은 거리 계산으로 군집화를 하며, 연속형 변수에서 활용이 가능하다는 점입니다. 초기 중심값은 임의적으로 고를 수 있지만, 가급적 멀리 떨어진 녀석으로 잡아 주어야지 됩니다. 혹시 초기값을 비슷한 위치의 친구들로 선택하게 되면, 군집이 혼합되지 않고 층으로 나누어지게 되므로 주의해야 합니다. 이는 곧 초기 중심값에 따라서 결과가 완전히 바뀌게 된다는 것을 의미합니다. 이는 초기의 중심값에서 오차 제곱합을 최소화하는 방향으로 군집을 형성하는 '그리디 알고리즘'입니다. 안정적이지만, 앞서 말한 것처럼 초기값에 따라 결과가 완전히 딴판이기 때문에 최적의 결과를 보장할 수 없습니다.

비계층적 군집분석의 장점과 단점을 다시 정리해 보면, 장점은 알고리즘이 단순하고, 빠르고, 쉽고, 많은 데이터가 주어지더라도 가능합니다. 사전 정보가 없어도 괜찮습니다. 또한, 다양한 형태의 데이터에 적용이 가능합니다. 그러나, 군집의 수, 가중치, 거리를 정하는 것이 어렵습니다. 사전에 목적이 주어진 것이 아니라서 해석이 난해합니다. 잡음과 이상 값의 영향도 잘 받고, 볼록하지 않고 U자형 군집이 있다면 성능은 떨어집니다. 그리고 제일 중요한 초기 군집 결정이 매우 어렵습니다.

EM 알고리즘에 대해서도 알고 가야 합니다. 이는 각 자료에 대해서 조건부 분포, 다시 말해서 어느 집단에 들어갈 것인지를 통해서 기댓값을 구할 수 있게 해 줍니다. 관측 변수와 잠재 변수를 포함한 값에 로그-가능도 함수에 잠재 변수 대신에 조건부 기댓값을 대입하면, 로그-가능도 함수를 최대로 만들어주는 모수를 쉽게 찾을 수 있습니다. 갱신된 모수 추정치에 대해서 과정들을 반복하면 수렴하는 값을 얻게 되는데, 이를 '최대 가능도 추정치'라고 합니다. EM 알고리즘에서 E는 잠재 변수의 기대치를 계산하는 것이고, M은 그 기대치를 이용해 파라미터를 추정하는 것이라고 생각하면 됩니다.

Comments