Lably
Skip to content

Hierarchical clustering

Statistical method in data analysis

  • 16 min read
  • 9 chapters

Related on Lably

Through Data mining, Statistics and Hierarchy

  • Agglomerative: Agglomerative clustering, often referred to as a "bottom-up" approach, begins with each data point as an individual cluster. At each step, the algorithm merges the two most similar clusters based on a chosen distance metric (e.g., Euclidean distance) and linkage criterion (e.g., single-linkage, complete-linkage). This process continues until all data points are combined into a single cluster or a stopping criterion is met. Agglomerative methods are more commonly used due to their simplicity and computational efficiency for small to medium-sized datasets.
  • Divisive: Divisive clustering, known as a "top-down" approach, starts with all data points in a single cluster and recursively splits the cluster into smaller ones. At each step, the algorithm selects a cluster and divides it into two or more subsets, often using a criterion such as maximizing the distance between resulting clusters. Divisive methods are less common but can be useful when the goal is to identify large, distinct clusters first.

In general, the merges and splits are determined in a greedy manner. The results of hierarchical clustering are usually presented in a dendrogram.

Hierarchical clustering has the distinct advantage that any valid measure of distance can be used. In fact, the observations themselves are not required: all that is used is a matrix of distances. On the other hand, except for the special case of single-linkage distance, none of the algorithms (except exhaustive search in O(2n)) can be guaranteed to find the optimum solution.

Complexity

The standard algorithm for hierarchical agglomerative clustering (HAC) has a time complexity of O(n3) and requires Ω(n2) memory, which makes it too slow for even medium data sets. However, for some special cases, optimal efficient agglomerative methods (of complexity O(n2)) are known: SLINK for single-linkage and CLINK for complete-linkage clustering. With a heap, the runtime of the general case can be reduced to O(n2log⁡n) instead of O(n3), at the cost of additional the memory requirements. In many cases, the memory overheads of this approach are too large to make it practically usable. Methods exist which use quadtrees that demonstrate O(n2) total running time with O(n) space.

Divisive clustering with an exhaustive search is O(2n), but it is common to use faster heuristics to choose splits, such as k-means.

Sign in to keep reading

8 more chapters are free with a Lably account.

More in Computing and communication