Linear time small coresets for k-mean clustering of segments with applications

David Denisov, Shlomi Dolev, Dan Felmdan, Michael Segal
11/16/2025
cs.LGcs.CGcs.CV

No official code found. Best implementation: DavidDenisov/Segment-Clustering (0 stars, last commit 2025-11-16).

Abstract

We study the $k$-means problem for a set $\mathcal{S} \subseteq \mathbb{R}^d$ of $n$ segments, aiming to find $k$ centers $X \subseteq \mathbb{R}^d$ that minimize $D(\mathcal{S},X) := \sum_{S \in \mathcal{S}} \min_{x \in X} D(S,x)$, where $D(S,x) := \int_{p \in S} |p - x| dp$ measures the total distance from each point along a segment to a center. Variants of this problem include handling outliers, employing alternative distance functions such as M-estimators, weighting distances to achieve balanced clustering, or enforcing unique cluster assignments. For any $\varepsilon > 0$, an $\varepsilon$-coreset is a weighted subset $C \subseteq \mathbb{R}^d$ that approximates $D(\mathcal{S},X)$ within a factor of $1 \pm \varepsilon$ for any set of $k$ centers, enabling efficient streaming, distributed, or parallel computation. We propose the first coreset construction that provably handles arbitrary input segments. For constant $k$ and $\varepsilon$, it produces a coreset of size $O(\log^2 n)$ computable in $O(nd)$ time. Experiments, including a real-time video tracking application, demonstrate substantial speedups with minimal loss in clustering accuracy, confirming both the practical efficiency and theoretical guarantees of our method.

View on arXivView PDF

Code Implementations(1)

The official implementation of the paper "Linear time small coresets for k-mean clustering of segments with applications" from WALCOM 2026

00PythonNov 16, 202511 months ago

Similar Papers

Cite this paper

@article{denisov2025linear,
  title  = {Linear time small coresets for k-mean clustering of segments with applications},
  author = {David Denisov and Shlomi Dolev and Dan Felmdan and Michael Segal},
  year   = {2025},
  eprint = {2511.12564},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2511.12564v2}
}

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/2511.12564.svg)](https://codeofpaper.com/paper/2511.12564)

Discussion