590 likes | 968 Views
Chapter 17 Hierarchical clustering. 2010. 2. 17. 유 보 림. Hierarchical clustering. Flat clustering 은 효율적이고 개념적으로 간단하지만 몇 가지 결점이 있음 구조화되지 않은 cluster set 을 리턴하고 입력 값으로 prespecified clusters 를 요구하며 , 그것들은 nondeterministic 하다 . Hierarchical clustering 은
E N D
Chapter 17Hierarchical clustering 2010. 2. 17. 유 보 림
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를 가진다.
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
Hierarchical clustering • IR에서 flat과 hierarchical clustering의 응용간에 몇가지 차이점이 있다. • Hierarchical clustering은 Table 16.1에 나타나는 application과 같은 것들에 적절하다; 사실상, clustering의 예로 주어진 것들은 계층적이다. 일반적으로 효율성이 중요할 때 flat clustering을 선택하고, flat의 잠재적 문제점(ex: not enough structure, predetermined clusters, nondeterminism)이 고려될 때는 hierarchical을 택한다.
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의 분리에 사용된다.
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)을 가진다.
animal vertebrate invertebrate fish reptile amphib. mammal worm insect crustacean 17.1 Hierarchical agglomerative clustering • unlabeled example들로부터 트리 구조로 분류 • recursive application of a partitional clustering algorithm
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
Single-link clustering의 dendrogram. • Flat clustering과 같이 분리된 일부분이 필요한 경우 • 여기서는 두 가지의 가능한 cut이 있을 수 있음 • 24clusters로 나뉘어지는 0.4 부분과, • 12clusters로 나뉘어지는 0.1 부분 위로↑ merge 아래로↓ split
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’
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
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.
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에 영향을 미칠 수 있다.
17.2 single-link and complete-link clustering • 위 그래프는 8개의 document들간의 single-link clustering(왼쪽)과 complete-link clustering(오른쪽)을 보여주고 있다. • 처음 4단계로, 각각 한 쌍으로 이루어진 동일한 cluster를 만든다. • Single-link는 위에 있는 두 쌍, 아래의 두 쌍과 cluster를 이룬다. 왜냐하면 cluster의 maximum-similarity의 정의에 의해 두 클러스터들은 가장 가깝기 때문이다.
17.2 single-link and complete-link clustering • Complete-link clustering에서는, 왼쪽의 두 쌍과 오른쪽의 두 쌍의 클러스터들이 결합한다. Cluster similarity의 정의에 따라서 minimum-similarity가 가장 가깝기 때문이다.
Figure 17.1은 document set의 single-link clustering을 보여주고
Figure 17.5는 document set의 complete-link clustering을 보여준다.
17.2 single-link and complete-link clustering • 여기서 마지막 merging을 자르면, 두 cluster간의 similar 유사도 크기를 얻게 된다. • 앞서 Figure 17.1에서는 동등하고 균형잡힌 결과를 만드는 cut은 없었다.
17.2 single-link and complete-link clustering • Single-link clustering • cluster similarity = similarity of two most similar members
17.2 single-link and complete-link clustering • complete-link clustering • cluster similarity = similarity of two least similar members
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된 점들의 집합이다.
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
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가 생길 수 있다는 것을 말해준다.
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이라고 부른다.
Figure 17.1에도 chaining 현상을 볼 수 있다. 마지막 11개의 merging이 chain처럼 보인다.
Figure 17.5에서는 이런 chaining이 일어나지 않는다. Document들은 두 그룹으로 거의 같은 크기로 나뉘어져 있다.
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은 직관적인 해석과는 다른 구조를 보여준다.
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)
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
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의 수
17.2.1 time complexity • EFFICIENT HAC는 vectorset(일반적인 document set과는 반대로) GAAC와 centroid clustering은 입력값으로 vector를 요구 • EFFICIENT HAC의 complete-link version은 또한 vector로 표현되지 않은 documents에 적용될 수 있다.
17.2.1 time complexity • Single-link에서 • next-best-merge array(NBM)를 소개한다. NBM은 각 cluster에 가장 적합한 merge를 기록한다. • 두 개의 for-loop은 Θ(N2) • Single-link clustering의 전체 complexity가 Θ(N2)이기 때문.
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
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가 만나는 지점으로부터의 큰 간격차에 영향을 받기 때문이다.
17.3 Group-average agglomerative clustering • Cluster quality 계산 = average similarity of all pairs • Single-Link의 문제점을 보완하고 Complete-Link를 대체할 수 있는 효과적인 대안 • 미리 클러스터 안에 있는 모든 벡터들의 합을 계산해 두면, 이를 이용하여 두 클러스터가 merge되었을 때, 새로 생성된 클러스터의 평균 similarity를 빨리 구할 수 있음
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 수
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와 같기 때문이다.
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로 표현되지 않은 것들에 대해서는 쉽게 적용되지 않는다.
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 • 와 같은 것들이 필요하다.
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도 계산할 수 있다.
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 모두에서 같다.
17.3 Group-average agglomerative clustering • 모든 4개의 HAC 알고리즘의 document pair에 대해 일정한 similarity 값 s를 얻고자 하기 때문에, • self-similarity에 대한 작은 부분 때문에 크기가 큰 cluster에 불리한 경우를 원하지 않기 때문에 • 평균으로부터 self-similarity를 제외한 수식 17.3을 선호한다.
17.4 centroid clustering • Centroid clustering에서는 • 두 cluster간의 similarity는 그것들의 centroid의 similarity로 정의된다. • 수식 17.5는centroid similarity • 수식 17.6은 centroid similarity가 다른 cluster로부터의 모든 document pairs의 average similarity와 같다는 것을 보여준다.
17.3 Group-average agglomerative clustering • Cluster quality 계산 = average similarity of all pairs • Single-Link의 문제점을 보완하고 Complete-Link를 대체할 수 있는 효과적인 대안 • 미리 클러스터 안에 있는 모든 벡터들의 합을 계산해 두면, 이를 이용하여 두 클러스터가 merge되었을 때, 새로 생성된 클러스터의 평균 similarity를 빨리 구할 수 있음
17.4 centroid clustering • similarity of their centroids • 수식 17.5는centroid similarity • 수식 17.6은 centroid similarity가 다른 cluster로부터의 모든 document pairs의 average similarity와 같다는 것을 보여준다.