Source: https://papers.nips.cc/paper/4362-fast-and-accurate-k-means-for-large-datasets.pdf