繁体   English   中英

改进的K均值聚类(Ward准则)速度改进

[英]Improved K-means clustering (Ward criterion) speed improvement

我将k-means聚类与随机初始化一起用于聚类识别。 算法适用于良好的数据。 但是,如果我处理的数据杂乱无章,那么我的k均值算法就失去了它的鲁棒性,并为在同一数据集上的每次运行提供了不同的解决方案。

因此,我决定改进我的k均值聚类以最小化Ward准则:

  1. 做标准的k均值聚类
  2. 遍历点和所有聚类,找到点P以及聚类A和B,就好像我将点P从聚类A移到聚类B一样,该聚类的病房标准将最小
  3. 如果找到该点,请将其从A移到B,更新集群中心并继续执行2

我在这里用c ++编写了该算法。 但是,问题是,这种方法非常慢,我正在处理每个集群大约2万个点的集群。

您可以向我建议一个更好的解决方案,还是可以帮助我加快该算法的速度?

我终于找到了解决方案。 我已经意识到:

  • 我对沃德的态度真的没用
  • PCA对我不可用,因为我仅使用1D群集。
  • 正如Micka所说,在实现k-means ++之后,k-means的可靠性得到了提高。 但是,偶尔它仍然会给出不好的解决方案。 (根据实验,在相同数据的5个群集中有1个是错误的)

绝对帮助我的是平均归一化 我做了5次k均值,计算了每次迭代的聚类中心平均值。 最后以计算出的均值作为初始解来运行k均值。

暂无
暂无

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

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