一种应用复杂网络特征的K-means初始化方法
- 格式:pdf
- 大小:250.83 KB
- 文档页数:3
Computer Engineering and Applications计算机工程与应用 2010,46(6) 127 一种应用复杂网络特征的K-means初始化方法 田生文,王伊蕾,李阿丽 TIAN Sheng-wen,WANG Yi—lei,LI A-li
鲁东大学计算机科学与技术学院,山东烟台264025 Cortege of Computer Science and Technology,Ludong University,Yantai,Shandong 264025,China E-mail:sw_tian@yahoo.eom.en
TIAN Sheng-wen,WANG Yi-lei,LI A-li.K-means initialization method using properties of complex network.Computer Engineering and Appncations。2010,46(6):127-129.
Abstract:K—means algorithm is a partition-based clustering algorithm.It is simple and fast to converge,the performance of K- means algorithm depends on that how to choose K samples as the initial cluster centers.This paper develops the properties of complex network,and defines degree,congregated degree and congregated coefficient of objects with feature,and chooses the K nodes whose the degree and congregated coefficient are larger than the others as the initial cluster centers.The experiment shows that the improved K——means clustering algorithm is more efficient than the original K-means clustering algorithm. Key words:clustering;K-means;complex network characteristics;initial cluster centers
摘要: —means算法是一种基于划分的聚类算法,具有算法简单且收敛速度快的特点。但该算法的性能依赖于聚类中心的初始 位置的选择。拓展了复杂网络的重要特征,针对带有属性的数据对象所构成的数据集,定义了多维属性对象的度、聚集度和聚集系 数,选取度和聚集系数高的K个点作为K—means聚类的初始中心点。实验数据表明,改进后的K—means算法较传统的算法具有更 高的效率和准确度。 关键词:聚类;K—means算法;复杂网络特征;聚类初始点 DoI:10.37788 issn.1002—8331.2010.06.036 文章编号:1002—833l(2010)06—0127—03 文献标识码:A 中图分类号:TP18
1引言 复杂网络是复杂系统的抽象,网络中的节点是复杂系统中 的个体,节点之间的边则是系统中个体之间按照某种规则而自 然形成的或人为构造的一种关系l1]。自然界和人类社会的许多 系统可以用复杂网络进行建模,如社会关系网、万维网和科学 家合作网等。社团结构是复杂网络中的一个重要特性,通过研 究社团结构,可以发现社团内的共性,具有一定的实用价值。复 杂网络中的社团结构的发现类似于数据挖掘中的聚类问题。 聚类囟是将数据对象分组成为多个类或簇,在同一个簇中 的对象之间具有较高的相似度,而不同簇中的对象差别较大。 聚类除了在数据挖掘中应用外,图像分割、模式识别和信号压 缩等诸多领域中有着广泛的应用。目前,主要的聚类算法可分 为划分方法、层次方法、基于密度的方法、基于网格的方法和基 于模型的方法。这些聚类算法普遍存在对初始化参数敏感,难 以找到最优聚类,以及聚类有效性的问题。K—means算法是目 前应用最为广泛的基于划分的算法之一,它具有算法简单且收 敛速度陕的特点,但聚类的结果强依赖于初始中心点的选择。 针对K—means算法的不足之处,借鉴了加权复杂网络的 重要特征对其进行了优化。
2 K-means初始化的研究动态 K—means聚类算法p是MacQueen等人于1967年提出。给 定—个数据集合 { 。,d2,…, }以及要生成的簇的数目K,K— means算法的聚类过程可表示为: (1)任意选取k个对象作为初始簇的中心; (2)根据簇中对象的平均值,将D中所有对象分配到最近 的簇; (3)更新簇的平均值,即重新计算每个簇的中心; (4)重复(2)和(3),直至簇中心不再变化或迭代次数超过 设定的最大迭代次数。 原始K—means算法的性能依赖于聚类中心的初始位置的 选择,不同初始值可能导致不同的聚类结果,甚至存在无解的 情况。针对这个问题,人们提出了许多优化算法。Millan喈旨出, K—means的初始值可由ward目的层次聚类的方法得到。ward 方法认为开始时每个数据点都是—个单独的类,每次从已有的 类中挑出最相似的两个类进行合并,直至合并到只有一个类为 止。在初始化K—means前,先用Ward方法做一次聚类,当类的 个数合并为k时,停止聚类,求出这k个类的中心作为K-means 的初始值。Higgstal ̄ql Snareyrr ̄人分别提出先用MaxMin算法对 数据点聚类,并将聚类结果的类中心作为K—means的初始值。
作者简介:田生文(1974一),男,讲师,主要研究领域为数据挖掘、复杂网络;王伊蕾(1979一),女,讲师,主要研究领域为数据挖掘、复杂网络;李阿丽 (1979一),女,助教,主要研究领域为复杂网络。 收稿日期:2008—09一Ol 修回日期:2008—11-13 Computer Engineering and Applications计算机工程与应用 这两种初始化K~means方法本身就是一种聚类算法,Kaufman 和Rousseenw[ ̄]提出了一种初始化K—means的方法:Kaufman approach(KA)。该方法逐个地从数据集中选出代表点,直至取 到k个点为止,第一个代表点是距离数据集中心最近的那个 点,其余的代表点根据一个启发式的规则从剩余的点中选出。 KA算法中,第一个代表点可能是一个类的边缘点,甚至是一个 孤立点,因此不能很好地代表密集簇的中心;同时,由于KA算 法是一个启发式算法,第一个代表点的好坏直接影响其他代表 点的质量。钱线f 人提出了初始化K-means的谱方法(EKM), 是一种叠代算法。EKM通过数据点的相似度矩阵计算前k个 特征值所对应的特征向量,进而叠代估计聚类初始中心。由于 EKM算法在初始化时,所依据的特征向量是通过对原始数据 进行了多次转化而得到的,对于一些特殊的数据(例如孤立 点),其特征向量不能很好地反映原始数据的特性,若给定数据 集中类的结构不明显时,EKM的聚类结果并不理想。 所提出的K—means初始化方法基于一个新的概念:数据 点的聚集特性CF,是在已知类的个数K的前提下,根据数据集 中数据点之问的聚集性和连接强度来计算各自的CF,从而确 定初始聚类中心。 3改进的K-means聚类算法 3.1 多维属性数据对象的聚集性度量指标 复杂网络的研究对象更多的是节点以及节点间的边,而不 考虑节点本身的属性;而自然界中许多网络是由带有属性的节 点构成,例如某高校所有学生构成的网络中,节点学生由学号、 姓名、性别、年龄、成绩等属性描述,这样的网络中节点问没有 直连边,称这样的网络为多维属性数据对象所构成的J硼络,以 下简称“属性网络”。若将属性网络中的节点之间的距离视为权 重,则属性网络变成加权网络。该文正是借鉴了加权复杂网络 中关于加权度、加权聚集度和加权聚集系数的定义口ol,对属性 网络的度FND、聚集度FNK和聚集系数FNC进行了如下定义。 对于数据集,J=fd ,d:,…,d l,将数据对象d (i=1,2,…,n) 称为节点.则: FNDF∑Sire(di,aI) 其中Sim(d , )是节点d 与节点 之问的相似度,可以根据具 体情况选取欧氏距离的倒数或夹角余弦作为相似度计算函数。 令dF{ 1, ,…, },dj={y1,Y2,…,Y },其中Xk (|j}=1,2,…, m)分别为节点d 与 节点的属性,则欧氏距离的倒数作为相 似度的公式为: Sim(dl, )=—== === (2) \/∑(靓 ) 夹角余弦相似度公式如下: ∑( ) Sim(d”dj) k=l二_.==二二 (3) V 2×\/ FND 反映了该节点i与其他节点的连接强度。 FNK;:∑Sim( ,d ) (4) ( ,以) R 其中 是以d 为圆心,以n个节点两两之间欧氏距离的平均 值为半径的圆内所有节点构成的集合。之所以定义这样的R, 是因为属性网络不同于复杂网络,只能用距离来衡量分别与节 点i相邻的节点 和节点k之间的关系。那么怎样设置一个门 限值来确定节点 和节点k的关系为“紧密”或“稀疏”呢?这里 考虑到K—means是一个局部最优的算法,即K—means偏好发 现球形簇,对孤立点非常敏感,所以定义R为以dz为圆心的实 心圆。这样,节点聚集度越高,表明该节点落在类中越密集的区 域,因此将聚集度作为选择K—means初始聚类中心的一个因 素,可以在数据点密集的区域找到更为I冶当初始点。 :FNKr/『Dl _黑 (5) 7 Di一1
其中D 是R中节点的数目。FNCz体现了在节点i局部范围内 各节点的相互连接密度和强度。 总之,在属性网络中,节点的度和聚集系数能更好地反映 该网络的局部聚集陛。 3.2聚类初始中心点的选择 为了克服原始的基于划分的K—means聚类算法对初始中 心选择敏感性的缺点,同时考虑到聚类中心的节点不仅具有与 同类其他节点较强的连接强度,而且与之同属于一个类的其他 节点之间也具有较大的相互连接密度和强度,因此,所述的K~ means算法初始化时综合考虑节点的度和聚集系数两个指标, 称之为节点的聚集杼性CF,。其中i=1,2,3,…,.rt,即选取度和聚 集系数高的节点作为聚类的初始中心。