一种有效的基于K_means聚类中心的选取方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.传统的 k-means算法
k-means算法作为划分聚类算法的典型代表,有计算速度快、资源消耗少、几何意义直观、对大数据集处理等特点,该算法有相对可伸缩和高效率的特点。它的复杂度是 0(nkt),其中 k是聚类的个数,t是迭代次数,n是所有样本的个数。然而,传统的 k-means算法对于初始聚类中心的选择是随机的,或者是由用户主观指定的。k-means算法对初始聚类中心的依赖性很强,初始聚类中心选取的不同往往导致聚类结果相当不稳定,同时也会使迭代的次数大幅度增加;其次,k-means是基于目标函数的聚类方法,一般都用梯度法求极值。由于梯度法的搜索方向是沿着减小的方向进行,算法由于初值的不当可能会陷人局部极小点,所以,要谨慎的选择初始聚类中心。k—means算法还有一个缺点就是对异常点非常敏感,使得 k-means没有足够的稳定性。传统的 k-means算法具体过程如下所述。
在上述算法中可以看到,在传统的 k-means算法对于初始聚类中心的选择是随机的,或者是由用户指定的。这样某些聚类中的数据可能没被选到,而有的择中多个,这样会对产生聚类的结果有一定影响,同时也会增加迭代的次数,增加了划分聚类的时间。还有人使用多组随机挑选初始中心来聚类,将最好的聚类结果作为最终结果。该方法减少了随机方式带来的偏差,但是不适用于 k值较大时,同时它也增加了计算量。而且由于 k-means对于异常点是较为敏感的,如果选到中心点为异常点,将得不到理想的结果。用户指定初始聚类中心则会带有主观性,随意性,同时给用户增加了负担 。
(3)每次取m个最相似元组的元组,并分到一个类中;
(4)取这m个元组的中心Oi作为类的中心;
(5)从n个样本集中去除这 m个元组 ;
(6)重复执行 (3)、(4)直 到每个类都有m个元素。
为了避免异常点对预测的初始聚类中心产生影响,笔者多次选择训练集,再次对每个训练集的每个类中心Oi(f)进行选取类中心作为最终的初始类中心 。
在上述算法 的第 (3)步 中相似元组的选取方法依据下列理论:
从训练集中的差异矩阵 中依次选出m个元组所在行和列组成单个聚类内的差异矩阵 ,只有 当 最小时,把训练集的m个元组归为一个聚类中。在算法的第 (4)步中的聚类中心的选取方法如下:能覆盖所有元组的最小圆的圆心0i;作为聚类中心。在一定的范围内密度最大的中心。
可以看出,与实际聚类中心最接近的数据点是本文算法所得到的初始聚类中心,而文献[10]算法初始聚类中心的误差平方和比本文算法大,与实际初始聚类中心也较远’本文算法选择的初始聚类中心更接近实际聚类中心,能有效代表聚类的实际分布。
文献[5]算法在Iris与Wine上的准确率分别为89.33%和70.22%,与本文算法相同; 它在Iris上的迭代次数为5,本文算法在Iris上的迭代次数为2,小于文献[5],两者在Wine
算法:
输入:
k-means是一种迭代的聚类算法,迭代过程中不断地移动聚类集中的成员直到理想的类集为止。k—means算法的基本思想是:从 n个数据对象中随机选择 k个对象作为初始的聚类中心,通过迭代不断地更新聚类中心,把数据划分到不同的类中。对于上述传统的 k-means算法分析如下:对于一个有 n个元组的数据集 ,每个元组有d个属性,即每个元组是 d维的,指定该数据集可以分为类集的个数为 k,算法首先将每一个数据对象归到离它最近的聚类中心的聚类中,然后计算新的聚类中心,最后计算聚类准则函数。算法的时间复杂度为 0(ndk)。
对比实验表明,本文的改进算法选择主要密度水平曲线上k-dist值最小的点作为初始聚类中心,能够反映数据的实际分布,选取的初始聚类中心唯一,聚类结果稳定,聚类准确率高,迭代次数少。
从图2、3可以看出,由于NAFS算法中增加了小生境算法,其计算时间比AFS聚类算法要长一些,但是考虑到其求解精度上要优于AFS聚类算法,所以这种时间上的开销还是值得的。而对比K-means算法可以看出,在数据量较小或聚簇数目较小时,该算法的运算时间要比K-means算法稍高,但是随着数据量的增大和聚簇数目的增加,由于群智能算法特有的启发式搜索机制,其运算时间增长速率明显小于K-means算法。
本文的中心思想也是以上述的思想为基础,从训练集中计算出聚类的初始化中心,从而避免随机选取初始化聚类中心给k-means带来的影响,由于训练集的有限性也可以降低算法时间复杂度,增加算法的可伸缩性。
对数据的划分的最终 目的就是使一个聚类中的对象是相似ห้องสมุดไป่ตู้,不同的聚类中的对象是不相似的。如果用欧几里德距离度量相似度的话,每个聚类内的距离之和是小的,误差平方和是小的则可以说明是一个聚类中的元组。
关键词 :K—means;聚类算法;初始聚类中心;动态聚类
1.引言
聚类分析是数据挖掘领域一个重要的研究课题。聚类就是将物理或抽象对象的集合分成相似的对象类的过程,同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。通过自动聚类能够识别对象空间中稠密和稀疏区域,从而发现全局分布模式和数据属性之间的有趣的相关。同时聚类分析可以作为其他算法(例如特征化、属性子集选择以及分类)的预处理步骤。K-means 即 K 均值是一种基于划分的聚类算法,它以误差平方和 SSE(sum of the squared error)作为度量聚类质量的目标函数。传统的 K-means 算法随机选取初始聚类中心,算法容易陷入局部最优。如何选取一组合理的初始聚类中心,在降低聚类结果波动性的同时,又能得到较高的聚类准确率具有较高的意义。
4.实验与分析
4.1实验描述
为了验证本文改进的选取初始聚类中心算法的有效性,选取UCI数据库的Iris和Wine作为实验数据集。其中: Iris数据集包含150个数据对象,每个对象有4个属性,共有3个聚类,每个类包含50个对象;Wine数据集包含178个数据对象,每个对象有13个属性,共有3个聚类,分别包含59、71、48个对象选择同本文基于密度分布思想类似的两个改进算法文献[5]和文献[10]的算法,从初始聚类中心迭代次数和准确率三个方面进行对比,以说明本文算法选择初始聚类中心的有效性; 同时利用随机选择初始聚类中心的传统K-means算法和本文改进算法对两组数据集分别进行了10次测试。
4.2实验结果与分析
为了说明初始中心选取的有效性,采用Iris数据集,它的实际聚类中心为(5.01,3.43,1.46,0.25)、(5.94,2.77,4.26,1.33)、(6.59,2.97,5.55,2.03)。文献[10]算法得到的初始聚类中心为(5.007,3.416,1.461,0.238)、(5.895,2.728,4.276,1.352)、(7.025,3.14,5.826,2.18),误差平方和为0.32; 本文算法得到的初始聚类中心为(5.1,3.5,1.4,0.2)、(5.7,2.9,4.2,1.3)、(6.8,3,5.5,2.1),误差平方和为0.15 。
所以,传统的 k-means算法对不同的 k值可能会导致不同的聚类结果,该算法不能发现非凸面的类,不能发现大小差别很大的类,还有就是上面分析的k-means算法对 “噪声”和孤立点很敏感,少量的孤立点能对平均值产生极大的影响。
3.新的初始中心选取方法
从上面的分析得知初始中心的选取对整个聚类过程的影响,为了减少随机性的初始中心选择对聚类产生的影响,以下针对 k-means算法初始聚类中心的选择和孤立点对 k-means算法的影响作出改进。主要的思想是多次选取训练集,在选取训练集初始中心的基础上来估计整个数据集合的初始中心。用反证法的思想,假设已经知道数据集合的分布情况,则一个聚类中心应该满足下面条件:它能很好地代表该类;在一定的相似度内中心覆盖的数据元组
聚类分析中的差异度矩阵
其中,d(i,j)表示元组 i和元组 j之间的相似度。本文用两个元组的欧几里德距离
来描述向量元组 j=(t …,tjk)和 t;=(t.1,…,tik)的差异度。
定义 来度 量同样的覆盖度那几个元组相似度更高。
改进的算法 :
(1)从原始的数据中随机抽出 n个样本集 T1;
(2)假设集合有k个类 ;
应该是最多的。
图 1说明聚类中心更具有代表性,使得聚类内的相似度和最小。图2中大圆中是半径相同的两个圆,半径代表相似度范围,该图说明同样的相似度内以聚类中心O1为中心的“子”聚类中心和以02:为“子”聚类中心的子聚类覆盖的数据元组占据较大的比例,所以易得,要以0 为聚类中心。同样如果有1O个元组,那么有靠近聚类中心的相似度之和越高(半径越小,密度大),越远离聚类中心的元组它们之间的相似度之和越低(半径大,密度小)。
为了克服 K 均值算法的一些缺陷,很多学者都试图从不同的角度对 K 均值算法进行改进。总体上初始聚类中心的选择可以分为 3 种:随机抽样、距离优化和密度估计。文献[1]运用距离代价函数作为聚类有效性检验函数,当距离代价函数达到最小值时,空间聚类结果为最优。文献[2]提出基于最大最小距离法寻找初始聚类中心,算法能够找到最佳的聚类数目 K 以及合理的初始聚类中心。文献[3-4]根据聚类对象分布密度来确定初始聚类中心。文献[5]用密度函数法求得样本数据空间的多个聚类中心,并结合小类合并运算,能很好的避免局部最小。文献[6]提出了半监督 K-means 的 K 值全局寻优算法,利用少量数据来指导和规划大量无监督数据。文献[7]提出利用图论知识迭代得到稳定的聚类结果。文献[8]提出了一种基于密度估计选取初始聚类中心的方法 KNN(k-nearest neighborhood),算法迭代寻找 K个数据作为初始聚类中心。文献[9]提出了初始化 K-means 的谱算法。文献[10]提出了一种密度敏感的相似性度量,将其引入谱聚类得到密度敏感的谱聚类算法。Leng 等人在文献[11]中提出了一种基于影响因子的 K-means 算法。本文提出了基于最小生成树以及树的剪枝的方法将数据点划分为 K 个初始的聚类簇,并计算出初始的聚类中心。实验表明,改进的聚类算法得到了稳定的聚类结果,降低了聚类过程中迭代的次数,并取得了较高的准确率。
上的迭代次数均为7 。实际上,无论何种改进算法,聚类迭代次数不可能少于2次,即迭代次数最小为2,这是因为,必须经过第1次迭代的计算,才能得到新的聚类中心,在第2次迭代时,通过比较新聚类中心与原聚类中心,判断聚类是否满足结束条件。
传统K-means算法初始聚类中心是随机选取的,从表1可以看出,传统K-means算法聚类准确率的差别明显,聚类结果不稳定,而且迭代次数变化剧烈。而本文算法的聚类准确率稳定,针对Iris和Wine数据集分别是89.33%和70.22%,迭代次数则分别是2和7.这是因为改进的算法依据数据点的k-dist曲线确定的初始聚类中心是唯一的,能够代表数据的分布特征,达到较高的准确率,获得稳定的聚类结果,并且有效减少迭代次数。
致谢:
在此,向对本文的工作给予很多帮助的文献资料,还有向本课程老师金冉老师表示感谢。
6.参考文献
[1] 杨善林,李永森湖笑旋,等.K-means算法中的k值优化问题研究[J].系统工程理论与实践,2006(2):97.101.
5.结束语
由上可见, K_means算法因为对初始中心依赖性而导致聚类结果可能陷入局部极小,而采用密度函数法的多中心聚类并结合小类合并运算的聚类结果明显优于K_means的聚类结果,算法的每一次迭代都是倾向于发现超球面簇,尤其对于二维平面中延伸状的不规则簇具有良好的聚类能力。对于样本数据空间为高维数据时,还需修改初始化模型,其相关问题还须进一步研究。
一种有效的基于K_means聚类中心的选取方法
作者:***
摘要 :针对传统 k-means聚类算法中对初始聚类中心随意选取和人为指定的缺陷,提出一种改进的初始聚类中心的选取方法,利用差异矩阵将新的聚类初始中心计算方法用在传统的k-means算法思想中,对传统的 k-means算法进行改进。降低 k-means算法的复杂度和对异常点的敏感度,提高算法的可伸缩性。
k-means算法作为划分聚类算法的典型代表,有计算速度快、资源消耗少、几何意义直观、对大数据集处理等特点,该算法有相对可伸缩和高效率的特点。它的复杂度是 0(nkt),其中 k是聚类的个数,t是迭代次数,n是所有样本的个数。然而,传统的 k-means算法对于初始聚类中心的选择是随机的,或者是由用户主观指定的。k-means算法对初始聚类中心的依赖性很强,初始聚类中心选取的不同往往导致聚类结果相当不稳定,同时也会使迭代的次数大幅度增加;其次,k-means是基于目标函数的聚类方法,一般都用梯度法求极值。由于梯度法的搜索方向是沿着减小的方向进行,算法由于初值的不当可能会陷人局部极小点,所以,要谨慎的选择初始聚类中心。k—means算法还有一个缺点就是对异常点非常敏感,使得 k-means没有足够的稳定性。传统的 k-means算法具体过程如下所述。
在上述算法中可以看到,在传统的 k-means算法对于初始聚类中心的选择是随机的,或者是由用户指定的。这样某些聚类中的数据可能没被选到,而有的择中多个,这样会对产生聚类的结果有一定影响,同时也会增加迭代的次数,增加了划分聚类的时间。还有人使用多组随机挑选初始中心来聚类,将最好的聚类结果作为最终结果。该方法减少了随机方式带来的偏差,但是不适用于 k值较大时,同时它也增加了计算量。而且由于 k-means对于异常点是较为敏感的,如果选到中心点为异常点,将得不到理想的结果。用户指定初始聚类中心则会带有主观性,随意性,同时给用户增加了负担 。
(3)每次取m个最相似元组的元组,并分到一个类中;
(4)取这m个元组的中心Oi作为类的中心;
(5)从n个样本集中去除这 m个元组 ;
(6)重复执行 (3)、(4)直 到每个类都有m个元素。
为了避免异常点对预测的初始聚类中心产生影响,笔者多次选择训练集,再次对每个训练集的每个类中心Oi(f)进行选取类中心作为最终的初始类中心 。
在上述算法 的第 (3)步 中相似元组的选取方法依据下列理论:
从训练集中的差异矩阵 中依次选出m个元组所在行和列组成单个聚类内的差异矩阵 ,只有 当 最小时,把训练集的m个元组归为一个聚类中。在算法的第 (4)步中的聚类中心的选取方法如下:能覆盖所有元组的最小圆的圆心0i;作为聚类中心。在一定的范围内密度最大的中心。
可以看出,与实际聚类中心最接近的数据点是本文算法所得到的初始聚类中心,而文献[10]算法初始聚类中心的误差平方和比本文算法大,与实际初始聚类中心也较远’本文算法选择的初始聚类中心更接近实际聚类中心,能有效代表聚类的实际分布。
文献[5]算法在Iris与Wine上的准确率分别为89.33%和70.22%,与本文算法相同; 它在Iris上的迭代次数为5,本文算法在Iris上的迭代次数为2,小于文献[5],两者在Wine
算法:
输入:
k-means是一种迭代的聚类算法,迭代过程中不断地移动聚类集中的成员直到理想的类集为止。k—means算法的基本思想是:从 n个数据对象中随机选择 k个对象作为初始的聚类中心,通过迭代不断地更新聚类中心,把数据划分到不同的类中。对于上述传统的 k-means算法分析如下:对于一个有 n个元组的数据集 ,每个元组有d个属性,即每个元组是 d维的,指定该数据集可以分为类集的个数为 k,算法首先将每一个数据对象归到离它最近的聚类中心的聚类中,然后计算新的聚类中心,最后计算聚类准则函数。算法的时间复杂度为 0(ndk)。
对比实验表明,本文的改进算法选择主要密度水平曲线上k-dist值最小的点作为初始聚类中心,能够反映数据的实际分布,选取的初始聚类中心唯一,聚类结果稳定,聚类准确率高,迭代次数少。
从图2、3可以看出,由于NAFS算法中增加了小生境算法,其计算时间比AFS聚类算法要长一些,但是考虑到其求解精度上要优于AFS聚类算法,所以这种时间上的开销还是值得的。而对比K-means算法可以看出,在数据量较小或聚簇数目较小时,该算法的运算时间要比K-means算法稍高,但是随着数据量的增大和聚簇数目的增加,由于群智能算法特有的启发式搜索机制,其运算时间增长速率明显小于K-means算法。
本文的中心思想也是以上述的思想为基础,从训练集中计算出聚类的初始化中心,从而避免随机选取初始化聚类中心给k-means带来的影响,由于训练集的有限性也可以降低算法时间复杂度,增加算法的可伸缩性。
对数据的划分的最终 目的就是使一个聚类中的对象是相似ห้องสมุดไป่ตู้,不同的聚类中的对象是不相似的。如果用欧几里德距离度量相似度的话,每个聚类内的距离之和是小的,误差平方和是小的则可以说明是一个聚类中的元组。
关键词 :K—means;聚类算法;初始聚类中心;动态聚类
1.引言
聚类分析是数据挖掘领域一个重要的研究课题。聚类就是将物理或抽象对象的集合分成相似的对象类的过程,同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。通过自动聚类能够识别对象空间中稠密和稀疏区域,从而发现全局分布模式和数据属性之间的有趣的相关。同时聚类分析可以作为其他算法(例如特征化、属性子集选择以及分类)的预处理步骤。K-means 即 K 均值是一种基于划分的聚类算法,它以误差平方和 SSE(sum of the squared error)作为度量聚类质量的目标函数。传统的 K-means 算法随机选取初始聚类中心,算法容易陷入局部最优。如何选取一组合理的初始聚类中心,在降低聚类结果波动性的同时,又能得到较高的聚类准确率具有较高的意义。
4.实验与分析
4.1实验描述
为了验证本文改进的选取初始聚类中心算法的有效性,选取UCI数据库的Iris和Wine作为实验数据集。其中: Iris数据集包含150个数据对象,每个对象有4个属性,共有3个聚类,每个类包含50个对象;Wine数据集包含178个数据对象,每个对象有13个属性,共有3个聚类,分别包含59、71、48个对象选择同本文基于密度分布思想类似的两个改进算法文献[5]和文献[10]的算法,从初始聚类中心迭代次数和准确率三个方面进行对比,以说明本文算法选择初始聚类中心的有效性; 同时利用随机选择初始聚类中心的传统K-means算法和本文改进算法对两组数据集分别进行了10次测试。
4.2实验结果与分析
为了说明初始中心选取的有效性,采用Iris数据集,它的实际聚类中心为(5.01,3.43,1.46,0.25)、(5.94,2.77,4.26,1.33)、(6.59,2.97,5.55,2.03)。文献[10]算法得到的初始聚类中心为(5.007,3.416,1.461,0.238)、(5.895,2.728,4.276,1.352)、(7.025,3.14,5.826,2.18),误差平方和为0.32; 本文算法得到的初始聚类中心为(5.1,3.5,1.4,0.2)、(5.7,2.9,4.2,1.3)、(6.8,3,5.5,2.1),误差平方和为0.15 。
所以,传统的 k-means算法对不同的 k值可能会导致不同的聚类结果,该算法不能发现非凸面的类,不能发现大小差别很大的类,还有就是上面分析的k-means算法对 “噪声”和孤立点很敏感,少量的孤立点能对平均值产生极大的影响。
3.新的初始中心选取方法
从上面的分析得知初始中心的选取对整个聚类过程的影响,为了减少随机性的初始中心选择对聚类产生的影响,以下针对 k-means算法初始聚类中心的选择和孤立点对 k-means算法的影响作出改进。主要的思想是多次选取训练集,在选取训练集初始中心的基础上来估计整个数据集合的初始中心。用反证法的思想,假设已经知道数据集合的分布情况,则一个聚类中心应该满足下面条件:它能很好地代表该类;在一定的相似度内中心覆盖的数据元组
聚类分析中的差异度矩阵
其中,d(i,j)表示元组 i和元组 j之间的相似度。本文用两个元组的欧几里德距离
来描述向量元组 j=(t …,tjk)和 t;=(t.1,…,tik)的差异度。
定义 来度 量同样的覆盖度那几个元组相似度更高。
改进的算法 :
(1)从原始的数据中随机抽出 n个样本集 T1;
(2)假设集合有k个类 ;
应该是最多的。
图 1说明聚类中心更具有代表性,使得聚类内的相似度和最小。图2中大圆中是半径相同的两个圆,半径代表相似度范围,该图说明同样的相似度内以聚类中心O1为中心的“子”聚类中心和以02:为“子”聚类中心的子聚类覆盖的数据元组占据较大的比例,所以易得,要以0 为聚类中心。同样如果有1O个元组,那么有靠近聚类中心的相似度之和越高(半径越小,密度大),越远离聚类中心的元组它们之间的相似度之和越低(半径大,密度小)。
为了克服 K 均值算法的一些缺陷,很多学者都试图从不同的角度对 K 均值算法进行改进。总体上初始聚类中心的选择可以分为 3 种:随机抽样、距离优化和密度估计。文献[1]运用距离代价函数作为聚类有效性检验函数,当距离代价函数达到最小值时,空间聚类结果为最优。文献[2]提出基于最大最小距离法寻找初始聚类中心,算法能够找到最佳的聚类数目 K 以及合理的初始聚类中心。文献[3-4]根据聚类对象分布密度来确定初始聚类中心。文献[5]用密度函数法求得样本数据空间的多个聚类中心,并结合小类合并运算,能很好的避免局部最小。文献[6]提出了半监督 K-means 的 K 值全局寻优算法,利用少量数据来指导和规划大量无监督数据。文献[7]提出利用图论知识迭代得到稳定的聚类结果。文献[8]提出了一种基于密度估计选取初始聚类中心的方法 KNN(k-nearest neighborhood),算法迭代寻找 K个数据作为初始聚类中心。文献[9]提出了初始化 K-means 的谱算法。文献[10]提出了一种密度敏感的相似性度量,将其引入谱聚类得到密度敏感的谱聚类算法。Leng 等人在文献[11]中提出了一种基于影响因子的 K-means 算法。本文提出了基于最小生成树以及树的剪枝的方法将数据点划分为 K 个初始的聚类簇,并计算出初始的聚类中心。实验表明,改进的聚类算法得到了稳定的聚类结果,降低了聚类过程中迭代的次数,并取得了较高的准确率。
上的迭代次数均为7 。实际上,无论何种改进算法,聚类迭代次数不可能少于2次,即迭代次数最小为2,这是因为,必须经过第1次迭代的计算,才能得到新的聚类中心,在第2次迭代时,通过比较新聚类中心与原聚类中心,判断聚类是否满足结束条件。
传统K-means算法初始聚类中心是随机选取的,从表1可以看出,传统K-means算法聚类准确率的差别明显,聚类结果不稳定,而且迭代次数变化剧烈。而本文算法的聚类准确率稳定,针对Iris和Wine数据集分别是89.33%和70.22%,迭代次数则分别是2和7.这是因为改进的算法依据数据点的k-dist曲线确定的初始聚类中心是唯一的,能够代表数据的分布特征,达到较高的准确率,获得稳定的聚类结果,并且有效减少迭代次数。
致谢:
在此,向对本文的工作给予很多帮助的文献资料,还有向本课程老师金冉老师表示感谢。
6.参考文献
[1] 杨善林,李永森湖笑旋,等.K-means算法中的k值优化问题研究[J].系统工程理论与实践,2006(2):97.101.
5.结束语
由上可见, K_means算法因为对初始中心依赖性而导致聚类结果可能陷入局部极小,而采用密度函数法的多中心聚类并结合小类合并运算的聚类结果明显优于K_means的聚类结果,算法的每一次迭代都是倾向于发现超球面簇,尤其对于二维平面中延伸状的不规则簇具有良好的聚类能力。对于样本数据空间为高维数据时,还需修改初始化模型,其相关问题还须进一步研究。
一种有效的基于K_means聚类中心的选取方法
作者:***
摘要 :针对传统 k-means聚类算法中对初始聚类中心随意选取和人为指定的缺陷,提出一种改进的初始聚类中心的选取方法,利用差异矩阵将新的聚类初始中心计算方法用在传统的k-means算法思想中,对传统的 k-means算法进行改进。降低 k-means算法的复杂度和对异常点的敏感度,提高算法的可伸缩性。