繁体   English   中英

k-means初始中心确定结果?

[英]k-means initial centers determine the result?

K均值聚类是聚类的常用方法。 假设存在用于K均值聚类的N个点,即,N个点应被划分为K个组,其中每个组中的点彼此具有相似性。

我们应该在K-means clustering过程之前为初始中心分配值,这里我从整点中随机选择K点,程序得到每次运行的不同输出。 为什么会导致不同的结果,我怎么知道哪个是最好的分类?

首先,k均值聚类算法不一定产生最优结果,因此它已经是一个相当重要的指标,它可能从不同的起点得到不同的结果。

这实际上归结为这样一个事实,即每个集群使用其自己的集群中的点来确定它应该移动到哪里 - 如果所有集群都找到了到达各自点的中心,算法将终止,并且可能存在多个集群这种情况可能发生。

考虑这个例子:(由表示4个点.和2簇由指示x

.         .                      .    x    .
x         x         versus       
.         .                      .    x    .

左侧和右侧都已收敛,但它们明显不同(右侧的那个明显更差)。

为了找到最好的一个,你可以选择最小化从中心到其下分类的每个点的平方距离之和的结果(毕竟, 这是k均值聚类的目标 )。

我们的想法是为您的聚类运行多次聚类算法,使用K个不同的质心,使用从数据集中随机抽取的K点进行初始化。

那么你最好的解决方案就是最小化一个点与它所属的簇的质心之间的平方距离之和。

K-means通过尝试改进它给出的答案直到达到局部最优为止起作用,但有一个很好的论据,即没有单一的全局最优,因此没有单个局部最优。 如果有,那么同一数据集上的每个K-means算法总会收敛到相同的答案。 但是不可能发生,因为如果我在K-means收敛并重新编号聚类后得到答案,我会得到另一个不同的答案,但得分与我开始的答案完全一样,所以实际上有多个全局最优。

有各种方案可以为K-means提供起点,您可以尝试以及随机选择起点。 最近的一些人声称速度有所提高,例如http://en.wikipedia.org/wiki/K-means%2B%2B http://jihe.net/downloads/papers/he04ijcnn.pdf上有一些简单方法的测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM