机器学习相关的基础问题
K-means是否一定会收敛
K-means算法在有限步数内一定会收敛,但收敛到的可能是局部最优解而非全局最优解。以下是详细分析:
K-means 的优化目标是最小化 样本到其所归属簇中心的距离平方和(SSE,Sum of Squared Errors)。因此,每一次迭代都单调减小(或保持不变)损失函数,而 SSE 有下界(不能为负数),所以一定会收敛。
在实际实现中(如 Scikit-learn),为了避免无限循环或耗时过长,常设定最大迭代次数(如 300)。此时:
如果达到最大迭代次数仍未收敛,算法提前终止,返回当前结果
所以从实现角度看,K-means 不一定"完全"收敛,但这是一种工程权衡