几个初始聚类中心选取算法比较
各种聚类算法的比较

各种聚类算法的比较聚类算法是一种将数据按照相似性分组的无监督学习方法。
在数据分析和机器学习中,聚类算法被广泛应用于数据挖掘、模式识别、图像处理等领域。
本文将介绍几种常见的聚类算法,并对它们进行比较。
1. K-means算法K-means算法是最常见的聚类算法之一,它将数据划分为K个集群,每个集群包含最接近其均值的数据点。
该算法迭代地更新集群的均值,直到满足收敛条件。
K-means算法简单、高效,适用于大型数据集。
然而,它对异常值和噪声敏感,并且对初始聚类中心的选择非常敏感。
2.层次聚类算法层次聚类算法是一种自底向上或自顶向下的聚类方法,它通过计算数据点之间的相似性构建一个聚类层次结构。
这种层次结构可以以树状图的形式表示,称为树状图聚类。
层次聚类算法的优点是不需要指定聚类个数,且能够处理任意形状的聚类。
然而,该算法的计算复杂度较高,并且对输入数据的规模和噪声敏感。
3.密度聚类算法密度聚类算法通过计算数据点周围的密度来确定聚类结构。
DBSCAN是最常见的密度聚类算法之一,它通过指定半径和邻域密度来定义聚类。
DBSCAN能够识别任意形状的聚类,并且对噪声和异常值具有较高的鲁棒性。
然而,密度聚类算法对参数的选择非常敏感,并且对高维数据和不同密度的聚类效果较差。
4.基于概率的聚类算法基于概率的聚类算法假设数据服从其中一种概率分布,并通过最大化似然函数来进行聚类。
GMM (Gaussian Mixture Model) 是一种常见的基于概率的聚类算法,它假设数据由多个高斯分布组成。
GMM算法能够分离具有不同协方差的聚类,适用于高维数据和非球状的聚类。
然而,该算法对初始参数的选择敏感,并且计算复杂度较高。
5.划分聚类算法划分聚类算法将数据划分为互斥的聚类,然后通过迭代地重新分配数据点来优化聚类质量。
PAM (Partitioning Around Medoids) 和CLARA (Clustering Large Applications)是常见的划分聚类算法。
k均值算法的具体步骤

k均值算法的具体步骤k均值算法是一种常用的聚类算法,用于将数据集划分为k个不同的簇。
它的具体步骤如下:1. 初始化:选择k个初始聚类中心。
可以随机选择数据集中的k个样本作为初始聚类中心,也可以使用其他方法。
2. 分配样本:对于数据集中的每个样本,计算它与每个聚类中心的距离,并将其分配到距离最近的聚类中心所代表的簇中。
3. 更新聚类中心:对于每个簇,计算该簇所有样本的平均值,将其作为新的聚类中心。
4. 重新分配样本:根据新的聚类中心,重新分配每个样本到最近的簇中。
5. 迭代更新:重复步骤3和步骤4,直到聚类中心不再变化或达到预定的迭代次数。
6. 输出结果:得到最终的聚类结果,即每个样本所属的簇。
k均值算法的核心思想是通过最小化样本与聚类中心之间的距离来使得同一簇内的样本相似度最高,不同簇之间的样本相似度最低。
在初始化阶段,选择合适的初始聚类中心非常重要。
不同的初始选择可能导致不同的聚类结果,因此需要谨慎选择。
在分配样本阶段,需要计算样本与聚类中心之间的距离。
常用的距离度量方法有欧氏距离、曼哈顿距离等。
选择合适的距离度量方法也会影响到聚类结果。
在更新聚类中心阶段,通过计算每个簇内样本的平均值来更新聚类中心。
这样做可以使得新的聚类中心更好地代表簇内的样本。
在重新分配样本阶段,根据新的聚类中心重新分配每个样本。
这一步骤会不断更新样本所属的簇,直到收敛。
k均值算法是一个迭代的过程,需要多次进行聚类中心的更新和样本的重新分配。
迭代的次数取决于算法的收敛速度和预定的迭代次数。
最终输出的结果是每个样本所属的簇。
通过对聚类结果的分析,可以发现不同簇之间的差异性,进而进行进一步的数据分析和决策。
需要注意的是,k均值算法对初始聚类中心的选择比较敏感,不同的初始选择可能导致不同的聚类结果。
因此,为了得到更好的聚类结果,可以多次运行算法并选择最优的结果。
k均值算法还有一些改进的版本,如k均值++算法和k均值||算法,它们在选择初始聚类中心的方法上进行了改进,能够更好地避免陷入局部最优解的问题。
K-MEANS算法(K均值算法)

