BIRCH: Balanced Iterative Reducing and Clustering Using Hierarchies

Slides:



Advertisements
Similar presentations
CLUSTERING.
Advertisements

Clustering II.
Hierarchical Clustering. Produces a set of nested clusters organized as a hierarchical tree Can be visualized as a dendrogram – A tree-like diagram that.
Hierarchical Clustering, DBSCAN The EM Algorithm
PARTITIONAL CLUSTERING
BIRCH: Is It Good for Databases? A review of BIRCH: An And Efficient Data Clustering Method for Very Large Databases by Tian Zhang, Raghu Ramakrishnan.
Birch: Balanced Iterative Reducing and Clustering using Hierarchies By Tian Zhang, Raghu Ramakrishnan Presented by Vladimir Jelić 3218/10
CS685 : Special Topics in Data Mining, UKY The UNIVERSITY of KENTUCKY Clustering CS 685: Special Topics in Data Mining Spring 2008 Jinze Liu.
Part II - Clustering© Prentice Hall1 Clustering Large DB Most clustering algorithms assume a large data structure which is memory resident. Most clustering.
Chapter 3: Cluster Analysis
DATA MINING - CLUSTERING
Tian Zhang Raghu Ramakrishnan Miron Livny Presented by: Peter Vile BIRCH: A New data clustering Algorithm and Its Applications.
Clustering II.
Clustering II.
Cluster Analysis.  What is Cluster Analysis?  Types of Data in Cluster Analysis  A Categorization of Major Clustering Methods  Partitioning Methods.
© University of Minnesota Data Mining CSCI 8980 (Fall 2002) 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center.
Birch: An efficient data clustering method for very large databases
Chapter 3: Cluster Analysis  3.1 Basic Concepts of Clustering  3.2 Partitioning Methods  3.3 Hierarchical Methods The Principle Agglomerative.
Clustering Unsupervised learning Generating “classes”
 B+ Tree Definition  B+ Tree Properties  B+ Tree Searching  B+ Tree Insertion  B+ Tree Deletion.
Cluster Analysis Part II. Learning Objectives Hierarchical Methods Density-Based Methods Grid-Based Methods Model-Based Clustering Methods Outlier Analysis.
Hierarchical Clustering
The BIRCH Algorithm Davitkov Miroslav, 2011/3116
1 Motivation Web query is usually two or three words long. –Prone to ambiguity –Example “keyboard” –Input device of computer –Musical instruments How can.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Clustering COMP Research Seminar BCB 713 Module Spring 2011 Wei Wang.
Adapted from Mike Franklin
Taylor Rassmann.  Grouping data objects into X tree of clusters and uses distance matrices as clustering criteria  Two Hierarchical Clustering Categories:
BIRCH: A New Data Clustering Algorithm and Its Applications Tian Zhang, Raghu Ramakrishnan, Miron Livny Presented by Qiang Jing On CS 331, Spring 2006.
BIRCH: An Efficient Data Clustering Method for Very Large Databases Tian Zhang, Raghu Ramakrishnan, Miron Livny University of Wisconsin-Maciison Presented.
BIRCH: Balanced Iterative Reducing and Clustering Using Hierarchies A hierarchical clustering method. It introduces two concepts : Clustering feature Clustering.
K-Means Algorithm Each cluster is represented by the mean value of the objects in the cluster Input: set of objects (n), no of clusters (k) Output:
CS 8751 ML & KDDData Clustering1 Clustering Unsupervised learning Generating “classes” Distance/similarity measures Agglomerative methods Divisive methods.
5/29/2008AI UEC in Japan Chapter 12 Clustering: Large Databases Written by Farial Shahnaz Presented by Zhao Xinyou Data Mining Technology.
Database Management Systems, R. Ramakrishnan 1 Algorithms for clustering large datasets in arbitrary metric spaces.
Hierarchical Clustering
Other Clustering Techniques
Spatial Data Management
DATA MINING Spatial Clustering
Clustering CSC 600: Data Mining Class 21.
Indexing and hashing.
Multiway Search Trees Data may not fit into main memory
Data Science Algorithms: The Basic Methods
CS522 Advanced database Systems
Data Mining K-means Algorithm
Database Management Systems (CS 564)
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Data Mining -Cluster Analysis. What is a clustering ? Clustering is the process of grouping data into classes, or clusters, so that objects within a cluster.
BIRCH: An Efficient Data Clustering Method for Very Large Databases
CS 685: Special Topics in Data Mining Jinze Liu
Hierarchical and Ensemble Clustering
CS 685: Special Topics in Data Mining Jinze Liu
CS 485G: Special Topics in Data Mining
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John.
CS 685G: Special Topics in Data Mining
The BIRCH Algorithm Davitkov Miroslav, 2011/3116
Hierarchical and Ensemble Clustering
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Adapted from Mike Franklin
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Birch presented by : Bahare hajihashemi Atefeh Rahimi
Text Categorization Berlin Chen 2003 Reference:
Hierarchical Clustering
Indexing February 28th, 2003 Lecture 20.
Clustering Large Datasets in Arbitrary Metric Space
Hierarchical Clustering
CS 685: Special Topics in Data Mining Jinze Liu
BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies
Presentation transcript:

