a local search approximation algorithm for k-means clustering
In k -means clustering we are given a set of n data points in d -dimensional space R d and an integer k , and the problem is to determine a set of k points in &#211C; d , called centers , to minimize the mean squared distance from each data point to its nearest center. No exact polynomial-time algorithms are known for this problem. Although asymptotically efficient approximation algorithms exist, these algorithms are not practical due to the extremely high constant factors involved. There are many heuristics that are used in practice, but we know of no bounds on their performance.We consider the question of whether there exists a simple and practical approximation algorithm for k -means clustering. We present a local improvement heuristic based on swapping centers in and out. We prove that this yields a (9+&egr;)-approximation algorithm. We show that the approximation factor is almost tight, by giving an example for which the algorithm achieves an approximation factor of (9-&egr;). To establish the practical value of the heuristic, we present an empirical study that shows that, when combined with Lloyd's algorithm, this heuristic performs quite well in practice.
local search locality approximation algorithms approximation algorithm k-means mean clustering data point space distance efficiency practical factor heuristics performance examples value empirical studies polynomial timing computational geometry