k-means 算法一.算法简介k -means 算法,也被称为k -平均或k -均值,是一种得到最广泛使用的聚类算法。
它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个聚类内紧凑,类间独立。
这一算法不适合处理离散型属性,但是对于连续型具有较好的聚类效果。
二.划分聚类方法对数据集进行聚类时包括如下三个要点:(1)选定某种距离作为数据样本间的相似性度量k-means 聚类算法不适合处理离散型属性,对连续型属性比较适合。
因此在计算数据样本之间的距离时,可以根据实际需要选择欧式距离、曼哈顿距离或者明考斯距离中的一种来作为算法的相似性度量,其中最常用的是欧式距离。
下面我给大家具体介绍一下欧式距离。
假设给定的数据集 ,X 中的样本用d 个描述属性A 1,A 2…A d 来表示,并且d 个描述属性都是连续型属性。
数据样本x i =(x i1,x i2,…x id ), x j =(x j1,x j2,…x jd )其中,x i1,x i2,…x id 和x j1,x j2,…x jd 分别是样本x i 和x j 对应d 个描述属性A 1,A 2,…A d 的具体取值。
样本xi 和xj 之间的相似度通常用它们之间的距离d(x i ,x j )来表示,距离越小,样本x i 和x j 越相似,差异度越小;距离越大,样本x i 和x j 越不相似,差异度越大。
欧式距离公式如下:(2)选择评价聚类性能的准则函数k-means 聚类算法使用误差平方和准则函数来评价聚类性能。
给定数据集X ,其中只包含描述属性,不包含类别属性。
假设X 包含k 个聚类子集X 1,X 2,…X K ;{}|1,2,...,m X x m total ==(),i j d x x =各个聚类子集中的样本数量分别为n 1,n 2,…,n k ;各个聚类子集的均值代表点(也称聚类中心)分别为m 1,m 2,…,m k 。
k均值算法的基本流程

