数据库系统设计DatabaseSystemDesign电子技术与软件工程ElectronicTechnology&SoftwareEngineering226聚类算法是一种无监督学习算法,与监督学习不同的是,无监督学习算法的数据都是没有标签(类别)的。聚类算法的最终目标是通过样本点的内部特征将数据集中的样本点划分为若干个子集,每一个子集称之为一簇。那么,聚类的最优准则就是:簇内相似度高且簇间相似度低[1]。作为一种深入挖掘数据内在联系的算法,聚类分析已经被广泛应用在机器视觉、图像处理、自然语言处理、生物信息、模式识别等众多领域中[2-3]。通常,我们将经典聚类算法分为四大类:(1)基于划分的聚类算法:这种方法首先指定簇的数量k,然后按照一定的划分标准(比如欧式距离)将所有数据点进行划分,使得每个簇内部的点之间相似度高且不同簇的数据点间相似度低。典型的有:K-means算法、K-medoids算法、K-modes算法。(2)基于密度的聚类算法:这种方法不需要事先指定簇的数量k,而是根据密度将处于同一密度区域的点归结为一类,同时忽视密度低或者孤立的数据点。代表性的算法有:DBSCAN算法、DensityPeakCluster算法。(3)基于模型的聚类算法:这种方法首先构建数据集遵守的函数模型,然后通过最小化误差的方法来确定模型参数和簇的划分。代表性的算法有:SpectralCluster算法、高斯混合模型、神经网络聚类等。(4)综合聚类算法:这种方法融合了两种以上的数学思想或聚类算法,形成新的综合性聚类算法。代表性的算法有:FCM算法、模糊神经网络聚类算法。本文从四大类聚类算法中分别选取K-means算法、DensityPeakCluster算法、SpectralCluster算法和FCM算法作为比较研究对象,再从算法原理和对比实验两个方面来分析这几种经典算法的异同和优略。1算法原理分析1.1K-means算法K-means算法又称K-均值算法,它是由美国加州大学的J.B.MacQueen在1967年提出来的。K-means的主要算法流程如下[4]:(1)K-means算法会预先设定簇数为K。(2)随机选择K个样本点作为初始簇中心,并计算数据集中每个样本点到簇中心的欧几里得距离。(3)根据“就近原则”将样本点分配到距其最近的簇中心所在的簇中。(4)重复执行第2步和第3步的内容,直到达到最大的迭代次数或者簇中心不再变化为止。由上述K-means的算法流程可知,在K-means中将两点间的欧式距离作为样本点间相似度的度量标准,也就是说两个样本点的空间欧式距离越近,则它们相似度越高,也就会被划分到同一个簇中去。K-means算法简单直...