**Kmeans面试常见问题汇总
1.K-means的伪代码:
2.K-means中常用的到中心距离的度量有哪些?
3.K-means聚类中每个类别中心的初始点如何选择?
1)随机法
最简单的确定初始类簇中心点的方法是随机选择K个点作为初始的类簇中心点。
2)选择各批次距离尽可能远的k个点,首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直到选出k个初始类簇中心。
3)层次聚类或者Canopy预处理,选择中心点。选用层次聚类或者Canopy算法进行初始聚类,然后利用这些类簇的中心点作为Kmeans算法初始类簇中心点。
4.K-means中空聚类的处理
(1)选择一个距离当前任何质心最远的点。这将消除当前对总平方误差影响最大的点。
(2)从具有最大SSE的簇中选择一个替补的质心,这将分裂簇并降低聚类的总SSE。如果有多个空簇,则该过程重复多次。
(3)如果噪点或者孤立点过多,考虑更换算法,如密度聚类(博客后期会更新这类聚类算法)
5.K-means是否会一直陷入选择质心的循环停不下来?
不会,有数学证明Kmeans一定会收敛,大概思路是利用SSE的