Back to Classic ML Mind Map
中文·English
📊 Classic MLID: kmeans-init

K-Means++ & K Selection

K-Means++ 与 K 选择
🎯Core Definition
K-Means++ is an improved initialization for K-Means: the first centroid is chosen uniformly at random, then each subsequent centroid is sampled with probability proportional to the squared distance to the nearest already-chosen centroid, where D(x)=minkxμkD(x) = \min_{k} \Vert x - \mu_k \Vert: P(x)=D(x)2xD(x)2P(x) = \frac{D(x)^2}{\sum_{x'} D(x')^2}.Squared-distance sampling spreads the initial centroids apart: the expected objective satisfies E[J]8(lnK+2)JOPT\mathbb{E}[J] \le 8(\ln K + 2) \, J_{\mathrm{OPT}}, bounding the worst local optimum within O(logK)O(\log K) of the optimal — at the cost of just one extra O(nKd)O(nKd) round of distance computation.Choosing K: the elbow method (WCSS inflection point) and the silhouette score s=bamax(a,b)s = \frac{b - a}{\max(a, b)} (aa = mean intra-cluster distance, bb = mean distance to the nearest other cluster; closer to 1 is better); for outlier-robust clustering use K-Medoids (centroids restricted to actual data points).
💡Use Cases
the default initialization for any K-Means run (scikit-learn defaults to k-means++) and a common initialization for GMM EM; interviews often ask for the probability formula and why squared distance beats uniform sampling.
Key Problems Solved
uniform random initialization can place all centroids in dense regions, trapping the algorithm in poor local optima; K-Means++ probabilistically spreads the initial centroids, achieving an O(logK)O(\log K) approximation in expectation for about the cost of one extra iteration — the classic time-quality tradeoff.
🎯5 High-Frequency Exam Points
1
Write the K-Means++ sampling probability P(x)=D(x)2xD(x)2P(x) = \frac{D(x)^2}{\sum_{x'} D(x')^2} and explain D(x)D(x); why squared distance rather than plain distance?
2
How much does K-Means++ improve over random initialization in expectation? What does the E[J]8(lnK+2)JOPT\mathbb{E}[J] \le 8(\ln K + 2) J_{\mathrm{OPT}} bound mean?
3
How do the elbow method and silhouette score choose K? Range and interpretation of s=bamax(a,b)s = \frac{b - a}{\max(a, b)}?
4
Why is K-Means outlier-sensitive? How does K-Medoids mitigate it? Complexity comparison with K-Means?
5
What extra time does K-Means++ cost? How is the first centroid chosen? vs multiple random restarts?
📖 In-depth Guide:📄 clustering-and-knn
Updated 2026-08-12
🎯
Test Your Knowledge: Practice Questions for "K-Means++ & K Selection"
Single choice pitfall questions with instant feedback and mistake tracking.
🚀 Start Card Practice
Previous CardK-Means AlgorithmNext CardDBSCAN & Hierarchical Clustering

🔗 More Classic ML Knowledge Cards

AdaBoost DerivationBagging & Random ForestBaum-Welch (HMM EM)GBDT Negative Gradient