聚类分析K-means算法综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聚类分析K-means算法综述
摘要:介绍K-means聚类算法的概念,初步了解算法的基本步骤,通过对算法缺点的分析,对算法已有的优化方法进行简单分析,以及对算法的应用领域、算法未来的研究方向及应用发展趋势作恰当的介绍。
关键词:K-means聚类算法基本步骤优化方法应用领域研究方向应用发展趋势
算法概述
K-means聚类算法是一种基于质心的划分方法,输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类。
评定标准:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算。
解释:基于质心的划分方法就是将簇中的所有对象的平均值看做簇的质心,然后根据一个数据对象与簇质心的距离,再将该对象赋予最近的簇。
k-means 算法基本步骤
(1)从n个数据对象任意选择k 个对象作为初始聚类中心
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分
(3)重新计算每个(有变化)聚类的均值(中心对象)
(4)计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)
形式化描述
输入:数据集D,划分簇的个数k
输出:k个簇的集合
(1)从数据集D中任意选择k个对象作为初始簇的中心;
(2)Repeat
(3)For数据集D中每个对象P do
(4)计算对象P到k个簇中心的距离
(5)将对象P指派到与其最近(距离最短)的簇;
(6)End For
(7)计算每个簇中对象的均值,作为新的簇的中心;
(8)Until k个簇的簇中心不再发生变化
对算法已有优化方法的分析
(1)K-means算法中聚类个数K需要预先给定
这个K值的选定是非常难以估计的,很多时候,我们事先并不知道给定的数据集应该分成多少个类别才最合适,这也是K一means算法的一个不足"有的算法是通过类的自动合并和分裂得到较为合理的类型数目k,例如Is0DAIA算法"关于K一means算法中聚类数目K 值的确定,在文献中,根据了方差分析理论,应用混合F统计量来确定最佳分类数,并应用了模糊划分嫡来验证最佳分类数的正确性。在文献中,使用了一种结合全协方差矩阵RPCL算法,并逐步删除那些只包含少量训练数据的类。文献中针对“聚类的有效性问题”提出武汉理工大学硕士学位论文了一种新的有效性指标:V(k km) = Intra(k) + Inter(k) / Inter(k max),其中k max是可聚类的最大数目,目的是选择最佳聚类个数使得有效性指标达到最小。文献中使用的是一种称为次胜者受罚的竞争学习规则来自动决定类的适当数目"它的思想是:对每个输入而言不仅竞争获胜单元的权值被修正以适应输入值,而且对次胜单元采用惩罚的方法使之远离输入值。
(2)算法对初始值的选取依赖性极大以及算法常陷入局部极小解
不同的初始值,结果往往不同。K-means算法首先随机地选取k个点作为初始聚类种子,再利用迭代的重定位技术直到算法收敛。因此,初值的不同可能导致算法聚类效果的不稳定,并且,K-means算法常采用误差平方和准则函数作为聚类准则函数(目标函数)。目标函数往往存在很多个局部极小值,只有一个属于全局最小,由于算法每次开始选取的初始聚类中心落入非凸函数曲面的“位置”往往偏离全局最优解的搜索范围,因此通过迭代运算,目标函数常常达到局部最小,得不到全局最小。对于这个问题的解决,许多算法采用遗传算法(GA),例如文献中采用遗传算法GA进行初始化,以内部聚类准则作为评价指标。
(3)从K-means算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大
所以需要对算法的时间复杂度进行分析,改进提高算法应用范围。在文献中从该算法的时间复杂度进行分析考虑,通过一定的相似性准则来去掉聚类中心的候选集,而在文献中,使用的K-meanS算法是对样本数据进行聚类。无论是初始点的选择还是一次迭代完成时对数据的调整,都是建立在随机选取的样本数据的基础之上,这样可以提高算法的收敛速度。
算法的应用领域
聚类分析是数据挖掘中的一个重要的研究领域,是一种数据划分或分组处理的重要手段和方法。聚类无论是在商务领域,还是在生物学、Web文档分类、图像处理等其他领域都得到了有效的应用,目前聚类算法大体上分为划分的方法、基于层次的方法,基于密度的方法、基于网格的方法、基于模型的方法。
聚类的用途体现在数字图像处理(Digital Image Processing)即计算机图像处理,就是利用计算机对图像进行去除噪声、增强、复原、分割、特征提取、识别等处理的理论、方法和技术。最早出现于20世纪50年代,它作为一门学科大约形成于20世纪60年代初期。它以改善图像的质量为对象,以改善人的视觉效果为目的。在处理过程中,输入低质量图像,输出质量高图像,图像增强、复原、编码、压缩等都是图像处理常用的方法。聚类的用途是很广泛的,数字图像处理在航天、航空、星球探测、通信技术、军事公安、生物工程和医学等领域都有广泛的应用,并取得了巨大的成就。
算法未来的研究方向
聚类分析可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来,并且概括出每一类消费者的消费模式或者说习惯。它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据库中分布的一些深层的信息,并且概括出每一类的特点,或者把注意力放在某一个特定的类上以作进一步的分析;并且,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。
聚类渗透在生活中的方方面面,21世纪是信息时代,人们的生活与科技信息密切相关,科技创新是人类文明进步的一个标志,使得人类花更多的精力投入在科技研究领域当中,而聚类在科技领域中起到了很大的推进作用,所以未来的研究方向应在科技领域。
算法应用的发展趋势
聚类算法接近生活,与生活密切相关,并且在生活中扮演着越来越重要的角色,促使更多的人投入到聚类算法的研究当中,算法得到拓展,演变出更多的变体,涉及更多的东西,迫使算法越来越完善,越来越贴近生活。总的来说,聚类算法在前人的基础上,不断在进步,一路发展下去,让算法更好地服务于人类,谱写人类的文明史。