400 likes | 809 Views
Graph Degree Linkage [ ECCV12 ] : Agglomerative Clustering on Directed Graph. Hong Hee-Jong. Table of contents. Introduction Clustering Partitional Clustering Hierarchical Clustering Nearest-Neighbor Clustering(NN) K-NN Clustering Proposed method Experimental results Conclusion.
E N D
Graph Degree Linkage [ECCV12] : Agglomerative Clustering on Directed Graph Hong Hee-Jong
Table of contents • Introduction • Clustering • Partitional Clustering • Hierarchical Clustering • Nearest-Neighbor Clustering(NN) • K-NN Clustering • Proposed method • Experimental results • Conclusion
Introduction • What is Clustering? • Unsupervised learning (자율학습 <-> 지시학습: Bayes Classification등) • Sample들에 대한 지식없이Similarity(유사도)에 근거하여 Cluster들을 구분 • Similarity : Euclidean distance, Mahalanobis distance, Lance-Williams distance, Hamming distance 등을사용 • Sample집합을 Cluster라하고 무리지어 나가는 과정을 Clustering이라 함 • Why do we Clustering? • Summarizing data : Look at large amounts of data, Patch-based compression or denoising, Represent a large continuous vector with the cluster number • Counting : Histograms of texture, color, SIFT vectors • Segmentation : Separate the image into different regions • Prediction : Images in the same cluster may have the same labels
Introduction • Clustering Approach • Partitioning approach • Hierarchical approach • Density-based approach • Grid-based approach • Model-based • Frequent pattern-based • User-guided or Constraint-based • …
Partitional Clustering • K-개의 Cluster로 나누어 질 것으로 예상하고 Clustering • 평면적 알고리즘
Partitional Clustering: Forgy'salgorithm • 1. 임의의 갯수의Seed point를 Cluster centroid 로서 초기화 한다. • 2. 각 Sample 에 대해 가장 가까이 있는 Cluster Centroid를 찾아서 해당 Cluster에 Sample을 배정한다. • 3. 만일 Step 2에서 Sample 이 Cluster를 변화시키지 못하면 종료한다. • 4. 변화된 Cluster 들에 대한 Centroid를 다시 계산해서 다시 step 2 로 간다.
Partitional Clustering : Forgy'salgorithm • Random하게 k(=2)개로 초기화 • 가장 가까운 Centroid로 Clustering • Cluster중심으로 Center이동 • Centroid가 변하지 않으면 종료
Partitional Clustering : K-mean algorithm • Similar to Forgy' algorithm • 하나의 sample 이 하나의 cluster 에 합류하자마자 곧 cluster 의 centroid 가 다시 계산 • Not Iterative : Only 2 Step • 1. k개의 Cluster로 시작, n-k Sample들에 대해 가장 가까이 있는 Centroid를 탐색, 가장 가까이 있는 Cluster에 Sample을 포함, Centroid 다시 계산. • 2. 그 Data를 두 번 처리. 각 Sample에 대하여 가장 가까이 있는 centroid를 탐색. 가장 가까이 있는 centroid를 가진 것으로 확인된 cluster 에 sample을 위치. (이 step 에서는 어떤 centroid 도 다시 계산하지 않음.)
Partitional Clustering : K-mean algorithm Step 1. • Random하게 k(=2)개로 초기화 • Sample들을 하나씩 가장 가까운Cluster에 병합하면서 Centroid이동
Partitional Clustering : K-mean algorithm Step 2. • Sample들을 가장 가까운 Cenroid로새롭게 Clustering
Partitional Clustering : The Isodata Algorithm • Forgy's algorithm 과 K-means algorithm 을 보강한 방법 • 같은 점 : Squared Error를 최소화 • 다른 점 : K개의 클러스터의 수가 바뀔 수 있다. • 주요 Parameter • no_clusters : cluster 의 바람직한 수로서 seed point 의 수 • min_elements : 각 cluster 마다 허용되는 sample 들의 최소 갯수. • min_dist : 병합이 일어나지 않는, cluster centroid 사이에 허용되는 최소 거리 • split_size : cluster 의 분리를 조절하는 parameter • iter_start : 알고리즘의 first part에서 반복(iteration) 의 최대수 • max_merge : 각 반복(iteration) 에서의 cluster 병합의 최대수 • iter_body : 알고리즘의 main part 내에서 반복의 최대수
Partitional Clustering : The Isodata Algorithm • 과정 • 1 ~ 4. Forgy'salgorithm과 동일 • 5. min_elements작은 Cluster와 Sample을 폐기 • 6~7. 병합(merge) 수행 • Clusters > 2*no_clusters또는Iter is even인 경우 수행 • Centroid간 거리가 min_dist보다 작을때(최대 max_merge번 수행) • 8~9. 분리(Split) 수행 • Clusters < no_clusters/ 2 또는 Iter is Odd인 경우 수행 • split_size* 를 초과하는 표준편차를 가지는 Cluster를 탐색 • 해당 Cluster에서 x를 평균을 기준(크거나 같은, 작은)으로 두집합으로 분류 • 두 집합의 Centroid거리가 1.1 * min_dist보가 크면 두개의Cluster로 분리 • 10. 일련의 과정이 Iter_body만큼 수행되거나 변화가 없으면 중단,아니면 2번으로 이동
Partitional Clustering : The Isodata Algorithm • Example) Parameter : no_clusters = 3 min_elements = 2 min_dist = 3 split_size = 0.2 iter_start = 5 max_merge = 1 iter_body = 5
Hierarchical Clustering • Hierarchy는 다음 그림과 같이 Tree 구조로 표현 • Level에 따라 Cluster로 구성 • Agglomerative(Bottom-Up)or Divisive(Top-Down) • Ex) 동물병원 환자들 level 4 : {1, 2, 3, 4, 5} level 3 : {1, 2, 3}, {4, 5}. level 2 : {1, 2}, {3}, {4, 5}. level 1 : {1, 2}, {3}, {4}, {5}. level 0 : {1}, {2}, {3}, {4}, {5},
Hierarchical Clustering • Example) • Feature Dim = 2 (x, y) • Similarity : Euclidean distance
Hierarchical Clustering : The Single-Linkage Algorithm • {1}, {2}, {3}, {4}, {5} • {1, 2}, {3}, {4}, {5} • {1, 2}, {3}, {4, 5} • {1, 2, 3}, {4, 5}
Hierarchical Clustering : The Complete-Linkage Algorithm • {1}, {2}, {3}, {4}, {5} • {1, 2}, {3}, {4}, {5} • {1, 2}, {3}, {4, 5} • {1, 2}, {3, 4, 5}
Hierarchical Clustering : The Average-Linkage Algorithm • {1}, {2}, {3}, {4}, {5} • {1, 2}, {3}, {4}, {5} Hierarchical Clustering • {1, 2}, {3}, {4, 5} • {1, 2}, {3, 4, 5}
Hierarchical Clustering : Ward's Method • Minimum Variance Method • 모든 Cluster 쌍 사이의 반복을 통해 가장 작은 Squred Error를 가지는 쌍을 병합
Hierarchical Clustering : Ward's Method Step 1. TatalSq Error = (4 - 6)2+ (8 - 6)2+ (4 - 4)2+ (4 - 4)2= 8
Hierarchical Clustering : Compare Above Mothod • 결과 Tree 비교 Complete, Average, Ward's Single
Nearest-Neighbor(NN) Method • 가장 가까운 Sample과 Clustering
K –NN Method • 가장 가까운 K개의 Sample과 유사도를 평가 • K는 Tuning Param
Proposed Method • Agglomerative Clustering • Graph-Based Clustering • Directed or Undirected Graph Structure
Neighborhood Graph • Sample • Directed Graph • K-NN Graph • Weight • Parameter : K,
Algorithm Overview 초기화 (Sample의 수가 적은 Cluster의 개수가 많도록) 가장 큰 Affinity를 가지는 Cluster Set을 Merging Cluster의 수가 초기에 정한 값보다 작을 때까지 반복
Affinity • Affinity between a vertex and a cluster • Affinity between two cluster • Average indegree and outdegree • Average Indegree : • Average Outdegree :
Affinity: Matrix Form • More Efficient • Affinity between two cluster • Average indegree and outdegree • Average Indegree : • Average Outdegree :
Affinity: Proposed Measure Property • Proposed Measure Property • Via product of average indegree and average outdegree • Robust to noise than average linkage
Implementations of GDL: GDL-U Affinity Table을 미리 생성 Affinity Table을 부분적으로 업데이트 Update formula :
Implementations of GDL: AGDL Cluster의 Neighbor Table과 Nearest Cluster Table을 미리 생성 두 테이블을 부분적으로 업데이트
Experimental results : Clustering NMI Mutual Info(MI) :NMI : Normalized MI
Conclusion • Pros • Outstanding Performance • Easy to Implement • Very Fast • Cons
Pattern Recognition and Image Analysis : Earl Gose. Richard Johnsonbaugh. Steve Jost저서, Prentice Hall, 1996, Page 199~219http://www.aistudy.com/pattern/clustering_gose.htm • http://arxiv.org/abs/1208.5092 Reference