k-means算法不足

来源:互联网 发布:android编译源码刷机 编辑:程序博客网 时间:2024/04/17 04:13
A. K 不确定

        对于初始条件和聚类的个数 K ,并没有一个标准的方法来给定。 初始条件不同会对结果产生比较大的影响,因为有时算法会跳入局部最优。所以解决方法之一,就是多次运行算法,随机分割,比较结果之间的差异。

B. 局部最优
        如果要达到全局最优,需要用到其他一些技术,比如模拟退火或者遗传算法等等, 不过代价就是算法的复杂度大大增加。另外一种可能性, 就是该算法就不可能达到全局最优. 应用的时候需要借助其他的一些工具, 比如我们提到的Kernel.

C. 噪声敏感
        一些离数据中心很远的点,也必须被分配到某一个聚类中,这就会产生中心的偏离 (这种偏离有时影响是很大的)。

D. 线性算法
        K-means 算法是线性的算法, 不能处理非线性的数据, 所以一些常见的分类效果很差. 比如本文将用以说明的测试集. 测试集类似于具有相同圆心的圆环形数据. K-means 算法将不能有效地把两个圆环分开.

F. 应用限制
        对于中心的定义,限制了应用的范围, 只能对于数值变量的应用。 对于一些定性的变量,需要改变相似度的度量来获得更好的解释。 

0 0
原创粉丝点击