1 / 38

Graph Degree Linkage [ ECCV12 ] : Agglomerative Clustering on Directed Graph

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.

ivo
Download Presentation

Graph Degree Linkage [ ECCV12 ] : Agglomerative Clustering on Directed Graph

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. Graph Degree Linkage [ECCV12] : Agglomerative Clustering on Directed Graph Hong Hee-Jong

  2. Table of contents • Introduction • Clustering • Partitional Clustering • Hierarchical Clustering • Nearest-Neighbor Clustering(NN) • K-NN Clustering • Proposed method • Experimental results • Conclusion

  3. 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

  4. Introduction • Clustering Approach • Partitioning approach • Hierarchical approach • Density-based approach • Grid-based approach • Model-based • Frequent pattern-based • User-guided or Constraint-based • …

  5. Partitional Clustering • K-개의 Cluster로 나누어 질 것으로 예상하고 Clustering • 평면적 알고리즘

  6. 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 로 간다.

  7. Partitional Clustering : Forgy'salgorithm • Random하게 k(=2)개로 초기화 • 가장 가까운 Centroid로 Clustering • Cluster중심으로 Center이동 • Centroid가 변하지 않으면 종료

  8. 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 도 다시 계산하지 않음.)

  9. Partitional Clustering : K-mean algorithm Step 1. • Random하게 k(=2)개로 초기화 • Sample들을 하나씩 가장 가까운Cluster에 병합하면서 Centroid이동

  10. Partitional Clustering : K-mean algorithm Step 2. • Sample들을 가장 가까운 Cenroid로새롭게 Clustering

  11. 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 내에서 반복의 최대수

  12. 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번으로 이동

  13. 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

  14. 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},

  15. Hierarchical Clustering • Example) • Feature Dim = 2 (x, y) • Similarity : Euclidean distance

  16. 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}

  17. 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}

  18. 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}

  19. Hierarchical Clustering : Ward's Method • Minimum Variance Method • 모든 Cluster 쌍 사이의 반복을 통해 가장 작은 Squred Error를 가지는 쌍을 병합

  20. Hierarchical Clustering : Ward's Method Step 1. TatalSq Error = (4 - 6)2+ (8 - 6)2+ (4 - 4)2+ (4 - 4)2= 8

  21. Hierarchical Clustering : Compare Above Mothod • 결과 Tree 비교 Complete, Average, Ward's Single

  22. Nearest-Neighbor(NN) Method • 가장 가까운 Sample과 Clustering

  23. K –NN Method • 가장 가까운 K개의 Sample과 유사도를 평가 • K는 Tuning Param

  24. Proposed Method • Agglomerative Clustering • Graph-Based Clustering • Directed or Undirected Graph Structure

  25. Neighborhood Graph • Sample • Directed Graph • K-NN Graph • Weight • Parameter : K,

  26. Algorithm Overview 초기화 (Sample의 수가 적은 Cluster의 개수가 많도록) 가장 큰 Affinity를 가지는 Cluster Set을 Merging Cluster의 수가 초기에 정한 값보다 작을 때까지 반복

  27. Affinity • Affinity between a vertex and a cluster • Affinity between two cluster • Average indegree and outdegree • Average Indegree : • Average Outdegree :

  28. Affinity: Matrix Form • More Efficient • Affinity between two cluster • Average indegree and outdegree • Average Indegree : • Average Outdegree :

  29. Affinity: Proposed Measure Property • Proposed Measure Property • Via product of average indegree and average outdegree • Robust to noise than average linkage

  30. Implementations of GDL: GDL-U Affinity Table을 미리 생성 Affinity Table을 부분적으로 업데이트 Update formula :

  31. Implementations of GDL: AGDL Cluster의 Neighbor Table과 Nearest Cluster Table을 미리 생성 두 테이블을 부분적으로 업데이트

  32. Implementations of GDL: TimeComplexity Analysis

  33. Experimental results : Clustering NMI Mutual Info(MI) :NMI : Normalized MI

  34. Experimental results: Time Cost

  35. Experimental results: Object Matching

  36. Experimental results: Object Matching

  37. Conclusion • Pros • Outstanding Performance • Easy to Implement • Very Fast • Cons

  38. 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

More Related