본문 바로가기
데이터마이닝및분석

[데이터마이닝및분석] CH7 Cluster Analysis: Basic Concepts and Algorithms (3)

by sum_mit45 2023. 8. 8.
728x90
반응형

출처: 이기용 교수님, 데이터마이닝및분석 수업

 

7장에서는 클러스터링이 무엇인지와 대표적인 클러스터링인 (1) K-means, (2) Agglomerative Hierarchical Clustering, (3) DBScan에 대해서 배웠다. 

 

이번에 정리한 내용은 Agglomerative Hierarchical Clustering에 대한 내용이다. 

순서대로 전반적으로 정리하자면,

- Agglomerative Hierarchical Clustering이 무엇인지

    - Hierarchical Clustering(계층형 클러스터링)이 무엇인지
      : singleton cluster가 가장 가까운 클러스터로 뭉치는 과정을 반복하는 것을 말한다
    - Hierarchical Clustering의 두 종류: agglomerative(individual cluster에서 시작) vs divisive(all inclusvie에서 시작) 

    - Agglomerative Hierarchical Clustering의 알고리즘

    - Dendogram: Agglomerative Hierarchical Clustering의 표현 방법으로 사용됨. 

 

이 클러스터링은 어떻게 가까운 거리를 정의할 것인가에 따라 클러스터링 결과가 다를 수 있다. 

- Defining Proximity between Clusters: 약 4가지의 방법이 있다.

    - Single Link or Min 방법

    - Complete Link or Max 방법

    - Average Link or Group Average 방법

    - Ward's Method 방법

    - (참고) Centroid Method를 사용할 수 없는 이유

- Compare Different Linkage Methods: 이 방법들에 대한 특징을 하나의 그림으로 표현한 것이다. 

 

마지막으로 Hierarchical Clustering을 사용할 때 고려해야할 점들이다.

- Key Issues in Hierarchical Clustering

    - 초기점 선택에 어려움이 없다.

    - 목적 함수가 없다.

    - 계산 비용이 크다.

    - 특이치가 단일 혹은 작은 군집으로 형성된다. 

이런 순서대로 전개된다. 

 

Agglomerative(응집형의) Hierarchical Clustering

: 두 번째로 중요한 clustering 방법

: k-means 와 함께 오래됐지만 아직 widespread 하게 사용된다.

Hierarchical Clustering

  • 각각의 점을 singleton cluster(멤버가 하나인 cluster) 라고 부른다.
    → 가장 가까운 클러스터로 뭉치는 과정을 반복한다.

Two Approaches for Hierarchical clustering

agglomerative 방법과 divisive 방법에 대한 그림 설명

  1. Agglomerative(점점 뭉쳐지는): by far the most common → our focus
    1. individual clusters로 부터 시작한다
    2. 각각의 단계에서 clusters의 closest pair 끼리 합쳐진다.
  2. Divisive(점점 나눠지는) : 느려서 별로 사용되지 않는다
    1. 하나의 all-inclusive cluster로부터 시작한다.
    2. 각각의 단계에서, 모든 cluster가 하나의 point를 가질 때까지 cluster를 나눈다.

Agglomerative Hierarchical Clustering의 Basic algorithm

: ‘클러스터 간의 거리를 정의’하는 방법이 가장 큰 이슈

: 모든 pair 간의 거리를 찾는 게 쉽지 않고, 한번 뭉치면 클러스터 간의 거리를 다시 계산해야 함
  → overhead 가 작지 않

 

  1. 필요한 경우 proximity matrix(인접 행렬)을 계산한다.
  2. repeat
  3. closest(가장 가까운) 두 클러스터를 병합한다.
    : 점과 점 사이의 거리라면 쉽게 구하겠지만, cluster 안의 여러 점 중에서 ‘거리’를 어떻게 정의할 것인지 정하는 건 사람마다 다를 수 있고 그에따라 결과도 달라질 수 있다.
  4. 새 클러스터를 반영하도록 proximity matrix를 update 한다.
  5. until (하나의 클러스터가 남을 때까지)

Dendogram

  • 계층적 클러스터링은 덴드로그램이라고 하는 트리 모양의 다이어그램을 사용하여 그래픽으로 표현
  • 덴드로그램은 두 가지를 모두 표시: cluster-subcluster 관계 + 클러스터가 병합된 순서

dendrogram으로 표현한 모습.

Defining Proximity between Clusters

: Hierarchical Clustering (=linkage function)의 key operation 은 다양한 agglomerative hierarchical 기술이 있다는 것

점과 점 사이의 거리를 어떻게 정의하는 지에 따라서 합쳐질 클러스터가 정해진다.

  1. MIN (single link or single linkage) : 서로 다른 군집에서 가장 가까운 (closest)두 점 사이의 proximity
    → 클러스터가 커지는 것에 대한 부담이 있다.
  2. MAX (complete link or complete linkage) : 서로 다른 군집에서 가장 먼(farthest) 두 점 사이의 proximity
    → 클러스터가 커지는 것을 감당하지 않으려고 함.
  3. Group average (average link or average linkage) : 서로 다른 군집에 있는 모든 점 쌍의 평균 proximity
    → 가까운 점, 먼 점 모두 고려하지만 주로 먼 점에 영향력이 있으면 MAX와 유사하게 됨. MIN보다 MAX와 유사
  4. Ward’s method (ward’s link or ward’s linkage) : 두 군집의 병합으로 인한 SSE의 값 증가
    → SSE가 얼마나 들어날지 구하는 것 → SSE의 값이 가장 조금 늘어나는 것을 사용
    → k-means와 마찬가지로 ward’s method는 SSE 값을 최소화 하는 것

