http://en.wikipedia.org/wiki/K-means_clustering