k均值算法的基本流程
K均值( K-means)是一种常见的聚类算法,用于将数据集中的样本分成K个类别。
其基本流程如下:
1.选择K个初始聚类中心:(首先需要选择K个初始的聚类中心,这些中心可以是随机选择的数据点或者是手动指定的。
2.分配样本到最近的聚类中心:(对于每一个样本,计算其与K个聚类中心的距离,并将其分配到距离最近的聚类中心所代表的类别中。
3.更新聚类中心:(对于每一个类别,重新计算其所有样本的平均值 即新的聚类中心)。
4.重复步骤2和步骤3:(重复执行将样本分配到最近的聚类中心和更新聚类中心的步骤,直到满足停止条件( 例如,聚类中心不再发生变化,或达到预定的迭代次数)。
5.输出结果:(最终得到K个聚类中心和相应的类别,可以根据这些聚类中心将新的样本进行分类。
K均值算法主要的优点在于简单易懂、计算效率高,适用于大型数据集。
然而,K均值算法对初始聚类中心的选择敏感,可能会受到初始聚类中心的影响而陷入局部最优解。
因此,有时需要多次运行算法并比较结果来提高其准确性。
1/ 1。
聚类算法:K-Means和DBSCAN的比较

聚类算法:K-Means和DBSCAN的比较聚类是一种无监督学习的方法,它将数据分组成具有相似特征的集合,称为簇(cluster)。
簇分析是统计学、计算机科学、机器学习和数据挖掘等领域中的常用技术之一。
目前,聚类算法已广泛应用于用户行为分析、市场营销、图像处理、生物信息学、搜索引擎、社交网络等领域。
在聚类算法中,K-Means和DBSCAN是两种具有代表性的算法。
本文将从算法原理、优缺点、适用场景等方面对它们进行比较分析。
一、K-Means算法K-Means算法是一种基于距离的聚类算法。
它的基本思想是从数据集中选取k个初始聚类中心,不断迭代,把每个数据点归为距离最近的聚类中心所在的簇。
K-Means算法的优点是计算简单、速度快、可并行计算,适用于处理大规模数据集。
但是K-Means算法的聚类结果受初始聚类中心的影响较大,算法的性能对于簇的形状、大小和分布较为敏感。
算法流程:1.选择k个聚类中心2.对于每个数据点,计算距离最近的聚类中心,将其划分到相应的簇中3.对于每个簇,重新计算该簇的聚类中心4.重复步骤2和步骤3,直到聚类中心不再变化或达到最大迭代次数二、DBSCAN算法DBSCAN算法是一种基于密度的聚类算法。
它的基本思想是将密度高于某一阈值的数据点定义为核心点(Core Points),将与核心点距离不超过一定距离的数据点归为同一个簇(Cluster),将距离较远的数据点称为噪声点(Noise)。
DBSCAN算法的优点是可以自动识别任意形状的簇,对初始聚类中心不敏感,适用于处理稠密数据集。
但是DBSCAN算法的聚类结果对于数据点密度分布的敏感度较高,平均时间复杂度较高。
算法流程:1.对于每个数据点,计算其邻域(Neighborhood)内的数据点个数,如果邻域内的数据点个数大于等于密度阈值,则该点为核心点,否则该点为噪声点2.将所有核心点加入到一个簇中,对每个核心点进行扩展,将邻域内的数据点加入到该簇中,直到不能再扩展3.继续处理下一个未被归类的核心点,直到所有核心点都在某个簇中或被标记为噪声点三、K-Means和DBSCAN的比较1.聚类精度K-Means算法适用于簇形状较为规则且大小相似的数据集,但对于不规则形状、大小差异较大的数据集,其聚类效果并不理想。
各种聚类算法的比较

各种聚类算法的比较聚类算法是一种无监督学习方法,用于将样本划分为具有相似特征的不同组别。
在机器学习和数据挖掘中被广泛应用。
有许多不同的聚类算法可供选择,每个算法有其独特的优点和适用范围。
在本文中,我们将比较几种常用的聚类算法,以帮助选择最适合特定问题和数据集的算法。
1.K均值聚类算法:K均值算法是一种经典的聚类算法。
它将数据点分为K个不同的簇,使得同一簇内的数据点之间的距离尽可能小,不同簇之间的距离尽可能大。
该算法计算复杂度较低,适用于大数据集。
然而,该算法对初始聚类中心的选择非常敏感,并且只能处理数值型数据。
2.层次聚类算法:层次聚类算法通过计算数据点之间的相似性将它们逐步聚类成树状结构。
该算法不需要事先指定聚类个数,并且可以处理各种数据类型。
然而,该算法在处理大数据集时计算复杂度较高,并且结果的质量受到相似性度量的影响。
3.密度聚类算法:密度聚类算法使用数据点密度来识别簇。
该算法可以处理不规则形状的簇,并且对初始聚类中心的选择不敏感。
DBSCAN是一种常用的密度聚类算法。
然而,该算法对密度参数的选择敏感,并且在处理高维数据时效果可能不好。
4.基于模型的聚类算法:基于模型的聚类算法将数据点建模为一些概率分布的样本。
该算法可以处理不同形状和大小的簇,并且能够进行概率推断。
高斯混合模型(GMM)是一种常用的基于模型的聚类算法。
然而,该算法对模型的选择和参数估计比较困难。
5.谱聚类算法:谱聚类算法通过矩阵分解来对数据进行聚类。
该算法可以处理非线性可分的数据,并且不需要事先指定聚类个数。
然而,该算法在处理大数据集时计算开销较大,并且对相似度矩阵的构建方法敏感。
以上只是一些常见的聚类算法,实际上还有许多其他聚类算法可供选择,如affinity propagation、BIRCH、OPTICS等。
每种算法都有其独特的特点和适用范围。
在选择聚类算法时,需要考虑数据集的规模、维度、特征类型以及问题的特殊需求等因素。
数据挖掘十大经典算法

数据挖掘十大经典算法一、 C4.5C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;2) 在树构造过程中进行剪枝;3) 能够完成对连续属性的离散化处理;4) 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。
其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
1、机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。
树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。
2、从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。
3、决策树学习也是数据挖掘中一个普通的方法。
在这里,每个决策树都表述了一种树型结构,他由他的分支来对该类型的对象依靠属性进行分类。
每个决策树可以依靠对源数据库的分割进行数据测试。
这个过程可以递归式的对树进行修剪。
当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。
另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。
决策树是如何工作的?1、决策树一般都是自上而下的来生成的。
2、选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。
3、从根到叶子节点都有一条路径,这条路径就是一条―规则4、决策树可以是二叉的,也可以是多叉的。
对每个节点的衡量:1) 通过该节点的记录数2) 如果是叶子节点的话,分类的路径3) 对叶子节点正确分类的比例。
有些规则的效果可以比其他的一些规则要好。
由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。
kmeans初始化中心方法