(1) Single Link or MIN

single link에 대한 설명

: 두 군집의 근접성은 서로 다른 두 군집에 있는 모든 두 점 사이의 거리의 최소값으로 정의된다

: 약간 길어지게 묶이는 경향이 있다

: (ex) dist( {3, 6} {2, 5} ) = min( dist(3,2), dist(3,5) , dist(6,2) , dist(6,5))

: non-elliptical shapes(타원형이 아닌 모양)에는 좋으나 노이즈 및 특이치에 민감함

(2) Complete Link or MAX

complete link에 대한 설명

: 두 군집의 근접성은 서로 다른 두 군집에 있는 모든 두 점 사이의 거리의 최대값으로 정의된다

: 약간 원형으로 뭉쳐지 경향이 있다

: (ex) dist( {3, 6} {2, 5} ) = max( dist(3,2), dist(3,5) , dist(6,2) , dist(6,5))

: 멀리 있는 값은 잘 안 붙으려는 경향이 있어 noise 나 outliers에 강하다.

: globular shapes 을 선호하고, 큰 클러스터의 경우 k-means와 같은 문제가 발생하다.

(3) Average Link or Group Average

: 서로 다른 군집에 있는 모든 점 쌍의 평균 proximity

: (ex) dist({3,6,4}, {2,5}) =(dist(3,2)+dist(3,5)+dist(6,2)+dist(6,5)+dist(4,2)+dist(4,5) / 6)

: MIN과 MAX 사이의 intermediate 방식globular clusters(구형 선호)

(4) Ward’s Method

ward's method에 대한 설명

: 두 군집의 근접성은 두 군집이 병합될 때 발생하는 SSE의 증가로 정의

: K-means clusters와 동일한 objective function 을 사용한다

: group average와 매우 유사

: 각 cluster에서 중심을 정의할 수 있는 경우에만 적용됩니다

(cf) Centroid Method

: 두 군집의 근접성은 군집의 중심 사이의 거리로 정의된다.

centroid method에 대한 설명

  • centroid 방법에는 inversions(역전)이 일어날 수 있다.
    → 개념이 잘못된 것이 아니고 계층적 클러스터링에서 사용하는 순간 개념이 달라지기 때문에 잘 사용하지 않는다.
  • 구체적으로 왼쪽 그림의 예를 들어 설명하자면, (d1과 d3), (d2와 d3)의 거리가 각각 4.1, (d1과 d2)의 거리가 4인 경우이다.
    가장 가까운 d1과 d2가 합쳐졌다. Centroid 방법을 사용하면, d1/d2와 d3의 거리가 3.5로, 기존의 4.1보다 더 작아져 역전이 발생할 수 있다는 것이다. 
  • 이는 가정과 모순되기 때문에 종종 bad 하다고 간주한다.
  • 다른 방법의 경우 merged clusters 사이의 거리가 단조롭게(monotonically) 증가한다.

Comparing Different Linkage Methods

위의 방법을 이미지로 표현.

: 위의 방법들을 한번에 볼 수 있도록 이미지로 정리한 것이다. 각각의 장/단점 및 특징을 파악하기 쉽다. 

  • single linkage빠르고 non-globular 데이터에서 잘 수행될 수 있지만 노이즈가 있는 경우에는 제대로 수행되지 않습니다
  • average and complete linkagecleanly separated globular cluster 에서 잘 수행되지만 그렇지 않으면 결과가 혼합됩니다
  • wardnoise가 많은 데이터에 가장 효과적인 방법

Key Issues in Hierarchical Clustering

: 계층적 클러스터링에서 고려해야 할 사항들이다

 

1. Initial points

  • 계층적 클러스터링은 초기점을 선택하는 데 어려움이 없음 (특히 k-means 와 차별되는 장점)

2. lack of global objective function: 가까운 값을 뭉치지만, 수학적으로 clear한 목적이 없다(목적 함수가 없다)

  • 각 단계에서 병합할 클러스터가 locally 하게 결정된다
  • 두 클러스터를 병합하기로 결정한 후에는 나중에 취소할 수 없
  • 어려운 최적화 문제를 해결하려는 시도는 피할 수 있다

3. computational cost가 엄두도 못 낼정도로 많다

  • 각 단계에서 모든 군집 쌍 사이의 거리를 계산해야 한다 → 너무 느리다는 것이 단점

4. 특이치

  • 특이치는 merging process의 훨씬 나중까지 클러스터를 진행했을 때, 단일 또는 작은 군집을 형성하는 경향이 있다
  • 다른 군집과 병합되지 않은 단일 또는 작은 군집을 삭제하여 특이치를 제거할 수 있다 → 계층적 클러스터링은 가까운 값을 뭉쳐 나가기 때문에, outlier는 초기에 뭉쳐질 리가 없어서 outlier를 쉽게 제거할 수 있다. 원래 계층적 클래스는 끝까지 묶지만, outlier를 대비해서 90~95% 정도만 묶기도 한다.
728x90
반응형