K均值聚类是一种应用广泛的聚类技术,特别是它不依赖于任何对数据所做的假设,比如说,给定一个数据集合及对应的类数目,就可以运用K均值方法,通过最小化均方误差,来进行聚类分析。
因此,K均值实际上是一个最优化问题。在一些已知的文献中论述了K均值聚类的一下一些缺点:
- K均值假设每个变量的分布是球形的;
- 所有的变量具有相同的方差;
- 类具有相同的先验概率,要求每个类拥有相同数量的观测;
- 上述三条任何一条不满足,K均值算法即失效了
对于要求具有相同的先验概率这一条件,个人不是太赞同。在我看来,K均值的计算过程是最小化均方误差,看起来不需要任何的假设,因此也找不到这一计算过程和上述三个条件的联系。为了对上述三个条件进行验证,我们认为生成了一些数据,并运用K均值算法进行聚类。
为简便起见,在此仅分析了以上2个假设,同时假设数据是2维的。
- 球形分布 OR 非球形分布
- 非均衡样本数据集的聚类:
- 总结:
对算法工作人员而言,不仅理解算法重要,算法的应用场景的理解也显得尤为重要,不同的数据,需要有不同的数据预处理方式、也需要有不同的算法与之对应,解决实际问题时才更为有效。
最后,对数据实验而言,不要害怕失败,如果选取的模型从来没有错误过,是不是也意味着这个模型也从来没有正确过呢?
对内容有部分的改动和精简,更多详情可以查看原文。