资源描述:
《几个初始聚类中心选取算法的比较研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、几个初始聚类中心选取算法的比较研究【摘要】传统的k均值算法对初始聚类中心敏感。在实际应用中,找到一组初始中心点,从而获得一个较好的聚类效果并消除聚类结果的波动性对k均值算法具有重要意义。本文对文献提出的基于Huffman树构造的思想选取初始聚类中心、基于均值-标准差选取初始聚类中心、基于密度选取初始聚类中心、采用最大距离积法选取初始聚类中心等4个算法从算法思想、关键技术等方面进行了比较研究。【关键词】初始聚类;算法引言聚类分析是数据挖掘的功能之一,是在训练数据不提供类标号的情况下按照最大化类内对象间的相似性、最小化不同类对象之间的相似性的原则聚类和分组数据。通过自动聚类能够识别对象空
2、间中稠密和稀疏区域,从而发现全局分布模式和数据属性之间有趣的相关性。目前,存在着大量的聚类算法,K均值算法是应用广泛的聚类算法之一。1967年,MacQueen首次提出了K均值聚类算法,该算法的核心思想是找出k个聚类中心使得每一个数据点xi和与其最近的聚类中心cv的平方距离和被最小化。首先,随机地选择k个对象,每个对象代表一个簇的聚类中心。然后,对剩余的每个对象,根据其与各个聚类中心的距离,将它指派到最相似的簇;计算每个簇的均值,将它作为新的聚类中心。不断重复这个过程,直到准则函数收敛。准则函数采用平方误差准则,定义如(1.1)所示:(1.1)K均值算法具有思想简单、时间复杂度接近线
3、性、对大规模数据的挖掘具有可伸缩性等优点,但是也存在对聚类初始值的依赖、聚类个数K需要预先给定、准则函数易陷入局部极小、对离群点敏感等缺点。K均值算法对聚类初始值的依赖表现在从不同的初始聚类中心出发,得到的聚类结果也不一样,并且一般不会得到全局最优解。在实际应用中,由于初始输入不同而造成结果的波动是不能接受的。因此怎样找到一组初始中心点,从而获得一个较好的聚类效果并消除聚类结果的波动性对k-means算法具有重要意义。本文分析比较了文献提出的几个初始聚类中心选取算法,这几个算法分别是:基于Huffman树构造的思想选取初始聚类中心、基于均值-标准差选取初始聚类中心、基于密度选取初始聚
4、类中心、采用最大距离积法选取初始聚类中心等4个算法。基于Huffman树构造的思想选取初始聚类中心算法基于Huffman树的思想的K_均值聚类算法流程大体分三步:1)根据Huffman树的思想。基于数据相异度,将数据样本构造成一棵树。根据算法的实际需要,在构造树的时候做了改变:对于构造树,不用左右子树根结点权值之和作为新的二叉树根结点,而是采用左右结点的算法平均值作为新的二叉树根结点的值。对于构造出来的Huffman树,按构造结点的逆序找到k-1个结点,根据图论理论可知,去掉这k-1个结点可将树分为k个子树,这k个子树的平均值即初始的k个聚类中心点对于已得的k个初始聚类中心,按照K均
5、值聚类算法进行聚类。算法中的数据点之间的相异度度量采用欧式距离。用一个例子说明构造树并得到初始中心的过程,假设有一组数据(xl,x2,x3,x4,x5,x6)o它们对应的权值为(12,34,56,78,8,89),需要将这6个点聚成3类。过程如下:1)首先根据欧式距离计算6个对象之间的相异度,得到相异度矩阵见式(2.1),(2.1)2)找到矩阵中最小值是4,也就是数据点xl(12)和x5(8)的相异度,计算这两点的算术平均值为10,将此平均值记为xll并且作为xl和x2中间结点加入树见图2.1(b)。在数据集中删除xl和x5,并将xll加入到数据集时得到新的数据集(xll,x2,x3
6、,x4,x6)对应的值为(10,34,56,78,98),计算它们的相异度矩阵见式(2.2)(2.2)3)重复第(2)步直到数据集中只剩下一个对象。剩下的迭代过程相异度矩阵变化如图2.1,树的构造过程示意见图2.24)将数据集聚成3类,即k=3,在已构造出来的树(2.2(c))中按结点构造的逆序找出k-1个点,即57.75和27.5,去掉这两点即可将构造树分为3个子树(xl,x5)、(x2,x3)、(x4,x6),对应树中的结点为(8,12)、(34,56)、(78,98)。三个子树的平均值10,45,88即为三个簇的初始中心点。基于均值-标准差选取初始聚类中心算法由K均值算法可知,
7、如果所选的初始聚类中心取在几个密集区域的中心,其周围的点越容易分布到最近的点,聚类收敛越快,所需要迭代的次数越少。其中涉及最优初始聚类中心点的选取。若要分析所有数据的分布情况计算其分布密度,那是非常复杂的事。根据随机函数的分布知识,聚类的数据应主要分布在所有数据的均值附近。标准差是评价数据分布的又一重要标志。假设所有数据的均值为y,标志差为o,则数据应该主要分布在(U-o,P+o)之间。假设分类数为k,选择初始分类点为(P-o,P+o)之间的k个等分点进行