1 / 57

Chapter 17 Hierarchical clustering

Chapter 17 Hierarchical clustering. 2010. 2. 17. 유 보 림. Hierarchical clustering. Flat clustering 은 효율적이고 개념적으로 간단하지만 몇 가지 결점이 있음 구조화되지 않은 cluster set 을 리턴하고 입력 값으로 prespecified clusters 를 요구하며 , 그것들은 nondeterministic 하다 . Hierarchical clustering 은

osmond
Download Presentation

Chapter 17 Hierarchical clustering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 17Hierarchical clustering 2010. 2. 17. 유 보 림

  2. Hierarchical clustering • Flat clustering은 • 효율적이고 개념적으로 간단하지만몇 가지 결점이 있음 • 구조화되지 않은 cluster set을 리턴하고 • 입력 값으로 prespecified clusters를 요구하며, • 그것들은 nondeterministic하다. • Hierarchical clustering은 • flat clustering에 의해 리턴되는 unstructered set보다 더 informative한 계층적인(hierarchy) output • Cluster의 수를 prespecify하도록 요구하지는 않음 • IR에서 사용되는 대부분의 hierarchical 알고리즘들은 deterministic하다. 이것은 장점인 반면에 효율은 떨어진다. (lower efficiency) • K-means와 Expected Maximization의 선형 복잡도와 비교되는, 최소한 문서수의 제곱에 달하는 Complexity를 가진다.

  3. contents • 17.1 Hierarchical agglomerative clustering • 17.2 Single-link and complete-link clustering • 17.3 Group-average agglomerative clustering • 17.4 Centroid clustering • 17.5 Optimality of hierarchical agglomerative clustering • 17.6 Divisive clustering • 17.7 Cluster labeling • 17.8 Implementation notes • 17.9 References and further reading

  4. Hierarchical clustering • IR에서 flat과 hierarchical clustering의 응용간에 몇가지 차이점이 있다. • Hierarchical clustering은 Table 16.1에 나타나는 application과 같은 것들에 적절하다; 사실상, clustering의 예로 주어진 것들은 계층적이다. 일반적으로 효율성이 중요할 때 flat clustering을 선택하고, flat의 잠재적 문제점(ex: not enough structure, predetermined clusters, nondeterminism)이 고려될 때는 hierarchical을 택한다.

  5. 17.1 Hierarchical agglomerative clustering • Agglomerative (bottom-up): • 각 document가 Single cluster인 상태에서 시작, • 모든 document를 포함하는 single cluster가 될때까지 합쳐지면서 • 결과적으로 모든 document가 같은 cluster에 속하게 된다. • Bottom-up방식이 Agglomerative Clustering, HAC이며 17장의 주요 주제이고, Top-down방식보다 IR에서 자주 사용된다. • Divisive (top-down): • 각 document가 같은 cluster에 속한 상태에서 시작, • Individual document에 도달할때 까지 재귀적으로 분리되어 • 결과적으로 각 node들이 cluster 자체가 되는 형태이다. • Top-down방식은 cluster의 분리에 사용된다.

  6. 17.1 Hierarchical agglomerative clustering • Dendrogram: tree of clusters • Y좌표: 합쳐진 cluster간의 similarity (combination similarity) • Document’s self-similarity: 단일 cluster의 combination similarity • HAC의 merging은 monotonic하다. Nonmonotonic한 clustering은 최소한 하나의 반증(inversion)을 가진다.

  7. animal vertebrate invertebrate fish reptile amphib. mammal worm insect crustacean 17.1 Hierarchical agglomerative clustering • unlabeled example들로부터 트리 구조로 분류 • recursive application of a partitional clustering algorithm

  8. d3,d4,d5 d4,d5 d3 17.1 Hierarchical agglomerative clustering • Cluster들이 합쳐지면, document들은 계층의 “topic”또는 “concept”이 되는 것 처럼 보인다. • HAC의 기본적인 가정은 merging하는 것이 monotonic하다는 것이다. • Non-monotonic한 HAC는 최소한 하나의 inversion si<si+1 을 포함하고, 각단계에서 가능한 최적의 merge에 대한 가정에 대해 모순이다. d3 d5 d1 d4 d2 d1,d2

  9. Single-link clustering의 dendrogram. • Flat clustering과 같이 분리된 일부분이 필요한 경우 • 여기서는 두 가지의 가능한 cut이 있을 수 있음 • 24clusters로 나뉘어지는 0.4 부분과, • 12clusters로 나뉘어지는 0.1 부분 위로↑ merge 아래로↓ split

  10. 17.1 Hierarchical agglomerative clustering • Cutting point를 결정하는데 사용되는 기준들 • Cut at a prespecified level of similarity • Cut the dendrogram where the gap between two successive combination similarities is largest. • Equation(16.11): K = arg min [RSS(K’) + λΚ’] • Prespecify the number of clusters K and select the cutting point that produces K clusters K’

  11. 17.1 Hierarchical agglomerative clustering • N * N similarity 산출 • 가장 비슷한 cluster들 간에 N-1번 merging 수행 • 각 반복에서는: 두개의 가장 비슷한 cluster들이 합쳐지고 행과 열은 계속 updated • A에 merge 순서가 저장됨 • I는 아직 통합할 수 있는 cluster가 무엇인지 가리킨다 • 함수 SIM(i,m,j)는 i와 m이 합쳐진 cluster j의 similarity를 산출한다. Figure 17.2 A simple, but inefficient HAC algorithm

  12. 17.1 Hierarchical agglomerative clustering 두 Cluster 간에 가장 근접한 part끼리 연결 두 Cluster 간에 가장 멀리 있는part끼리 연결 두 Cluster 간에 모든 part 연결, average 정함 모든 part간의 similarity 구하고 average 정함 Figure 17.3 The different notions of cluster similarity used by the four HAC algorithms.

  13. 17.2 single-link and complete-link clustering • Single-link clustering (single-linkage clustering) • 두 cluster 사이에 가장 비슷한 member들의 similarity • Merge criterion은 근접(local)하다. • 멀리 있는 것들은 제외하고 서로 가장 가까이 있는 것들에 초점을 둔다. • Complete-link clustering (complete-linkage clustering) • 두 cluster 사이에 가장 비슷하지 않은 member들의 similarity • Merge criterion은 근접하지않다(nonlocal): clustering의 전체 구조는 merge decision에 영향을 미칠 수 있다.

  14. 17.2 single-link and complete-link clustering • 위 그래프는 8개의 document들간의 single-link clustering(왼쪽)과 complete-link clustering(오른쪽)을 보여주고 있다. • 처음 4단계로, 각각 한 쌍으로 이루어진 동일한 cluster를 만든다. • Single-link는 위에 있는 두 쌍, 아래의 두 쌍과 cluster를 이룬다. 왜냐하면 cluster의 maximum-similarity의 정의에 의해 두 클러스터들은 가장 가깝기 때문이다.

  15. 17.2 single-link and complete-link clustering • Complete-link clustering에서는, 왼쪽의 두 쌍과 오른쪽의 두 쌍의 클러스터들이 결합한다. Cluster similarity의 정의에 따라서 minimum-similarity가 가장 가깝기 때문이다.

  16. Figure 17.1은 document set의 single-link clustering을 보여주고

  17. Figure 17.5는 document set의 complete-link clustering을 보여준다.

  18. 17.2 single-link and complete-link clustering • 여기서 마지막 merging을 자르면, 두 cluster간의 similar 유사도 크기를 얻게 된다. • 앞서 Figure 17.1에서는 동등하고 균형잡힌 결과를 만드는 cut은 없었다.

  19. 17.2 single-link and complete-link clustering • Single-link clustering • cluster similarity = similarity of two most similar members

  20. 17.2 single-link and complete-link clustering • complete-link clustering • cluster similarity = similarity of two least similar members

  21. 17.2 single-link and complete-link clustering • Single-link와 complete-link clustering 모두 graph-theoretic interpretations가 있다. • Sk: combination similarity • K step에서 두 클러스터를 합칠 때의 combination similarity • G(Sk): graph • 최소 Sk의 similarity를 갖는 모든 데이터를 연결하는 그래프 • step k 를 거친 후,single-link clustering에 의한 cluster들은 G(Sk)의connectedcomponents가 되고, • step k 를 거친 complete-link clustering에 의한 cluster들은 G(Sk)의 maximal clique가 된다고 한다. • Connected component는 각 connected point들이 연결된 path를 가지고 있는, maximal set이다. • Clique는 서로 completely linked된 점들의 집합이다.

  22. 17.2 single-link and complete-link clustering • Connected component • 각 connected point들이 연결된 path를 가지고 있는 maximal set • Maximal connected subgroup • 비슷한 것들끼리 연결 완료된 cluster 자체 • Clique • 서로 completely linked된 점들의 집합(between the two) • Exclusive group • maximum clique is a clique of the largest possible size in a given graph

  23. 17.2 single-link and complete-link clustering • 이러한 graph-theoretic 해석은 single-link와 complete-link 의 term에 대한 설명을 가능하게 해준다. • Step k 단계에 있는 single-link cluster는 최소한 하나의 similarity s≥sk로 연결된 maximal set of point; • Step k 단계에 있는 complete-link cluster는 각각이 완전히 similarity s≥sk로 연결된 maximal set of point. • Single-link와 complete-link clustering은 document pair 사이의 single similarity에 대해 cluster quality에 대한 평가를 reduce: • single-link에 의한 두 개의 가장 비슷한 document와 • complete-link에 의한 두 개의 가장 비슷하지 않은 document에 대해 • 한 pair의 measurement로는 cluster의 document distribution을 충분히 반영하지 못한다. 이것은 그러므로 두 가지 알고리즘에 대해 모두 undesirable한 cluster가 생길 수 있다는 것을 말해준다.

  24. 17.2 single-link and complete-link clustering • Figure 17.6은 Single-link clustering이 흩어진 클러스터(straggling clusters)를 만들어 낼 수 있다는 것을 보여준다. • Single-link의 local criterion은 바람직하지 않은 비정상적으로 길쭉한 cluster들을 만들기도 한다. • 왜냐하면 merge criterion이 철저하게 local해서, 점들의 연결이 전체 emerging cluster의 모양과는 상관없이 긴 길이로 확장될 수 있기 때문이다. 이것은 chaining이라고 부른다.

  25. Figure 17.1에도 chaining 현상을 볼 수 있다. 마지막 11개의 merging이 chain처럼 보인다.

  26. Figure 17.5에서는 이런 chaining이 일어나지 않는다. Document들은 두 그룹으로 거의 같은 크기로 나뉘어져 있다.

  27. 17.2 single-link and complete-link clustering • Complete-link clustering에는 다른 문제점이 있다. 이것은 outlier에 너무 집중하고, cluster의 총체적 구조를 생각하지 못한다는 것이다. • Figure 17.7은 complete-link clustering의 outlier를 보여준다. 여기 d2, d3, d4, d5의 네 개의 document는 왼쪽 가장자리에 있는 d1과 분리되어 있다. Complete-link clustering은 직관적인 해석과는 다른 구조를 보여준다.

  28. 17.2.1 time complexity • Figure 17.2에 나온 naïve HAC 알고리즘의 complexity는 Θ(N3)이다. • 이번 장에서 다룰 4개의 HAC method는 보다 효율적인 알고리즘은 figure 17.8에서 보여지는 선점-큐 방식(priority-queue algorithm)이다. • N*N similarity matrix C의 열 C[k]는 선점 큐 P의 similarity가 감소되는 순서로 sorting된다. • P[k].max()는 cluster안의 P[k]를 리턴하고,ωk값은 가장 큰 similarity 를 가진다. (16장에서 kthcluster라고 선언했던 ωk) • ωk1과 ωk2 의 merged cluster 생성 후, ωk1은 그것의 대표값으로 사용된다.(representative)

  29. 17.2.1 time complexity • 함수 SIM은 potentialmerge pair들에 대해 similarity를 산출해낸다: • Largest similarity for single-link • Smallest similarity for complete-link • Average similarity for GAAC • Centroid similarity for centroid clustering

  30. 17.2.1 time complexity • Line 1-7 and 9-21: Θ(logN)에서 deletion과 insertion을 허용하는 선점 큐의 실행에 따른 Θ(N2logN) • 알고리즘의 전체 complexity는 Θ(N2logN) • 함수 SIM의 정의에서, 과 는 각각 ωk1∪ ωk2 와 ωi 의 vector sums. Nm과 Ni는 각각 ωk1∪ ωk2 와 ωi 의 document의 수

  31. 17.2.1 time complexity • EFFICIENT HAC는 vectorset(일반적인 document set과는 반대로) GAAC와 centroid clustering은 입력값으로 vector를 요구 • EFFICIENT HAC의 complete-link version은 또한 vector로 표현되지 않은 documents에 적용될 수 있다.

  32. 17.2.1 time complexity • Single-link에서 • next-best-merge array(NBM)를 소개한다. NBM은 각 cluster에 가장 적합한 merge를 기록한다. • 두 개의 for-loop은 Θ(N2) • Single-link clustering의 전체 complexity가 Θ(N2)이기 때문.

  33. 17.2.1 time complexity • NBM array로 다른 3개의 HAC알고리즘에 적용 가능? (X) • Single-link clustering만 best-merge-persistent이므로. • ωk에 대한 best merge cluster가 ωi 라고 가정 (single-link) • 3rd cluster ωj( )와 합쳐진후에, ωi와 ωj 의 merge는 ωk 의 best merge cluster가 될 것 • Merged cluster에 대한 best-merge candidate는 두 개의 best-merge candidates 중 하나 • Single-link clustering의 components

  34. 17.2.1 time complexity • figure 17.10은 complete-linkclustering에서 speed up 하기 위해 NBM array를 사용하지 못한다는 것을 보여주는 예이다. • D3의 best merge candidate는 d2, d1이 될 것이라 생각하지만 실제로는 d4와 결합하게 된다. 이것은 complete-link방법에서는 merge criterion이 nonlocal하고 두 candidate가 만나는 지점으로부터의 큰 간격차에 영향을 받기 때문이다.

  35. 17.3 Group-average agglomerative clustering • Cluster quality 계산 = average similarity of all pairs • Single-Link의 문제점을 보완하고 Complete-Link를 대체할 수 있는 효과적인 대안 • 미리 클러스터 안에 있는 모든 벡터들의 합을 계산해 두면, 이를 이용하여 두 클러스터가 merge되었을 때, 새로 생성된 클러스터의 평균 similarity를 빨리 구할 수 있음

  36. 17.3 Group-average agglomerative clustering • group-average clustering, average-link clustering • alldocument pairs에 대해 average similarity SIM-GA를 계산 • 같은 cluster에 속한 pair를 포함하지만 self-similarity 제외 • 는 document d의 length-normalized vector • Ni와 Nj는 각각 ωi와 ωj 의 document 수

  37. 17.3 Group-average agglomerative clustering • GAAC의 motivation은 • HAC에서 다음 merge로 ωi와 ωj 의 두 cluster를 선택할 때의 목표는 결과로 발생되는 Merge cluster ωk=ωi∪ ωj 가coherent해야 한다는 것. • ωk의 coherence를 판단하기 위해, ωk내의 ωi ,ωj 에 발생하는 것들을 포함하여 모든 document-document similarity를 살펴보아야 한다. • SIM-GA 를 효율적으로 측정하여 계산할 수 있다. 왜냐하면 개별 벡터의 similarity의 합은벡터들의 합의 similarity와 같기 때문이다.

  38. 17.3 Group-average agglomerative clustering • 오른쪽 Ni + Nj 항은 1.0의 값을 가지는 Ni + Njself-similarity의 합이다. 그래서 연속적으로 cluster similarity를 계산할 수 있다. • 이것은 중요한데, GAAC의 효율적인 수행을 위해 우리가EFFICIENT HAC(figure 17.8)의 line 18부터 20까지의 SIM function을 계산할 수 있어야 하기 때문이다. • 수식 17.2는 vector addition에 대한 dot product의 distributivity에 기반한다. GAAC Clustering에서 효율적인 수행을 위해 중요한 것으로, 이 방법은 not real-valued vectors로 표현되지 않은 것들에 대해서는 쉽게 적용되지 않는다.

  39. 17.3 Group-average agglomerative clustering • 또한, 수식 17.2는 오직 dot product만가진다. 이 책에 소개된 많은 알고리즘이 dot product, cosine similarity 그리고 Euclidian distance에 관하여 near-equivalent한 설명을 하고 있지만, 수식 17.2는 dot product만으로 표현된다. • 이것은 single-link/complete-link clustering과 GAAC의 기본적인 차이점이다. 전자는 input값으로 similarity의 square matrix 값을 필요로 하고 그것들이 어떻게 계산되어지는지는 care하지 않는다. • 요약하자면, GAAC는 • Vector로 표현되는 document • Self-similarity가 1.0이 되는, vector의 length normalization • Vector와 vector’s sum 간의 similarity 계산에 필요한 dot product • 와 같은 것들이 필요하다.

  40. 17.3 Group-average agglomerative clustering • GAAC와 complete-link clustering의 merging 알고리즘은 figure 17.8에나타난 similarity function인 수식 17.3을 사용한다는 것을 제외하면 같다. 그래서 GAAC의 전체 time complexity는 complete-link clustering과 같은 Θ(N2logN)이다. • Complete-link clustering과 같이, GAAC는 best-merge persistent가 아니다. 이것은 single-link와 비슷한 Θ(N2)알고리즘을 가지는 GAAC를 위한 Θ(N2)알고리즘은 없다는 것이다. • 또한 Self-similarity를 포함한 group-average similarity도 계산할 수 있다.

  41. 17.3 Group-average agglomerative clustering • Self-similarity는 1.0으로 항상 같다. • 최대 가능한 값인 length-normalized vectors • 수식 17.4의 self-similarity 부분은 cluster 크기 i에 대해 • 이것은 작은 cluster들에 unfair advantage를 준다: 작은 cluster들은 부분적으로 많은 self-similarity를 가질 것임. • Similarity s 를 가지는 두 document d1, d2에 대해, • 대조적으로, • 두 document의 similarity SIM-GA(d1, d2)는 single-link, complete-link, centroid clustering 모두에서 같다.

  42. 17.3 Group-average agglomerative clustering • 모든 4개의 HAC 알고리즘의 document pair에 대해 일정한 similarity 값 s를 얻고자 하기 때문에, • self-similarity에 대한 작은 부분 때문에 크기가 큰 cluster에 불리한 경우를 원하지 않기 때문에 • 평균으로부터 self-similarity를 제외한 수식 17.3을 선호한다.

  43. 17.4 centroid clustering • Centroid clustering에서는 • 두 cluster간의 similarity는 그것들의 centroid의 similarity로 정의된다. • 수식 17.5는centroid similarity • 수식 17.6은 centroid similarity가 다른 cluster로부터의 모든 document pairs의 average similarity와 같다는 것을 보여준다.

  44. 17.4 centroid clustering

  45. 17.4 centroid clustering

  46. 17.3 Group-average agglomerative clustering • Cluster quality 계산 = average similarity of all pairs • Single-Link의 문제점을 보완하고 Complete-Link를 대체할 수 있는 효과적인 대안 • 미리 클러스터 안에 있는 모든 벡터들의 합을 계산해 두면, 이를 이용하여 두 클러스터가 merge되었을 때, 새로 생성된 클러스터의 평균 similarity를 빨리 구할 수 있음

  47. 17.3 Group-average agglomerative clustering

  48. 17.4 centroid clustering • similarity of their centroids • 수식 17.5는centroid similarity • 수식 17.6은 centroid similarity가 다른 cluster로부터의 모든 document pairs의 average similarity와 같다는 것을 보여준다.

  49. 17.4 centroid clustering

More Related