kmeans聚类结果不稳定咋办
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kmeans聚类结果不稳定咋办相关的知识,希望对你有一定的参考价值。
参考技术A 用K-means和谱聚类的比较。聚类算法属于无监督的机器学习算法,即没有类别标签y,需要根据数据特征将相似的数据分为一组。
K-means聚类算法即随机选取k个点作为聚类中心,计算其他点与中心点的距离,选择距离最近的中心并归类,归类完成后计算每类的新中心点。
重新计算每个点与中心点的聚类并选择距离最近的归类,重复此过程,直到中心点不再变化。
有关kmeans训练结果不一样的问题(转)
最近一直在实现一篇注释轨迹的文章,里面要用到kmeans聚类方法,先在网上随便找了一个kmeans程序进行聚类,结果发现时间太长,最后问了作者,作者采用的是vlfeat的系列程序,里面的kmens++程序速度较一般的来说比较快,网址如下:
http://www.vlfeat.org/index.html
实验中发现,如果聚类的特征都是从一个图片上得来,或者说都是一类相像的图片,每次的聚类结果是相同的,但是如果说聚类的图片来自两类图片的话,,每次聚类的结果差异就比较大了。这是因为kmeans本身存在的缺陷:初始化的点每次都是随机的,那么该如何解决这个问题呢?
问了几个师兄,然后再查了一些资料,并没有什么好的解决办法,只能在反复训练中找到最好的聚类结果,然后保存下来,后面都用这个结果,这样也不是没有道理,因为,这本来就是训练集需要的数据,在实际或者实验中,训练集本身就是提前知道的,在训练集不变的情况下就可以使用这种方法。
————————————————
版权声明:本文为CSDN博主「Tavia_YingWa」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_31407371/article/details/53837328
以上是关于kmeans聚类结果不稳定咋办的主要内容,如果未能解决你的问题,请参考以下文章
R语言Kmeans聚类抽取聚类簇:fpc包clusterboot函数通过bootstrap重采样的方法评估Kmeans聚类的稳定性fpc包的kmeansruns函数通过CH准则和ASW获取最优K值
详解聚类算法Kmeans-重要参数init & random_state & n_init:初始质心怎么放更好菜菜的sklearn课堂笔记
R语言层次聚类(hierarchical clustering):数据缩放PCA聚类结果可视化fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性