BIRCH: Balanced Iterative Reducing and Clustering Using Hierarchies

Motivation Major weakness of agglomerative clustering methods Do not scale well; time complexity of at least O(n2), where n is total number of objects Can never undo what was done previously Birch: Balanced Iterative Reducing and Clustering using Hierarchies Incrementally construct a CF (Clustering Feature) tree, a hierarchical data structure summarizing cluster info; finds a good clustering with a single scan Apply multi-phase clustering; improves quality with a few additional scans

Summarized Info for Single cluster Given a cluster with N objects Centroid Radius Diameter

Summarized Info for Two Clusters Given two clusters with N1 and N2 objects, respectively Centroid Euclidean distance Centroid Manhattan distance Average inter-cluster distance

Clustering Feature (CF) CF = (N, LS, SS) N =|C| Number of data points LS = Linear sum of N data points SS = square sum of N data points

Example of Clustering Feature Vector N: Number of data points CF = (5, (16, 30), (54, 190)) (3,4) (2,6) (4,5) (4,7) (3,8)

If we merge C1 with C2, the CF for the merged cluster C is CF Additive Theorem Suppose cluster C1 has CF1=(N1, LS1 ,SS1), cluster C2 has CF2 =(N2,LS2,SS2) If we merge C1 with C2, the CF for the merged cluster C is Why CF? Summarized info for single cluster Summarized info for two clusters Additive theorem

Example of Clustering Feature Vector N: Number of data points CF1 = (5, (16, 30), (54, 190)) CF2 = (5, (36, 17), (262, 61)) (3,4) (2,6) (4,5) (4,7) (3,8) (6,2) (7,2) (7,4) (8,4) (8,5) CF = (10, (52, 47), (316, 251))

Clustering Feature Tree (CFT) Clustering feature tree (CFT) is an alternative representation of data set: Each non-leaf node is a cluster comprising sub-clusters corresponding to entries (at most B) in non-leaf node Each leaf node is a cluster comprising sub-clusters corresponding to entries (at most L) in leaf node and each sub-cluster’s diameter is at most T; when T is larger, CFT is smaller Each node must fit a memory page

Example of CF Tree Root CF1 CF3 CF2 CF6 B = 7 L = 6 Non-leaf node CF9 child1 CF3 child3 CF2 child2 CF6 child6 B = 7 L = 6 Non-leaf node CF9 CF10 CF11 CF13 child1 child2 child3 child5 Leaf node Leaf node prev CF90 CF91 CF94 next prev CF95 CF96 CF98 next

BIRCH Phase 1 Phase 1 scans data points and build in-memory CFT; Start from root, traverse down tree to choose closest leaf node for d Search for closest entry Li in leaf node If d can be inserted in Li, then update CF vector of Li Else if node has space to insert new entry, insert; else split node Once inserted, update nodes along path to the root; if there is splitting, need to insert new entry in parent node (which may result in further splitting)

Example of the BIRCH Algorithm New subcluster sc8 sc3 sc4 sc7 sc1 sc5 sc6 LN3 sc2 LN2 Root LN1 LN2 LN3 LN1 sc8 sc5 sc3 sc6 sc7 sc1 sc4 sc2

Merge Operation in BIRCH If the branching factor of a leaf node can not exceed 3 , then LN1 is split. sc8 sc3 sc4 sc7 sc1 sc5 sc6 sc2 LN3 LN1’ LN2 Root LN1” LN1’ LN2 LN3 LN1” sc8 sc5 sc3 sc6 sc7 sc1 sc4 sc2

