Table of Contents
Fetching ...

A Fast and Effective Method for Euclidean Anticlustering: The Assignment-Based-Anticlustering Algorithm

Philipp Baumann, Olivier Goldschmidt, Dorit S. Hochbaum, Jason Yang

TL;DR

The paper introduces the Assignment-Based Anticlustering (ABA) algorithm for large-scale Euclidean anticlustering, formulating a constructive, one-pass approach that solves a sequence of assignment problems and represents anticlusters by centroids. By batching objects according to their distance to the global centroid and updating centroids after each batch, ABA achieves scalable performance and balanced diversity across anticlusters. It also extends to anticlustering with categories and to balanced K-cut problems, augmented by a hierarchical decomposition that enables parallelization and substantial speedups for very large N and K. Empirical results show ABA outperforms leading heuristics and METIS in both solution quality and running time, especially as K grows, and demonstrates robust diversity balance across anticlusters.

Abstract

The anticlustering problem is to partition a set of objects into K equal-sized anticlusters such that the sum of distances within anticlusters is maximized. The anticlustering problem is NP-hard. We focus on anticlustering in Euclidean spaces, where the input data is tabular and each object is represented as a D-dimensional feature vector. Distances are measured as squared Euclidean distances between the respective vectors. Applications of Euclidean anticlustering include social studies, particularly in psychology, K-fold cross-validation in which each fold should be a good representative of the entire dataset, the creation of mini-batches for gradient descent in neural network training, and balanced K-cut partitioning. In particular, machine-learning applications involve million-scale datasets and very large values of K, making scalable anticlustering algorithms essential. Existing algorithms are either exact methods that can solve only small instances or heuristic methods, among which the most scalable is the exchange-based heuristic fast_anticlustering. We propose a new algorithm, the Assignment-Based Anticlustering algorithm (ABA), which scales to very large instances. A computational study shows that ABA outperforms fast_anticlustering in both solution quality and running time. Moreover, ABA scales to instances with millions of objects and hundreds of thousands of anticlusters within short running times, beyond what fast_anticlustering can handle. As a balanced K-cut partitioning method for tabular data, ABA is superior to the well-known METIS method in both solution quality and running time. The code of the ABA algorithm is available on GitHub.

A Fast and Effective Method for Euclidean Anticlustering: The Assignment-Based-Anticlustering Algorithm

TL;DR

The paper introduces the Assignment-Based Anticlustering (ABA) algorithm for large-scale Euclidean anticlustering, formulating a constructive, one-pass approach that solves a sequence of assignment problems and represents anticlusters by centroids. By batching objects according to their distance to the global centroid and updating centroids after each batch, ABA achieves scalable performance and balanced diversity across anticlusters. It also extends to anticlustering with categories and to balanced K-cut problems, augmented by a hierarchical decomposition that enables parallelization and substantial speedups for very large N and K. Empirical results show ABA outperforms leading heuristics and METIS in both solution quality and running time, especially as K grows, and demonstrates robust diversity balance across anticlusters.

Abstract

The anticlustering problem is to partition a set of objects into K equal-sized anticlusters such that the sum of distances within anticlusters is maximized. The anticlustering problem is NP-hard. We focus on anticlustering in Euclidean spaces, where the input data is tabular and each object is represented as a D-dimensional feature vector. Distances are measured as squared Euclidean distances between the respective vectors. Applications of Euclidean anticlustering include social studies, particularly in psychology, K-fold cross-validation in which each fold should be a good representative of the entire dataset, the creation of mini-batches for gradient descent in neural network training, and balanced K-cut partitioning. In particular, machine-learning applications involve million-scale datasets and very large values of K, making scalable anticlustering algorithms essential. Existing algorithms are either exact methods that can solve only small instances or heuristic methods, among which the most scalable is the exchange-based heuristic fast_anticlustering. We propose a new algorithm, the Assignment-Based Anticlustering algorithm (ABA), which scales to very large instances. A computational study shows that ABA outperforms fast_anticlustering in both solution quality and running time. Moreover, ABA scales to instances with millions of objects and hundreds of thousands of anticlusters within short running times, beyond what fast_anticlustering can handle. As a balanced K-cut partitioning method for tabular data, ABA is superior to the well-known METIS method in both solution quality and running time. The code of the ABA algorithm is available on GitHub.
Paper Structure (20 sections, 2 theorems, 13 equations, 7 figures, 11 tables, 1 algorithm)

This paper contains 20 sections, 2 theorems, 13 equations, 7 figures, 11 tables, 1 algorithm.

Key Result

Proposition 1

Applying hierarchical decomposition in $L$ levels to an anticlustering problem on $N$ objects and $K$ anticlusters where at level $\ell$ each set of $N_{\ell}=\frac{N}{\Pi_{i=1}^{\ell -1} K_i}$ objects is divided into $K_\ell$ parts whose sizes differ by at most one, then the final anticlusters, aft

Figures (7)

  • Figure 1: Illustration of how to rearrange the sorted list $\mathcal{N}^{\downarrow}$ when $N$ is divisible by $K$ based on an example with $N=18$ objects and $K=6$ anticlusters
  • Figure 2: Illustration of how to rearrange the sorted list $\mathcal{N}^{\downarrow}$ when $N$ is not divisible by $K$ based on an example with $N=22$ objects and $K=6$ anticlusters
  • Figure 3: Illustration of how to rearrange the sorted list $\mathcal{N}^{\downarrow}$ to evenly distribute the categories of a categorical feature across anticlusters based on an example with $N=22$ objects and $K=3$ anticlusters.
  • Figure 4: Illustration of the hierarchical decomposition strategy for a dataset with $N=100$ objects and $K=9$ anticlusters.
  • Figure 5: Comparison of distribution of anticluster diversity values between ABA and P-R5 for $K=2{,}000$. For the dataset Imagenet32, the P-R5 algorithm found no solution within the time limit of two hours. We therefore compare ABA and Rand for this dataset.
  • ...and 2 more figures

Theorems & Definitions (3)

  • Proposition 1
  • Lemma 1
  • proof