2015-03-24 108 views
1

截至http://faculty.uscupstate.edu/atzacheva/SHIM450/KMeansExample.dock表示产生空簇

描述对于某些数据集我发现簇的数目产生不总是等于初始K I已经实现了一个k均值聚类算法。这是预期的吗?

我认为这是可以预料的,因为在每次迭代之后,每个数据点都被添加到最近的簇中,但是这并不能保证所有的簇将被填充。每个集群在每次迭代后都会重新初始化,因此某些集群可能没有足够接近点以添加任何点。

+0

这不应该发生。你是否从这组对象中获取了第一个K中心?它们应该是随机对象(来自集合),但不是随机坐标。 – Tilo 2015-03-24 22:16:06

+0

@Tilo我从这组对象中随机抽取k个质心,从所选的随机点中选择坐标。坐标本身不是随机的。 – 2015-03-24 22:20:10

+0

@Tilo请参阅问题更新 – 2015-03-24 22:23:57

回答

2

本文描述了对于k手段空簇可发生http://www.academypublisher.com/ijrte/vol01/no01/ijrte0101220226.pdf

之一的主要问题K-means算法是,它可能产生 取决于初始中心向量空簇。对于k-means的静态执行,这个问题被认为是不重要的,并且可以通过多次执行该算法来解决该问题。

+0

我面临同样的问题,所以每当我找到一个空集群时,我都会简单地重做kmeans。大部分时间都解决了。 – tuxdna 2015-03-30 10:02:47

+0

@tuxdna根据我的经验,随着K值的增加,空簇的产生概率也会增加。 – 2015-03-30 10:04:52

+0

我得到的另一个观察结果是,空集群的出现在缩小维度上更高,同时保持样本数量和K与原始维度相同。这只是一个观察。 – tuxdna 2015-03-30 10:21:41