kmeans初始化中心方法
在K均值聚类算法中,需要选择合适的初始聚类中心。
常用的初始化中心方法包括:1. 随机选择:随机选择K个样本作为初始聚类中心。
2. K-means++:K-means++算法是一种改进的初始化方法。
它首先随机选择一个样本作为第一个聚类中心,然后根据离已有聚类中心的距离进行概率采样,选取下一个聚类中心,直到选取K个聚类中心。
这样可以尽量确保初始聚类中心的初始化质量,避免陷入局部最优解。
3. 均匀分布采样:从样本空间中均匀采样K个样本作为初始聚类中心。
4. 人工指定:根据领域知识或经验,手动指定K个样本作为初始聚类中心。
选择合适的初始化中心方法可以影响K均值聚类算法的收敛速度和聚类效果。
K-means++算法是目前较常用的初始化方法,因为它在一定程度上可以优化初始聚类中心的选择,减少算法的迭代次数,并且避免陷入局部最优解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
几个初始聚类中心选取算法的比较研究【摘要】传统的k均值算法对初始聚类中心敏感。
在实际应用中,找到一组初始中心点,从而获得一个较好的聚类效果并消除聚类结果的波动性对k均值算法具有重要意义。
本文对文献提出的基于huffman树构造的思想选取初始聚类中心、基于均值-标准差选取初始聚类中心、基于密度选取初始聚类中心、采用最大距离积法选取初始聚类中心等4个算法从算法思想、关键技术等方面进行了比较研究。
【关键词】初始聚类;算法
1.引言
聚类分析是数据挖掘的功能之一,是在训练数据不提供类标号的情况下按照最大化类内对象间的相似性、最小化不同类对象之间的相似性的原则聚类和分组数据。
通过自动聚类能够识别对象空间中稠密和稀疏区域,从而发现全局分布模式和数据属性之间有趣的相关性。
目前,存在着大量的聚类算法,k均值算法是应用广泛的聚类算法之一。
1967年,macqueen首次提出了k均值聚类算法,该算法的核心思想是找出k个聚类中心使得每一个数据点xi和与其最近的聚类中心cv的平方距离和被最小化。
首先,随机地选择k个对象,每个对象代表一个簇的聚类中心。
然后,对剩余的每个对象,根据其与各个聚类中心的距离,将它指派到最相似的簇;计算每个
簇的均值,将它作为新的聚类中心。
不断重复这个过程,直到准则函数收敛。
准则函数采用平方误差准则,定义如(1.1)所示:(1.1)
k均值算法具有思想简单、时间复杂度接近线性、对大规模数据的挖掘具有可伸缩性等优点,但是也存在对聚类初始值的依赖、聚类个数k 需要预先给定、准则函数易陷入局部极小、对离群点敏感等缺点。
k均值算法对聚类初始值的依赖表现在从不同的初始聚类中心出发,得到的聚类结果也不一样,并且一般不会得到全局最优解。
在实际应用中,由于初始输入不同而造成结果的波动是不能接受的。
因此怎样找到一组初始中心点,从而获得一个较好的聚类效果并消除聚类结果的波动性对k-means算法具有重要意义。
本文分析比较了文献提出的几个初始聚类中心选取算法,这几个算法分别是:基于huffman树构造的思想选取初始聚类中心、基于均值-标准差选取初始聚类中心、基于密度选取初始聚类中心、采用最大距离积法选取初始聚类中心等4个算法。
2.基于huffman树构造的思想选取初始聚类中心算法
基于huffman树的思想的k-均值聚类算法流程大体分三步:1)根据huffman树的思想。
基于数据相异度,将数据样本构造成一棵树。
根据算法的实际需要,在构造树的时候做了改变:对于构造树,不用左右子树根结点权值之和作为新的二叉树根结点,而是采用左右结点的算法平均值作为新的二叉树根结点的值。
2)对于构造出来的huffman树,按构造结点的逆序找到k-1个结点,根据图论理论可知,去掉这k-1个结点可将树分为k个子树,这k个子树的平均值即初始的k个聚类中心点。
3)对于已得的k个初始聚类中心,按照k均值聚类算法进行聚类。
算法中的数据点之间的相异度度量采用欧式距离。
用一个例子说明构造树并得到初始中心的过程,假设有一组数据(x1,x2,x3,x4,x5,x6)。
它们对应的权值为(12,34,56,78,8,89),需要将这6个点聚成3类。
过程如下:
1)首先根据欧式距离计算6个对象之间的相异度,得到相异度矩阵见式(2.1),
(2.1)
2)找到矩阵中最小值是4,也就是数据点x1(12)和x5(8)的相异度,计算这两点的算术平均值为10,将此平均值记为x11并且作为x1和x2中间结点加入树见图2.1(b)。
在数据集中删除x1和x5,并将x11加入到数据集时得到新的数据集(x11,x2,x3,x4,x6)对应的值为(10,34,56,78,98),计算它们的相异度矩阵见式(2.2)
(2.2)
3)重复第(2)步直到数据集中只剩下一个对象。
剩下的迭代过程相异度矩阵变化如图2.1,树的构造过程示意图见图2.2
4)将数据集聚成3类,即k=3,在已构造出来的树(图2.2(c))中按结点构造的逆序找出k-1个点,即57.75和27.5,去掉这两点即可将构造树分为3个子树(x1,x5)、(x2,x3)、(x4,x6),对应树中的结点为(8,12)、(34,56)、(78,98)。
三个子树的平均值10,45,88即为三个簇的初始中心点。
3. 基于均值-标准差选取初始聚类中心算法
由k均值算法可知,如果所选的初始聚类中心取在几个密集区域的中心,其周围的点越容易分布到最近的点,聚类收敛越快,所需要迭代的次数越少。
其中涉及最优初始聚类中心点的选取。
若要分析所有数据的分布情况计算其分布密度,那是非常复杂的事。
根据随机函数的分布知识,聚类的数据应主要分布在所有数据的均值附近。
标准差是评价数据分布的又一重要标志。
假设所有数据的均值为μ,标志差为σ,则数据应该主要分布在(μ-σ,μ+σ)之间。
假设分类数为k,选择初始分类点为(μ-σ,μ+σ)之间的k个等分点进行。
设第i类的初始分类中心为mi,公式如(3.1)所示,
(3.1)[3]
如果参与分类的是多维数据,如d维,则每个初始聚类中心的各个向量为(μl-σl,μl+σl)之间,设第i类聚类初始中心值为(mi1,mi2,…,mid),公式如(3.2)所示,
(3.2)[3]
4. 基于密度选取初始聚类中心算法
基于密度选取初始聚类中心算法描述如下:
输入:聚类个数k以及包含n个数据对象的数据集;
输出:k个初始聚类中心。
1)计算任意两个数据对象间的距离d(xi,xj);
2)计算每个数据对象的密度参数,把处于低密度区域的点删除,得到处于高密度区域的数据对象的集合d;
3)把处于最高密度区域的数据对象作为第1个中心z1;
4)把z1距离最远的数据对象作为第2个初始中心z2,z2∈d 5)令z3为满足max(min(d(xi,z1),d(xi,z2)),i=1,2,…,n[1]的数据对象xi,z3∈d。
6)令z4为满足max(min(d(xi,z1),d(xi,z2),d(xi,z3))),i=1,2,…,n的数据对象xi,z4∈d。
7)令zk为满足max(min(d(xi,zj))),i=1,2,…,n,j=1,2,…,k-1[1]的xi,zk∈d.
从这k个初始聚类中心出发,应用k均值聚类算法,得到聚类结果。
5. 采用最大距离积法选取初始聚类中心算法
基于密度选取初始聚类中心法与随机初始化聚类中心相比,降低了对初始聚类中心的敏感性,在收敛速度、准确率方面都有了较大的进步。
但由于它所选聚类中心遵从最小距离的思想,可能造成
初始聚类中心选取过于稠密,出现聚类冲突现象,使得原本属于一个簇的对象被分为两个不同的簇中,从而降低了聚类结果的质量。
为了克服初始聚类中心所选过于稠密的现象,提出了最大距离积法,尽可能地疏忽初始聚类中心的分布。
基本思想如下:按照与基于密度选取初始聚类中心法同样的思路,根据密度参数找到高密度点集合d和初始的两个聚类中心z1,z2,z1,z2分别是最高密度区域的数据对象与次高密度区域的数据对象,再计算d中其余数据对象xi到z1,z2的距离d(xi,z1)和d(xi,z2);令z3为满足 max(d(xi,z1))×d(xi,z2))的数据对象xi;令zk为满足max(d(xi,z1)×d(xi,z2)×…×d(xi,zk-1))[4]的数据对象xi,xi∈d。
依次可得到k个初始聚类中心。
其基本步骤描述如下:
1)计算任意两个数据对象间的距离d(xi,xj);
2)通过密度参数minpts和ε,把处于低密度区域的点删除,得到高密度区域的数据对象集合d;
3)把处于高密度区域的数据对象作为第1个聚类中心z1,加入集合z(已初始化聚类中心)中,同时从集合d中删除;再在集合d中找到距离z1最远的点作为第2个聚类对象z2,将其加入集合z 中,并从集合d中删除。
4)在集合d中搜索到集合z中的每个点的距离乘积最大的点作为当前所要找的聚类中心,并加入集合z.
5)重复步骤4),直到集合z中的样本个数达到k个,聚类中心初始化完成。
6.描述算法时涉及的定义
描述算法时涉及的定义如表6.1所示
7.小结
k均值聚类算法是一种广泛应用的聚类算法,但是聚类结果随不同的聚类中心波动的特性影响了这种算法的应用范围。
本文分析的4种常见k均值初始聚类中心选择算法用于k均值算法,能消除算法对初始聚类中心的敏感性,并能得到较好的聚类结果。
参考文献:
[1]袁方,周志勇,宋鑫.初始聚类中心优化的k-means算法[j].计算机工程,2007,33(3):65-66.
[2]吴晓蓉.k—均值聚类算法初始中心选取相关问题的研究[c].湖南大学硕士学位论文,2008.
[3]张文君,顾行发,陈良富,余涛,许华.基于均值-标准差的均值初始聚类中心选取算法[j].遥感学报,2006,10(5):715-721
[4]熊忠阳,陈若田,张玉芳.一种有效的k-means聚类中心初始化方法[j].计算机应用研究,2011,28(11):4188-4190。