One of the biggest shortcomings of the k-means algorithm is the random selection of initial centers.
If k-means selects two centers that are very close to each other, the resulting clusters have the potential to be inaccurate.
To minimize these types of errors, Arthur and Vassilvitskii [3] proposed the k-means++ algorithm, which first chooses one initial center with a
uniform probability.
Then k-means++ chooses the next center by calculating new probabilities for every other point using the formula ........ , where dist (,) is the shortest distance from a point x in data set X to its closest center c already chosen.
By doing this, the starting centers will most likely be far enough apart to allow the original k-means algorithm to run successfully.