(ADsP) 22. 군집분석

후웅후웅·2024년 2월 20일

ADsP

목록 보기
22/23

1) 군집분석

(1) 군집분석 개요

  • 비지도학습 중 하나인 군집분석은 여러 변수로 표현된 자료들 사이의 유사성을 측정하고 유사한 자료들끼리 몇 개의 군집(Cluster)으로 묶꼬 다변량 분석(상관분석, 회귀분석, 주성분분석 등)을 활용하여 각 군집에 대한 특징을 파악하는 기법이다.
  • 생물학에서는 종의 분류, 마케팅에서는 시장 세분화, 금융에서는 산업 분석 등 다양하게 활용되며 협업 필터링(Collaborative Filtering)같은 추천 서비스가 등장하는 기반을 제공했다.
  • 군집분석에서 관측치의 유사성을 측정하기 위한 방법으로 거리측도로는 유클리디안 거리, 맨하튼 거리 등이 있고 유사성 측도로는 코사인 거리와 상관계수가 있다. 거리가 가까울수록 유사성이 크다.
  • 군집분석의 평가 지표로는 실루엣 계수가 사용되는데, 응집도와 분리도를 계산하며, 그 값이 1에 가까울수록 완벽하게 분리되었다고 판단한다.

(2) ⭐거리 측도⭐
1. 변수가 연속형인 경우

  • 유클리디안 거리(Euclidean): 두 점 사이의 거리를 계산할 때 가장 널리 쓰이는 계산 방법으로, 두 점 사이의 가장 짧은 거리를 계산한다. 통계적 개념이 포함되지 않은 수학적 거리로 변수들의 산포정도를 감안하지 않는다.
  • 맨하튼 거리(Manhattan): 두 점 사이를 가로지르지 않고 길을 따라 갔을 때의 거리로, 유클리디안 거리와 마찬가지로 수학적 거리다. 시가거리라고도 표현하며, 도시에서 최단거리를 움직이듯 변수들의 차이의 단순합으로 계산한 거리다.
  1. 변수가 범주형인 경우
  • 데이터가 범주형 변수인 경우에는 얼마나 많은 공통된 요소를 갖고 있는지 판단할 수 있다.

  • 단순 일치 계수 : 두 객체 i와 j간의 상이성을 불일치 비율로 계산한다. P는 변수의 총 개수이며, m은 객체 i와 j가 같은 상태인 변수의 수(일치한 수)를 의미한다.

  • 자카드 지수 : 두 집합 사이의 유사도를 측정하는 지표로서 두 집합이 같으면 1, 완전히 다르면 0의 값을 갖는다.

  • 자카드 거리 : 자카드 지수를 거리화하기 위해 완전히 다르면 먼 거리를 갖는 1로, 완전히 동일하면 거리를 0으로 변환하기 위해 1에서 자카드 지수를 뺀 값이다.

  • 코사인 유사도 : 문서(텍스트)의 유사도를 측정하기 위한 지표로서 크기가 아닌 방향성을 측정하는 지표다. 완전히 일치하면 1의 값을 가지며, 완전히 다른 방향이면 -1의 값을 갖는다.

  • 코사인 거리 : 코사인 유사도를 거리화하기 위해 1에서 코사인 유사도를 뺀 값이다.

  • 순위 상관 계수 : 순서척도인 두 데이터 사이의 거리를 측정하기 위한 지표로서 스피어만 상관계수를 사용할 수 있다(3과목'상관분석'편 참고).

2) 계층적 군집분석

(1) 계층적 군집분석 개요

  • 개별 관측치 간의 거리를 계산해서 가장 가까운 관측치부터 결합해나가면서 계층적 트리 구조를 형성하고, 이를 통해 군집화를 수행하는 방법이다.
  • 계층적 군집의 방법에는 각 데이터를 하나의 군집으로 간주하고 가까운 데이터부터 순차적으로 병합해 나가는 '병학접 방법'과 전체 데이터를 하나의 군집으로 간주하고 각각의 관측치가 하나의 군집이 될 때까지(혹은 종료조건까지) 군집을 순차적으로 분할하는 '분할적 방법'이 있다.
  • 병합적 방법이 대표적이며, 몇 개의 군집으로 나눌 것인지를 사전에 정할 필요가 없고 분석 결과를 바탕으로 분석가가 판단하여 설명 가능한 수준으로 군집화하면 된다.
  • 여러 데이터 중 가장 유사한 두 데이터를 하나의 군집으로 묶었다면 새로운 군집과 기존의 데이터 사이의 거리를 새로 측정해야 한다. 이때 새로운 거리를 어떻게 계산하느냐에 따라 여러 방법으로 나뉠 수 있다.
  • 위의 그림에서 원하는 군집의 수를 2개로 설정하면(1, 4, 3, 2, 8)군집과 (5, 0, 11, 10, 7, 6, 9)군집이 생성되며, 군집 수를 3개로 설정하면(1, 4, 3, 2, 8)군집과 (5, 0 , 11)군집 그리고 (10, 7, 6, 9)군집이 생성된다.

(2) ⭐군집 간의 거리⭐

  • 군집분석에서는 관측 벡터 간의 거리뿐만 아니라 군집 간 거리에 대한 정의가 필요하다.
  • 계층적 군집은 한 번에 병합된 개체는 다시 분리되지 않고 사용되는 연결법에 따라 생성되는 군집이 다를 수 있다. 따라서 여러 연결법을 통해 군집을 생성해보고 유의미한 군집을 형성하는 방법을 적용해야 한다.