Merge Operation in BIRCH If the branching factor of a non-leaf node can not exceed 3, then the root is split and the height of the CF Tree increases by one. sc8 sc3 sc4 sc7 sc1 sc5 sc6 sc2 LN3 LN1’ LN2 Root LN1” NLN1 NLN2 LN1’ LN2 LN3 LN1” sc8 sc2 sc5 sc3 sc6 sc7 sc1 sc4

Merge Operation in BIRCH Assume that the subclusters are numbered according to the order of formation. sc5 sc2 sc6 sc3 sc4 sc1 root LN1 LN2 LN2 LN1 sc6 sc2 sc5 sc1 sc3 sc4

If the branching factor of a leaf node can not exceed 3, Then LN2 is split. sc5 sc2 sc6 sc3 sc4 sc1 LN3’ LN2” root LN2’ LN2’ LN2” LN1 sc6 sc2 sc1 sc5 sc4 sc3

LN2’ and LN1 will be merged, and the newly formed Node will be split immediately. sc5 sc2 sc6 sc3 sc4 sc1 LN3’ LN2” root LN3” LN3” LN3’ LN2” sc6 sc2 sc1 sc5 sc4 sc3

Cases that Troubles BIRCH The objects are numbered by the incoming order and assume that the distance between objects 1 and 2 exceeds the diameter threshold. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Subcluster 1 Subcluster 2

Order Dependence Incremental clustering algorithm such as BIRCH suffers order dependence. As the previous example demonstrates, the split and merge operations can alleviate order dependence to certain extent. In the example that demonstrates the merge operation, the split and merge operations together improve clustering quality. However, order dependence can not be completely avoided. If no new objects were added to form subcluster 6, then the clustering quality is not satisfactory.

Several Issues with the CF Tree No of entries in CFT node limited by page size; thus, node may not correspond to natural cluster Two sub-clusters that should be in one cluster are splitted across nodes Two sub-clusters that should not be in one cluster are kept in same node (dependent on input order and skewness) Sensitive to skewed input order Data point may end in leaf node where it should not have been If data point is inserted twice at different times, may end up in two copies at two distinct leaf nodes

BIRCH Phases X Phase: Global clustering Phase: Cluster refinement Use existing clustering (e.g., AGNES) algorithm on sub-clusters at leaf nodes May treat each sub-cluster as a point (its centroid) and perform clustering on these points Clusters produced closer to data distribution pattern Phase: Cluster refinement Redistribute (re-label) all data points w.r.t. clusters produced by global clustering This phase may be repeated to improve cluster quality

Data set 10 columns clusters 10 rows

BIRCH and CLARANS comparison

BIRCH and CLARANS comparison

BIRCH and CLARANS comparison

BIRCH and CLARANS comparison Result visualization: Cluster represented as a circle Circle center is centroid; circle radius is cluster radius Number of points in cluster labeled in circle BIRCH results: BIRCH clusters are similar to actual clusters Maximal and average difference between centroids of actual and corresponding BIRCH cluster are 0.17 and 0.07 respectively No of points in BIRCH cluster is no more than 4% different from that of corresponding actual cluster Radii of BIRCH clusters are close to those of actual clusters

CLARANS results: Pattern of location of cluster centers distorted No of data points in a cluster as much as 57% different from that of actual cluster Radii of cluster vary from 1.15 to 1.94 w.r.t. avg of 1.44

BIRCH performance on Base Workload w. r. t BIRCH performance on Base Workload w.r.t. Time, diameter and input order BIRCH performance on Base Workload w.r.t. Time, data set and input order CLARANS performance on Base Workload w.r.t. Time, diameter and input order CLARANS performance on Base Workload w.r.t. Time, data set and input order

BIRCH and CLARANS comparison Parameters: D: average diameter; smaller means better cluster quality Time: time to cluster datasets (in seconds) Order (‘o’): points in the same cluster are placed together in the input data Results: BIRCH took less than 50 secs to cluster 100,000 data points of each dataset (on an HP 9000 workstation with 80K memory) Ordering of data points also have no impact CLARANS is at least 15 times slower than BIRCH; when data points are ordered, CLARANS performance degrades