M2-052M2: Classical Machine LearningClustering AlgorithmsEasy
Mastery:
Clustering Algorithms: 描述 K-means 算法,说明它的目标函数与收敛性。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 交替'分配最近中心'与'更新中心为均值',单调下降目标直至收敛到局部最优。
📌 Key Takeaways
- •对初始化敏感 → K-means++
- •假设球形等方差簇
📐 Mathematical Derivations
算法两步交替:① <strong>分配步</strong>——把每个点分给最近的簇中心(固定中心,最小化目标);② <strong>更新步</strong>——把每个中心移到其簇内点的均值(固定分配,最小化目标,因为均值是使平方和最小的点)。<strong>收敛性</strong>:每一步都不增加目标函数 J=ΣⱼΣ_{x∈Sⱼ}‖x−μⱼ‖²(分配步使每点选最近中心;更新步使中心最优),且 J 有下界 0,故必收敛。但收敛到的是<strong>局部最优</strong>——因为 J 对分配是离散的、非凸的,最终解依赖初始中心。<strong>为什么均值是最优中心</strong>:∂/∂μⱼΣ‖x−μⱼ‖²=0 ⇒ μⱼ=簇内均值。<strong>K-means 的隐含假设</strong>:各簇球形、大小相近、方差相似(因为它用欧氏距离且隐含等权),故对非球形(如环形)、大小悬殊、密度差异大的簇表现差。
🏭 Production Trade-offs
实践要点:① <strong>K-means++ 初始化</strong>——第一个中心随机选,后续每个中心按'与已有中心距离的平方'成正比的概率选择(远离已有中心的点更可能被选)。这使初始中心分散,理论上给出 O(log K) 的近似保证,实践显著优于随机初始化。② <strong>多次重启</strong>——即使有 K-means++,仍应跑多次(n_init=10)取最优(目标最小)的解。③ <strong>K 的选择</strong>——肘部法(J 随 K 的曲线拐点,主观)、轮廓系数(-1 到 1,越大越好)、Gap 统计量(与均匀分布的对比);实践中常结合业务可解释性。④ <strong>替代算法</strong>——K-medoids(用真实点作中心,对异常值鲁棒)、GMM(软分配、椭圆簇)、DBSCAN(任意形状、自动定簇数)、谱聚类(图划分,适合非凸簇)。⑤ <strong>标准化</strong>——K-means 用欧氏距离,必须标准化特征。⑥ <strong>MiniBatch K-means</strong>——用 mini-batch 加速,适合大数据。
⚠️ Common Interview Pitfalls
- ✕用随机初始化且只跑一次(陷入局部最优)
- ✕对非球形/大小悬殊的簇使用 K-means
🎯 Interviewer Follow-ups
- ?K-means 为什么可能陷入局部最优?
- ?K-means++ 如何初始化?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.