Tree-Guided L₁-Convex Clustering

Bingyuan Zhang, Yoshikazu Terada
3/31/2025
cs.LGstat.CO

No official code found. Best implementation: bingyuan-zhang/tgcc_simulation_code (0 stars, last commit 2025-03-31). 1 more below.

Abstract

Convex clustering is a modern clustering framework that guarantees globally optimal solutions and performs comparably to other advanced clustering methods. However, obtaining a complete dendrogram (clusterpath) for large-scale datasets remains computationally challenging due to the extensive costs associated with iterative optimization approaches. To address this limitation, we develop a novel convex clustering algorithm called Tree-Guided $L_1$-Convex Clustering (TGCC). We first focus on the fact that the loss function of $L_1$-convex clustering with tree-structured weights can be efficiently optimized using a dynamic programming approach. We then develop an efficient cluster fusion algorithm that utilizes the tree structure of the weights to accelerate the optimization process and eliminate the issue of cluster splits commonly observed in convex clustering. By combining the dynamic programming approach with the cluster fusion algorithm, the TGCC algorithm achieves superior computational efficiency without sacrificing clustering performance. Remarkably, our TGCC algorithm can construct a complete clusterpath for $10^6$ points in $\mathbb{R}^2$ within 15 seconds on a standard laptop without the need for parallel or distributed computing frameworks. Moreover, we extend the TGCC algorithm to develop biclustering and sparse convex clustering algorithms.

View on arXivView PDF

Code Implementations(2)

Simulation source code in the TGCC paper

00R, C++Mar 29, 20251 years ago
bingyuan-zhang/tgccCommunity100%
GPL-3.0

Implement of Tree-Guided Convex Clustering Algorithm

01R, C++Oct 7, 20241 years agoGPL-3.0

Similar Papers

Cite this paper

@article{zhang2025treeguided,
  title  = {Tree-Guided L₁-Convex Clustering},
  author = {Bingyuan Zhang and Yoshikazu Terada},
  year   = {2025},
  eprint = {2503.24012},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.24012v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.24012.svg)](https://codeofpaper.com/paper/2503.24012)

Discussion