K-Means聚类算法的数学原理与局限性
K-Means是最常用的聚类算法之一。请从数学角度解释其算法流程、目标函数(SSE),并分析它的主要局限性及适用场景。
回答
我是大山
K-Means算法流程:
- 随机初始化K个聚类中心
- 分配步骤:每个样本分配到最近的聚类中心(通常用欧氏距离)
- 更新步骤:计算每个簇的均值作为新的聚类中心
- 重复2-3直到收敛(中心点变化<阈值或达到最大迭代)
目标函数:
SSE = Σᵢ Σₓ ||x - μᵢ||²
即最小化各簇内样本到簇中心的距离平方和。
数学本质:
- K-Means是EM算法的特例(硬分配版本)
- 假设各簇为球形且方差相等
主要局限性:
- 需预设K值:通常用肘部法、轮廓系数、Gap统计量估计
- 对初始中心敏感:可用K-Means++改善
- 只能发现球形簇:无法处理非凸形状、大小差异大的簇
- 对异常值敏感:均值受异常点影响大
- 仅适用于数值型数据:需预先标准化
适用场景:数据量大、簇形状近球形、特征维度不高的场景。