计算智能——K-means聚类算法学习
定义
k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。
算法
1.在点阵中随机找k个类的中心点
2.算出点阵中的若干点与各中心点的距离,根据距离将点归类
3.归类后重新找合适的中心点,迭代若干次
注意: 1.避免随机在整个空间生成散点,尽量以某几个点为中心点在其附近随机生成点
2.可以有多个类
k-means算法的优劣
K-means具有如下优点:
(1)算法简单,特别对于类球型分布的数据效果特别好。
(2)收敛速度快,往往只需要5~6步即可达到收敛。
(3)算法复杂度为O(t,k,n)。其中t为迭代次数,k为分类的个数,n为数据点的个数。
当然,K-means也有一些缺点。
(1)由于聚类算法为无监督学习,人们事先无法确定到底需要分多少个簇,也就是说k值无法提前确定。
(2)同很多算法一样,它可能会收敛到局部最优解。而这和初始点的选取有关,我们可以采用多次选取初始点,最后选择效果最好的结果。
(3)对噪声影响敏感。我们可以看出K-means中means表示平均值,而平均值往往对噪声敏感,一个离群点往往会对整个结果造成很大影响。
(4)不适合某些非球类数据分布。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wzl1997/article/details/79264560
K-means聚类算法和模糊C-means聚类算法
1.K-means聚类算法
K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。
K-Means聚类算法的优点主要集中在:
1.算