(3) 비계층적 군집분석

  • 계층적으로 군집을 형성하지 않고 구하고자 하는 군집의 수를 사전에 정의해 정해진 군집의 수만큼 형성하는 방법이다.
  • 비계층적 군집분석은 계층적 군집분석과 다르게 데이터 간 거리행렬을 사용하여 분석을 수행하지 않는다. 또한 원하는 군집의 수(k)의 초깃값을 설정하고 분석을 수행한다. 대표적인 방법으로 k-means(k-평균) 군집이 있다.
  1. ⭐k-means 군집⭐
  • 군집의 수(k개)를 사전에 정한 뒤 집단 내 동질성과 집단 간 이질성이 모두 높게 전체 데이터를 k개의 군집으로 분할하는 알고리즘이다.
  • 군집의 수 k의 초기값을 설정하고 각각의 k를 설명할 변수의 값을 임의로 설정하거나 데이터 중에서 k개를 선택한다. 이때 임의로 설정된 k개의 데이터를 seed라 한다.
  1. ⭐k-means 군집의 방법⭐

  2. ⭐k-means 군집의 특징⭐

  3. DBSCAN(Density Based Spatial Clustering of Applications with Noise)

  • 대부분의 군집분석 알고리즘은 개체 간의 거리를 기반으로 군집을 형성하기 때문에 데이터의 분포가 볼록하지 않은 경우 효과적으로 군집을 형성하지 못하는 경우가 많았다.
  • DBSCAN 알고리즘은 밀도 기반 군집분석의 한 방법으로 개체 간의 거리에 기반을 둔 다른 군집 방법 알고리즘과 다르게 개체들이 밀집한 정도에 기초해 군집을 형성한다.
  • DBSCAN알고리즘은 k-means알고리즘과 달리 군집의 형태에 구애받지 않아 데이터으 ㅣ분포가 기하학적으로 노이즈가 포함된 데이터셋에 대해서도 효과적으로 군집을 형성할 수 있고, 초기 군집의 수를 설정할 필요도 없다.

3) 혼합 분포 군집

(1) 혼합 분포 군집 개요

  • 모형 기반의 군집 방법으로 관측된 데이터들은 여러 개의 확률분포(흔히 정규분포)로부터 추출되었다는 가정하에 같은 확률분포에서 추출된 데이터들끼리 군집화하는 분석 기법이다.
  • 데이터들이 몇 개의 확률분포로 구성되어 있는지, 각각의 확률분포의 모수(평균, 분산)와 그 확률분포가 전체 데이터에서 차지하는 비중(가중치)을 찾는 것이 혼합 분포 군집의 핵심이다. 이때 모수와 가중치를 추정하는 방법으로는 EM(기댓값 최대화) 알고리즘을 사용한다.

(2) EM 알고리즘

  • 기댓값 최대화(EM, Expectation Maximization) 알고리즘은 확률모델의 최대가능도(Maximum Likelihood)를 갖는 모수와 함께 그 확률모델의 가중치를 추정하고자 한다.

  • 각 데이터가 어느 분포에서 추출된 데이터인지 각 집단(잠재변수, Z)으로부터 기댓값을 구할 수 있다. 이때 추정된 기댓값을 활용하여 로그-가능도 함수가 최대로 되게 하는 모수를 찾을 수 있다.

  • 알고리즘으로 두 가지 단계(E-step, M-step)로 구성되어 있다.

    (3) EM 알고리즘 과정

4) 자기조직화지도(SOM)

(1) 자기조직화지도 개요

  • SOM(자기조직화지도) 알고리즘은 코호넨 맵이라고도 불리며, 인공신경망 기반 차원 축소와 군집화를 동시에 수행할 수 있는 알고리즘이다.
  • 다차원 데이터를 축소해 저차원의 지도를 생성하고 이를 통해 데이터를 가시화하는 데 유용하다. 또한 입력공간의 속성을 보존한다는 특징이 있어 실제 유사한 데이터는 2차원 격자에서도 가깝게 표현된다.
  • 코호넨에 의해 개발되어 코호넨 맵으로도 불리는 SOM 알고리즘은 고차원 데이터를 한눈에 파악하기 쉬운 저차원(2차원) 공간에 정렬하여 나타내는 시각화 방법 중 하나다.

(2) ⭐자기조직화지도 구성

  • 은닉층을 보유한 다층신경망과 달리 은닉층이 없이 j개의 데이터를 입력받는 입력층과 이를 n개의 노드(뉴런)로 표현하고자 하는 경쟁층으로 구성되어 있으며, 입력층의 모든 데이터는 경쟁층의 모든 노드와 완전연결(fully connected)되어 있다.
  • 각 학습 단계마다 임의의 프로토타입 벡터(경쟁층의 각각의 뉴런을 의미)와의 거리를 유클리디안 거리에 의해 계산하고 비교한다. 이때 입력층의 표본 벡터에 가장 가까운 프로토타입 벡터를 BMU(Best-Matching Unit)라 부른다. 최종적으로 경쟁층에 있는 노드들 중 가장 가까운 하나의 노드에만 도달하게 되는데, 그 노드를 승자 노드(winning node)라 부른다.

(3) 자기조직화지도 과정⭐

(4) 자기조직화지도 특성⭐⭐

  • 인공신경망의 일종이지만 다층신경망과 달리 은닉층을 보유하고 있지 않으며, 순전파 방식만 사용하여 알고리즘을 수행하는 속도가 매우 빠르다.
profile
뭐든 열심히

0개의 댓글