K均值聚类——如何提高聚类的性能

来源:互联网 发布:淘宝上的手办是真假 编辑:程序博客网 时间:2024/06/13 17:41

K均值聚类——如何提高聚类的性能

    我们已经知道如何使用K-means实现无监督聚类。但是其中有一个参数需要认为设置,就是k。那么这就带来一个为了替:如何设定k值才能使得聚类的性能达到最好呢?

    我们有一个衡量聚类性能的指标SSE(sum of square error), 即误差平方和。SSE值越小,表示数据点越接近于它们的质心,聚类效果越好。一种降低SSE的方法是增加k的个数,但是这个违背了我们聚类的本意。

    现在,我们提供两种较好的解决思路:

1. 将具有最大SSE值的簇分成两个簇。也就是说,首先将最大簇包含的点过滤出来,并在这些点上运行K=2的K-means聚类算法。然后,我们把SSE最小的两个簇合并,这样就可以保持簇总数的不变;


2. 二分K-均值算法。该算法首先将所有点作为一个簇,将该簇一分为二。之后选择其中一个簇继续进行划分,选择哪一个簇取决于对其划分是否可以最大程度降低SSE值。上述基于SSE的划分过程不断重复,直到得到用户指定的簇数目为止。该算法可以很好地克服K-均值算法收敛于局部最小值的问题,而该算法能够收敛到全局最小值。


0 0
原创粉丝点击