复杂网络聚类方法
复杂网络聚类算法研究
复杂网络聚类算法研究摘要:复杂网络是由大量的节点和边构成的网络结构,在很多现实应用中得到了广泛的应用。
网络聚类是分析网络结构中节点之间相似性的一种方法,可以帮助我们发现网络中隐藏的社区结构。
本文主要研究了复杂网络聚类算法的发展和应用。
1.引言复杂网络是一种由大量节点和边构成的网络结构,具有高度复杂和动态变化的特点。
复杂网络在社交媒体、生物学、计算机科学和社会学等领域得到了广泛的应用。
2.复杂网络聚类算法的发展2.1传统聚类算法传统的聚类算法,如K-means、层次聚类等,通常用于处理数值型数据。
然而,复杂网络一般以图的形式表示,节点之间的关系是非数值型的,因此传统聚类算法无法直接应用到复杂网络中。
2.2复杂网络聚类算法针对复杂网络的特点,研究者们提出了一系列复杂网络聚类算法。
例如,基于模块性的聚类算法通过最大化网络内部节点之间的连接程度和最小化网络节点与其他社区节点的连接程度的差异来实现聚类。
另外,基于谱聚类的方法通过计算网络的拉普拉斯矩阵来刻画节点之间的相似性,并使用K-means算法将节点划分为不同的社区。
3.复杂网络聚类算法的应用3.1社交网络分析社交网络是复杂网络的一种重要应用。
通过分析社交网络中的聚类结构,可以帮助我们发现用户之间的关联性和社区结构,进而推荐朋友、商品等。
3.2生物学网络分析生物学网络中的节点代表生物分子或基因,边代表它们之间的相互作用关系。
通过对生物学网络的聚类分析,可以帮助我们研究基因功能、蛋白质相互作用等生物学问题。
3.3计算机网络分析计算机网络是由多个计算机节点和边连接起来的复杂网络结构。
通过对计算机网络的聚类分析,可以帮助我们优化网络拓扑结构、提高网络性能等。
4.复杂网络聚类算法的挑战和问题4.1算法复杂度由于复杂网络中节点和边的数量通常非常庞大,因此聚类算法的计算复杂度很高。
如何提高算法的运行效率是一个重要的挑战。
4.2聚类结果的解释性5.结论。
复杂网络聚类方法
复杂网络聚类方法一、本文概述随着信息技术的飞速发展,复杂网络作为一种描述现实世界复杂系统的重要工具,已经广泛应用于社会、生物、物理等多个领域。
网络聚类作为复杂网络分析的一个重要研究方向,旨在挖掘网络中的群组结构,理解节点间的关联性,从而揭示网络的功能和动态行为。
本文将对复杂网络聚类方法进行深入研究,介绍其基本原理、常用算法以及应用领域,并探讨未来的发展趋势和挑战。
本文将概述复杂网络聚类方法的基本概念和原理,包括网络聚类的定义、目的和意义,以及聚类过程中涉及的主要技术和方法。
在此基础上,本文将详细介绍几种经典的复杂网络聚类算法,如基于模块度的聚类、基于谱理论的聚类、基于动态模型的聚类等,并分析它们的优缺点和适用范围。
本文将探讨复杂网络聚类方法在各个领域的应用案例。
例如,在社会网络中,聚类方法可用于发现用户群体、分析社区结构;在生物网络中,聚类方法可用于识别蛋白质复合物、研究基因调控网络;在物理网络中,聚类方法可用于研究网络的拓扑性质、发现网络中的关键节点等。
本文将展望复杂网络聚类方法的未来发展趋势和挑战。
随着大数据时代的到来,复杂网络的规模和复杂性不断增加,对聚类方法提出了更高的要求。
未来的研究将更加注重算法的效率和准确性,以及在不同类型网络中的适用性。
随着机器学习、深度学习等技术的不断发展,如何将这些技术与复杂网络聚类方法相结合,进一步提高聚类的效果和应用范围,也是未来研究的重要方向。
二、复杂网络基础知识复杂网络是一种抽象表示实际复杂系统的模型,由节点和边组成,节点代表系统中的个体,边则代表个体间的相互作用或关系。
复杂网络研究的核心在于理解网络的结构和性质,以及这些结构和性质如何影响网络的功能和行为。
网络的基本属性:网络的基本属性包括度分布、平均路径长度、聚类系数等。
度分布描述了网络中节点连接数的统计性质,平均路径长度描述了网络中任意两个节点之间最短路径的平均值,而聚类系数则反映了网络中节点的聚类情况,即节点的邻居节点之间也存在连接的可能性。
面向复杂网络的聚类算法研究
面向复杂网络的聚类算法研究随着计算机技术的不断进步,现今社会进入了一个信息爆炸的时代,在互联网中,我们经常遇到非常复杂的网络结构,例如社交网络、生物网络、金融网络等等。
为了更好地理解这些网络结构,我们需要对其进行聚类分析,从而发现网络中的重要模式和规律性的结构。
本文将探讨面向复杂网络的聚类算法研究。
1. 复杂网络复杂网络是指由大量节点和边构成的复杂系统,在这些网络中,节点和边具有一定的规律性和随机性,例如社交网络中的人与人之间的关系,或者生物网络中的蛋白质与蛋白质之间的相互作用。
在复杂网络中,我们可以通过聚类算法将节点分成不同的群组,从而得到网络中的模块结构,这些结构可以帮助我们更好地理解网络系统的行为和特性。
因此,聚类算法在复杂网络研究中有非常重要的作用。
2. 聚类算法聚类算法是一种将数据点分成不同群组的方法,也就是将相似的数据点归为同一类别。
聚类算法的目标是尽可能地使同一类别内的数据点相似,同时使不同类别之间的差异尽可能地大。
在复杂网络中,聚类算法可以将节点划分成不同的模块,这些模块可以帮助我们更好地理解网络结构和行为。
例如,我们可以将社交网络中的人划分成不同的社区,每个社区内部的人之间有着密切的联系,而不同社区之间的联系相对较少。
聚类算法的常用方法包括层次聚类、K-means、DBSCAN、谱聚类等等。
这些方法各自有其优缺点,选择何种方法应根据数据集的特征以及问题的需求来决定。
3. 复杂网络的规模庞大,节点和边的数量都非常巨大,因此在聚类算法的研究中,需要考虑较高的时间复杂度和计算负担问题。
针对这个问题,学者们提出了一些面向复杂网络的聚类算法。
例如,在大规模网络聚类算法中,学者们结合了层次聚类和谱聚类的方法,使得算法的时间复杂度大大降低,同时精度也得到了提高。
在这个算法中,层次聚类被用来处理较小的子群,并且谱聚类被应用到得到的子群上,从而提高了算法的效率和准确性。
另外,还有一些算法是基于节点的相似度或者边的权重来进行聚类的,例如基于K-means的方法、基于谱聚类的方法等等,这些方法可以在不同类型的复杂网络上进行聚类分析,从而为网络科学提供了有益的支持。
复杂网络聚类系数
复杂网络聚类系数复杂网络聚类系数是一个衡量复杂网络结构的重要指标。
它是网络聚类理论中一种重要的度量方式,可以被用来衡量网络节点间的内部结构特性,从而了解网络节点之间的关联程度。
一、什么是复杂网络聚类系数复杂网络聚类系数是指在复杂网络中,两个节点之间的比较参数,衡量隔离节点和其它节点的聚类水平,计算机科学家认为这是衡量复杂网络的重要指标。
它揭示了复杂网络的拓扑结构,用来发现网络的局部结构,分析链路性质,以及研究网络内部结构以便做决策。
二、复杂网络聚类系数的计算复杂网络聚类系数通过比较该节点的邻居节点与其它节点的联系,来计算出来。
它能反映出该节点的社交圈子中的紧密度,即节点的局部聚类系统的紧密度。
计算公式如下:C_i=\frac{2e_i}{k_i\left (k_i-1 \right )}其中,C_i 是该节点的聚类系数,e_i 表示该节点的邻居节点所嵌入的边数,k_i表示该节点的度数。
三、复杂网络聚类系数的价值复杂网络聚类系数是非常重要的,能够衡量复杂网络中节点间联系紧密程度的重要指标,可以用于解决社交凝聚、识别社区结构等问题。
它也可以用于分析网络的稳定性,这样研究者可以更了解网络中节点间的关系和节点之间的影响。
同时,复杂网络聚类系数还可以用于节点识别,即研究具有聚类特性的节点,以及它们与网络结构的关系。
四、复杂网络聚类系数的研究聚类系数是一个度量方式,在复杂网络研究中一直是很重要的。
通过与其他网络指标相结合,有助于了解网络中发生的事件,从而推断信息传播的速度和发展趋势。
在实践中,复杂网络聚类系数也可以帮助分析未知网络的社会层级结构以及节点之间分布的关系。
此外,复杂网络聚类系数还可以帮助研究人员识别和预测网络中重要节点的功能特性,构建网络社会结构模型,以及研究复杂网络的自同步特性等。
计算复杂网络的理论方法
计算复杂网络的理论方法随着时代的发展,人们越来越依赖于计算机和网络,因此网络结构的研究逐渐成为热门话题。
现在,计算网络已经成为人们生活和工作中不可缺少的一部分。
因此,对网络结构的研究和分析已经成为学术研究的一个重要领域。
这也导致了计算复杂网络的理论方法的产生和不断发展。
复杂网络是指结构很复杂、存在较多节点和链接的网络,包括社交网络、信息网络、生物网络和交通网络等。
这些网络的特点在于节点之间的相互关联和交错,使得复杂网络的结构不能够简单地被描述和分析。
因此,研究复杂网络需要共性和个性的结合,需要对网络结构进行量化和分析。
这也促进了计算复杂网络理论方法的发展。
计算复杂网络理论方法包括:图论方法、聚类算法、分层算法、最大流最小割算法、随机图模型等多种方法。
下面将对其中的几种方法进行简单介绍。
图论方法是最早也是最常见的方法之一。
主要分为四种:最短路径算法、最小生成树算法、最大流算法和最小割算法。
最短路径算法指的是在网络中搜索两个节点之间的最短距离。
最小生成树算法常用于连接网络中所有节点的连通性问题。
最大流算法和最小割算法则主要用于解决网络流的问题。
这些算法要求对网络结构建模并确定相应的指标,以便计算和分析。
聚类算法的主要目的是将网络中不同的节点分组。
在社交网络中,聚类算法可以用于识别不同的社群;在蛋白质网络中,聚类算法可以用于确定蛋白质结构的功能类别。
目前最流行的算法是基于谱聚类的方法,它可以快速将大规模网络分成不同的类簇。
分层算法被广泛应用于社交网络和组织结构中。
该算法确定网络中的分层结构,以便解释和分析网络的不同层面。
对于组织结构和管道网络,分层算法可以用于了解控制层次和优化资源的配置。
最大流最小割算法是网络流分析中的一个重要问题,也是最基本的图论问题之一。
最大流最小割问题的求解可以通过线性规划技术求解。
最大流最小割算法可以通过网络的容量、流量和割的定义等基本概念进行计算。
随机图模型是用于描述和分析网络结构的数学模型之一。
复杂网络的分析方法及其应用
复杂网络的分析方法及其应用作为信息时代的焦点,网络已经成为人们生活和工作中不可或缺的一部分。
不同于传统的线性关系,网络关系呈现出复杂的非线性特征。
复杂网络在社交网络、生物网络、物理网络等方面有广泛的应用,因而对复杂网络的研究显得尤为重要。
本文将着重介绍复杂网络的分析方法及其应用。
1. 复杂网络的基本特征复杂网络主要特征包括:规模大、拓扑结构多样、动态性强、非线性特性明显。
复杂网络的规模远远超越了人们的想象,例如Facebook里面就包含了数十亿的用户,而Twitter和微博则分别拥有了超过3亿和2亿的用户。
而不同的网络就会呈现出拓扑结构多样的特征,例如,社交网络中存在着星形拓扑,生物网络中则有着小世界结构,物理网络则对应着无标度网络等。
复杂网络的动态性主要表现在其拓扑结构及其元素的不断演化,这同样也就让复杂网络具备了非线性特性的表现。
2. 复杂网络的分析方法为了能够更加准确地描述和分析复杂网络的特征和性质,研究人员一直在探索各种适用的分析方法。
以下是几种常用的分析方法:(1)复杂网络的聚类分析:聚类分析是指根据元素之间的相似度或距离建立起元素之间关系的方法。
在复杂网络中,聚类分析是将节点按照拓扑结构聚类成相对稳定的社团或子网络。
(2)复杂网络的中心性分析:中心性分析主要是通过计算节点相对于整个网络的重要程度进行的,包括度中心性、接近度中心性、介数中心性等。
(3)复杂网络的结构分析:结构分析主要是通过分析网络的一些拓扑结构指标,包括平均路径长度、簇系数、度分布等来描述和分析复杂网络的特征和性质。
3. 复杂网络的应用(1)社交网络中的应用:社交网络是目前应用最广泛的网络之一,它可以用于研究社会网络、个人间的关系等。
通过聚类分析和中心性分析,可以有效地对社交网络进行刻画。
(2)生物网络中的应用:生物网络主要是指生物体内生物分子之间相互作用的网络。
在生物网络中,结构分析和聚类分析都可以用于对网络进行分析和研究。
复杂网络中的节点聚类算法研究
复杂网络中的节点聚类算法研究在日常生活中,我们面对的各种问题往往涉及到大量的信息,比如社交网络中的人际关系、物流网络中的包裹传递等等,这些都可以抽象为一个复杂的网络。
如何有效地处理这些网络中的信息,找到一些有用的模式和结构,是一个非常重要的问题。
节点聚类是一个重要的网络分析技术,它旨在将网络中的节点分成不同的组,每组内部节点之间的联系比组间联系更紧密,从而实现对网络结构的理解和解释。
本文将介绍几种常见的节点聚类算法,并探讨它们的优缺点和适用范围。
1. 基于相似度的聚类算法这种算法是最基本的节点聚类方法,它通过计算节点之间的相似度来进行聚类。
常见的相似度计算方法包括余弦相似度、欧式距离、皮尔逊相关系数等。
以余弦相似度为例,假设有m个节点,每个节点用一个n维向量表示,那么第i个节点和第j个节点的余弦相似度可以表示为:$cosine(i,j)=\frac{\sum_{k=1}^n x_{i,k}\cdot x_{j,k}}{\sqrt{\sum_{k=1}^nx_{i,k}^2}\cdot\sqrt{\sum_{k=1}^n x_{j,k}^2}}$然后就可以通过聚类算法(如K-means算法、高斯混合模型等)将这些节点分为若干个类别。
这种算法的优点是简单易懂,运算速度快。
缺点是它只考虑了节点之间的相似度,而没有考虑网络的拓扑结构。
因此在复杂网络中的效果不理想,只适用于简单的分类问题。
2. 基于模块度的聚类算法模块度是反映网络中某个社区结构的指标,它可以用来衡量某个聚类算法的优劣。
基于模块度的聚类算法旨在最大化网络的总体模块度,从而得到更好的聚类结果。
常见的基于模块度的聚类算法包括:(1)Louvain算法Louvain算法是目前最常见的社区发现算法之一,它从一个度量网络中社区结构的优化准则出发,贪心算法优化在网络中的每个社区的模块度,可以实现高效的聚类。
例如对于有n个节点的无向加权网络,每个节点属于某个社区,其社区分配向量用Q表示,对于节点i和j,其连边的权重为$w_{ij}$,节点i所在社区的大小为$k_i$,网络总边权为$w_m$,则Q的值为:$Q=\frac{1}{2w_m}\sum_{ij}(w_{ij}-\frac{k_ik_j}{2w_m})\delta(c_i,c_j)$其中$c_i$表示节点i所属的社区,即$c_i=k$表示第k个社区。
复杂网络中的社群发现与聚类分析
复杂网络中的社群发现与聚类分析在复杂网络中,社群发现和聚类分析是两种重要的数据挖掘技术,用于揭示网络结构中的隐藏社群和聚类模式。
社群发现的目标是将网络中的节点划分为若干个具有类似特征或相似连接模式的组,而聚类分析则是通过度量节点之间的相似性,将节点划分为紧密连接的群体。
这两种技术在网络分析、社交媒体、生物信息学等领域具有广泛的应用。
社群发现是通过检测网络中节点之间的紧密连接和相似特征来识别社群结构。
常用的方法包括基于连接模式的方法、基于节点相似性的方法和基于流动性的方法。
基于连接模式的方法主要关注节点之间的连接模式和拓扑结构。
例如,层次聚类方法将网络划分为树形层次结构,并通过计算不同层次之间的连接强度来判断节点属于哪个社群。
另外,基于模块度的方法将网络划分为多个模块,通过优化模块度的值来确定最佳社群划分。
这些方法在社交网络和网络社区发现中得到广泛应用。
基于节点相似性的方法则是通过度量节点之间的相似性来划分社群。
其中最经典的方法是基于谱聚类的方法,通过计算节点之间的相似矩阵来进行聚类。
此外,还有基于密度的方法,如DBSCAN算法,可以有效地发现具有不同密度的社群。
基于流动性的方法则是通过节点之间的信息传播来判定社群结构。
例如,Louvain算法通过优化社群内节点的流动性和社群之间节点的流动性来划分社群。
这种方法在大规模网络中具有较好的扩展性和计算效率。
聚类分析是一种将网络节点划分为紧密连接的群体的技术。
常见的方法包括基于距离的聚类和基于密度的聚类。
基于距离的聚类方法通过计算节点之间的距离来划分聚类。
最常用的方法是K-means算法,它通过迭代计算节点与聚类中心之间的距离,并更新聚类中心,直到收敛为止。
另外,还有基于层次的聚类方法,如凝聚聚类和分裂聚类,它们通过不同的聚类合并或分裂策略来进行聚类。
基于密度的聚类方法则是根据节点的密度来划分聚类。
其中最著名的方法是DBSCAN算法,它通过定义邻域半径和最小密度来划分核心点、边界点和噪声点,从而形成聚类。
复杂网络中聚类算法总结
复杂⽹络中聚类算法总结⽹络,数学上称为图,最早研究始于1736年欧拉的哥尼斯堡七桥问题,但是之后关于图的研究发展缓慢,直到1936年,才有了第⼀本关于图论研究的著作。
20世纪60年代,两位匈⽛利数学家Erdos和Renyi建⽴了随机图理论,被公认为是在数学上开创了复杂⽹络理论的系统性研究。
之后的40年⾥,⼈们⼀直讲随机图理论作为复杂⽹络研究的基本理论。
然⽽,绝⼤多数的实际⽹络并不是完全随机的。
1998年,Watts及其导师Strogatz在Nature上的⽂章《Collective Dynamics of Small-world Networks》揭⽰了复杂⽹络的⼩世界性质。
随后,1999年,Barabasi及其博⼠⽣Albert在Science上的⽂章《Emergence of Scaling in Random Networks》⼜揭⽰了复杂⽹络的⽆标度性质(度分布为幂律分布),从此开启了复杂⽹络研究的新纪元。
随着研究的深⼊,越来越多关于复杂⽹络的性质被发掘出来,其中很重要的⼀项研究是2002年Girvan和Newman在PNAS上的⼀篇⽂章《Community structure in social and biological networks》,指出复杂⽹络中普遍存在着聚类特性,每⼀个类称之为⼀个社团(community),并提出了⼀个发现这些社团的算法。
从此,热门对复杂⽹络中的社团发现问题进⾏了⼤量研究,产⽣了⼤量的算法,本⽂试图简单整理⼀下复杂⽹络中聚类算法,希望对希望快速了解这⼀部分的⼈有所帮助。
本⽂中所谓的社团跟通常我们将的聚类算法中类(cluster)的概念是⼀致的。
0. 预备知识为了本⽂的完整性,我们⾸先给出⼀些基本概念。
⼀个图通常表⽰为G=(V,E),其中V表⽰点集合,E表⽰边集合,通常我们⽤n表⽰图的节点数,m表⽰边数。
⼀个图中,与⼀个点的相关联的边的数量称为该点的度。
复杂生物网络聚类分析方法的开题报告
复杂生物网络聚类分析方法的开题报告一、研究背景和意义近年来,随着高通量技术的迅速发展,研究生物网络已经成为了生命科学中的一个重要研究方向。
复杂生物网络研究不仅可以揭示生物分子之间的相互作用关系,还可以探究生物系统的稳定性和临界性,进而发掘潜在的生物学规律。
在复杂生物网络研究中,聚类分析是一种常见的数据分析方法。
其可以对生物网络中的节点进行分类,将相似节点分为同一类,从而揭示生物网络中的模块和子系统。
聚类分析广泛应用于基因表达数据、代谢网络分析、蛋白质-蛋白质相互作用网络等方面,为生命科学研究提供了非常有力的数据解析工具。
然而,由于生物网络的复杂性和多样性,现有的聚类分析方法在处理这些数据时存在许多局限性。
其中,一些常用的聚类方法只能适用于特定类型的数据,而不适用于其他类型的网络数据;另一些方法则难以保持聚类的稳定性和一致性,导致聚类结果难以复现或不够精确。
因此,探究一种适用于复杂生物网络的聚类分析方法,具有重要的研究意义和实际应用价值。
二、研究内容和方法本研究的主要内容是探究一种适用于复杂生物网络的聚类分析方法。
该方法将包括以下几部分内容:1. 分析已有的聚类分析方法的特点和局限性,并总结其优缺点。
2. 设计一种新的聚类分析方法,结合多种数据挖掘技术和机器学习算法,以提高聚类分析的准确性和鲁棒性。
3. 对该方法进行仿真实验,利用生物网络数据进行分析和验证。
比较该方法与现有的聚类方法的优劣,并探究其适应性和应用范围。
4. 研究结果进行统计分析和可视化展示,进一步优化该方法。
本研究将主要采用文献调研和实验仿真的方法。
在文献调研中,将对现有的聚类分析方法进行系统的总结和对比,了解不同方法的适用场景和特点,为本研究的方法设计提供参考。
在仿真实验中,将利用生物网络数据进行实验,构建各种实验情景,比较不同方法的聚类效果,评估本研究方法的优劣和适应性。
三、预期成果和意义本研究的预期成果包括:1. 开发一种适用于复杂生物网络的聚类分析方法,具有较高的精度和鲁棒性,可以解决现有聚类方法存在的一些问题。
复杂网络聚类算法综述
复杂网络聚类算法综述作者:李建郑晓艳来源:《电脑知识与技术》2015年第05期摘要:随着复杂网络应用的日益广泛,发现复杂网络簇结构的复杂网络聚类算法越来越多。
这导致在实际应用中根据实际的复杂网络结构选择合适的聚类算法成为一大难题。
针对这种情况,根据复杂网络聚类算法的求解策略,通过介绍各个经典的复杂网络聚类算法的基本原理、实现步骤以及优缺点,对这些算法进行归类和比较,得出了它们对应的更好的适用范围,有助于在复杂网络聚类分析中选取合适的算法解决问题,为相关领域的研究者提供了参考。
关键词:复杂网络;簇结构;聚类中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)05-0037-05Survey of Complex Network Clustering AlgorithmsLI Jian, ZHENG Xiao-yan(College of Information Technology Engineering, Tianjin University of Technology and Education, Tianjin 300222, China)Abstract:Complex network clustering algorithms which aim to discover network communities are increasing along with the wide application of complex networks, so it is hard to select the appropriate clustering algorithm based on the actual structure of complex networks in application. In view of this situation, it classifies and compares the classical complex network clustering algorithms through introducing the basic principle, the implement steps, the advantages and disadvantages as well as the solving strategy of the complex network clustering algorithms. Finally, it gets the better scope of application, which is beneficial to selecting the appropriate algorithms for the complex network clustering analysis and providing a reference for researchers.Key words:complex network; community structure; clustering近几年随着复杂网络的发展,现实世界中的各种网络大量涌现,许多复杂系统直接或间接地以复杂网络的形式存在,如社会关系网、新陈代谢网等。
复杂网络中聚类方法及社团结构的研究的开题报告
复杂网络中聚类方法及社团结构的研究的开题报告题目:复杂网络中聚类方法及社团结构的研究一、研究背景随着人们对复杂现象的研究不断深入,网络科学逐渐成为一个重要的研究领域。
在复杂网络中,节点和之间的关系是非常复杂的,网络的结构具有高度的异质性和非线性性。
因此,利用聚类方法对网络进行分析和研究越来越受到人们的关注。
社团结构是网络中一种特殊的结构,它具有高度的内部稠密度和低度的跨组连通性,社团内节点之间的联系比群组外的节点之间的联系更紧密。
在实际应用中,掌握网络的聚类方法和社团结构对于了解网络的演化规律和网络的特性有着非常重要的意义。
二、研究内容和方法1. 聚类算法的研究本文将主要研究复杂网络中的聚类算法,包括基于相似度的聚类算法、基于图论的聚类算法、基于统计学习的聚类算法等。
相似度是指节点之间在某种意义下的相似程度,在网络中各节点的属性值都不同,计算相似度时需要根据具体的应用来选择不同属性进行计算。
图论方法将网络看做是一个图,节点和边分别对应图中的点和线,利用图的连通性和距离等性质进行聚类。
统计学习方法是一种基于机器学习的方法,它通过学习和建立概率模型来进行聚类分析。
2. 社团结构的研究本文还将研究复杂网络中的社团结构,包括社团结构的发现方法、社团结构的性质和演化规律等方面。
其中社团结构的发现方法主要包括基于模块度的社团发现方法、基于谱聚类的社团发现方法等。
社团结构的性质包括社团内部的紧密度和连通性等,它们与网络的结构和功能密切相关。
社团结构的演化规律包括静态和动态两个方面,静态的规律表现在网络不变的情况下,不同的网络具有不同的社团结构,动态的规律表现在网络演化过程中,社团结构的变化体现了网络的演化规律和特性。
三、研究意义本文将探讨复杂网络中的聚类方法和社团结构,这对于深入了解网络结构和特性有着重要的意义。
研究成果有望在社交网络分析、信息传播、金融风险控制等领域得到广泛应用。
四、参考文献1. Newman, M. E. J., & Girvan, M. (2004). Finding and evaluating community structure in networks. Physical review E, 69(2), 026113.2. Porter, M. A., Onnela, J. P., & Mucha, P. J. (2009). Communities in networks. Notices of the AMS, 56(9), 1082-1097.3. Zhang, P., Li, X., Yang, F., & Li, J. (2014). Clustering complex networks: A survey. Physica A: Statistical Mechanics and its Applications, 404, 1-24.4. Fortunato, S. (2010). Community detection in graphs. Physics reports, 486(3-5), 75-174.5. Han, J., Pei, J., & Kamber, M. (2011). Data mining: conceptsand techniques. Morgan Kaufmann.。
大规模复杂数据聚类算法
大规模复杂数据聚类算法大规模复杂数据聚类算法是一种用于处理大规模数据集的聚类分析方法。
在现实世界中,我们经常面临处理大规模、高维度和复杂结构的数据集的情况,如社交网络数据、生物信息学数据和金融数据等。
传统的聚类算法在处理这些数据时往往存在计算复杂度高、可扩展性差和结果不稳定等问题。
因此,大规模复杂数据聚类算法的研究成为了聚类分析领域的热点之一一种常见的算法是基于密度的聚类算法,如DBSCAN算法。
DBSCAN算法通过评估数据点的密度来确定簇的边界。
具有足够密度的点会被视为核心点,而与核心点相连的点也会被放入同一个簇中。
DBSCAN算法能够在非凸空间中找到任意形状的簇,并且对噪声和异常值具有鲁棒性。
另一种常见的算法是谱聚类算法。
谱聚类算法将数据集的相似性转换为图结构,并通过图划分的方式将数据簇划分出来。
谱聚类算法能够处理高维度数据,并且对异常值和噪声具有较好的鲁棒性。
然而,谱聚类算法在处理大规模数据时需要计算特征值分解,计算复杂度较高。
此外,近年来,基于深度学习的聚类算法也得到了广泛研究。
深度学习算法通过学习数据的表示和特征来进行聚类分析。
例如,深度自编码器可以通过降维和重构的方式进行聚类,而自组织映射网络则可以通过竞争学习的方式聚类数据。
深度学习算法通常需要大量的数据和计算资源进行训练,但可以对复杂的非线性结构进行建模。
在处理大规模复杂数据时,传统的算法往往面临存储空间和计算资源的限制。
为了解决这一问题,研究人员提出了分布式聚类算法。
分布式聚类算法将大规模数据集分割成多个子集,并在多个计算节点上并行处理。
这种方法能够提高处理速度,并且能够处理更大规模的数据集。
综上所述,大规模复杂数据聚类算法是聚类分析领域的研究热点,涵盖了基于密度的聚类算法、谱聚类算法、基于深度学习的聚类算法和分布式聚类算法等多个方向。
这些算法在处理大规模、高维度和复杂结构的数据时具有一定的优势,并且在实际应用中有着广泛的应用前景。
基于复杂网络社团划分的文本聚类方法
摘 要: 文本 聚 类是 文本 挖掘 的一种 重要 方法 , 出 了一种加 权 复 杂 网络社 团划分 的新 算 法 , 过 不断寻 找复 杂 网络 中 的 提 通
稠 密集并对 其进 行适 当操作 , 达到 了划分加 权复 杂 网络 的 目的 。将 该算 法应 用于文 本聚 类 , 文本 用向量 空 间模 型表 示, 将 用 余 弦公 式计 算文 本之 间的相 似度 , 据 邻居 节点构 造 出加权 复杂 网络 , 提 出的算 法对加 权 复杂 网络进行 社 团划分 。 R u 根 用 对 e—
( ol e f o ue a d noma o eh ooy La n g r a U i r t D l n16 8 , hn) C lg mp t fr t n cn lg, io i m l nv sy a a 10 C ia e oC rn I i T n No e i, i 1
T x l se i gme h db s d o at i n n o e t u trn t o a e np r t i g c mmu i o lxn t r c io n t i c mp e ewo k y n
XI e g h n , ZHANG — i HUAN G a , XI u dn EF n —o g Dawe , D n EF —ig
tr 2 5 8 es 17 数据 集 中的部 分样 本进行 聚类 , 一 实验 结果表 明 了该方 法具 有 良好 的聚类效 果 。 关键 词 : 文本 聚类 ; 复杂 网络;社 团结构 ;稠 密集 ;邻居
中图法 分类号 : P 9 . T 3 1 1
文 献标识 码 : A
文章 编号 :0 07 2 2 1) 3 15 —3 10.04(0 1 0 —0 90
复杂网络聚类方法
ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.20, No.1, January 2009, pp.54−66 doi: 10.3724/SP.J.1001.2009.03464 Tel/Fax: +86-10-62562563© by Institute of Software, the Chinese Academy of Sciences. All rights reserved.∗复杂网络聚类方法杨博1,2, 刘大有1,2+, LIU Jiming3, 金弟1,2, 马海宾1,21(吉林大学计算机科学与技术学院,吉林长春 130012)2(吉林大学符号计算与知识工程教育部重点实验室,吉林长春 130012)3(香港浸会大学计算机科学系, 香港)Complex Network Clustering AlgorithmsY ANG Bo1,2, LIU Da-Y ou1,2+, LIU Jiming3, JIN Di1,2, MA Hai-Bin1,21(College of Computer Science and Technology, Jilin University, Changchun 130012, China)2(Key Laboratory of Symbolic Computation and Knowledge Engineering for the Ministry of Education, Jilin University, Changchun130012, China)3(Department of Computer Science, Hong Kong Baptist University, Hong Kong, China)+ Corresponding author: E-mail: dyliu@Yang B, Liu DY, Liu J, Jin D, Ma HB. Complex network clustering algorithms. Journal of Software, 2009,20(1):54−66. /1000-9825/3464.htmAbstract: Network community structure is one of the most fundamental and important topological properties ofcomplex networks, within which the links between nodes are very dense, but between which they are quite sparse.Network clustering algorithms which aim to discover all natural network communities from given complexnetworks are fundamentally important for both theoretical researches and practical applications, and can be used toanalyze the topological structures, understand the functions, recognize the hidden patterns, and predict the behaviorsof complex networks including social networks, biological networks, World Wide Webs and so on. This paperreviews the background, the motivation, the state of arts as well as the main issues of existing works related todiscovering network communities, and tries to draw a comprehensive and clear outline for this new and activeresearch area. This work is hopefully beneficial to the researchers from the communities of complex networkanalysis, data mining, intelligent Web and bioinformatics.Key words: complex network; network clustering; network community structure摘要: 网络簇结构是复杂网络最普遍和最重要的拓扑属性之一,具有同簇节点相互连接密集、异簇节点相互连接稀疏的特点.揭示网络簇结构的复杂网络聚类方法对分析复杂网络拓扑结构、理解其功能、发现其隐含模式、预测其行为都具有十分重要的理论意义,在社会网、生物网和万维网中具有广泛应用.综述了复杂网络聚类方法的研究背景、研究意义、国内外研究现状以及目前所面临的主要问题,试图为这个新兴的研究方向勾画出一个较为全面∗ Supported by the National Natural Science Foundation of China under Grant Nos.60496321, 60503016, 60573073, 60873149 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant No.2006AA10Z245 (国家高技术研究发展计划(863))Received 2008-06-17; Accepted 2008-08-28杨博等:复杂网络聚类方法55和清晰的概貌,为复杂网络分析、数据挖掘、智能Web、生物信息学等相关领域的研究者提供有益的参考.关键词: 复杂网络;网络聚类;网络簇结构中图法分类号: TP311文献标识码: A现实世界中的诸多系统都以网络形式存在,如社会系统中的人际关系网、科学家协作网和流行病传播网,生态系统中的神经元网、基因调控网和蛋白质交互网,科技系统中的电话网、因特网和万维网等.由于这些网络具有很高的复杂性,因此被称为“复杂网络(complex network)”.复杂网络已成为当前最重要的多学科交叉研究领域之一[1−3].与小世界性[1]、无标度性[2−4]等基本统计特性相并列,网络簇结构(network cluster structure或network community structure)是复杂网络最普遍和最重要的拓扑结构属性之一,具有同簇节点相互连接密集、异簇节点相互连接稀疏的特点[5−9].复杂网络聚类方法旨在揭示出复杂网络中真实存在的网络簇结构.复杂网络聚类方法的研究对分析复杂网络的拓扑结构、理解复杂网络的功能、发现复杂网络中的隐藏规律以及预测复杂网络的行为不仅具有十分重要的理论意义,而且具有广泛的应用前景,目前已被应用于恐怖组织识别、组织结构管理等社会网络分析[5,7,10−12]、新陈代谢网络分析[7,13]、蛋白质交互网络分析和未知蛋白质功能预测[14−16]、基因调控网络分析和主控基因识别[8]等各种生物网络分析以及Web社区挖掘和基于主题词的Web文档聚类[17−19]和搜索引擎[20−22]等众多领域.由于复杂网络聚类研究具有重要的理论意义和应用价值,它不仅成为计算机领域中最具挑战性的基础性研究课题之一,也吸引了来自物理、数学、生物、社会学和复杂性科学等众多领域的研究者,掀起了一股研究热潮.从2002年至今,新的方法层出不穷,新的应用领域不断被拓展,《Nature》[6,7,10],《Science》[13],《Proc. of National Academy of Sciences (PNAS)》[5,8,9,23−25],《Physics Review Letter》[26,27],《IEEE Trans. on Knowledge and Data Engineering(TKDE)》[28,29],《PLOS Computational Biology》[14,30]等不同领域的权威国际杂志和多个重要的国际学术会议(如数据挖掘领域权威国际会议ACM SIGKDD[31]和IEEE ICDM[32],万维网领域权威国际会议WWW[19,21]等)多次报道这方面的研究工作.复杂网络聚类方法已成为图论、复杂网络、数据挖掘等基础理论的重要组成部分和相关课程的核心内容,如康奈尔大学计算机系开设的“The Structure of Information Networks”课程和麻省理工大学电子工程和计算机系开设的“Networks and Dynamics”课程.在以上研究背景下,本文综述了复杂网络聚类方法的研究现状以及目前面临的主要问题,试图为该研究方向勾画出一个较为全面和清晰的概貌,为复杂网络分析、数据挖掘等相关领域的研究者提供有益的参考.本文第1节分析复杂网络聚类问题的研究现状,重点分析15个具有代表性的复杂网络聚类算法.第2节通过实验定量分析和比较7种典型算法的性能.第3节总结全文并给出本文的一些结论.1 复杂网络聚类方法分类与分析复杂网络可以建模为一个图G=(V,E),V表示网络的节点集合,E表示连接的结合.复杂网络可以是无向图、有向图、加权图或者超图.网络簇定义为网络的稠密连通分支,具有簇内连接稠密、簇间连接相对稀疏的特点.例如,可以把人类社会抽象成一个称为“社会网络”的加权有向图.图中节点表示人,有向边表示人与人之间的社会关系,权值表示关系的强弱,路径表示由社会关系组成的“关系链”,网络簇表示由多个具有共同属性的人组成的“社团”.除社会网络之外,常见的复杂网络还有生物网络和科技网络.研究发现,尽管客观世界中的复杂系统功能各样,但它们对应的复杂网络在结构上却具有十分惊人的相似性.根据网络结构的特点,科学家把绝大多数的复杂网络归纳为3类:随机网络、小世界网络和无标度网络.复杂网络的核心研究内容是揭示复杂网络功能和结构之间的内在联系.目前,用于刻画复杂网络结构的重要属性是平均路长、聚类系数、度分布、网络Motif 和网络簇结构.借助复杂网络簇结构分析方法,科学家取得了一些有关网络功能和结构的初步研究结果,如:揭示出蛋白质功能和交互关系的内在联系、网页主题和超连接的内在联系、社会组织如何随时间演化等.然而,已有的研究结果还远未揭示复杂网络功能与结构的内在联系,在理论和应用上都还存在许多亟待解决的问题.本文主要从计算方法的角度,围绕复杂网络簇结构的发现算法进行讨论,分析和比较现有算法的基本原理、特56Journal of Software 软件学报 V ol.20, No.1, January 2009点、不足和需要解决的问题. 目前已存在多种复杂网络聚类算法,按照所采用的基本求解策略,本文将它们中的大多数归纳为两大类:基于优化的方法(optimization based method)和启发式方法(heuristic method).前者将复杂网络聚类问题转化为优化问题,通过最优化预定义的目标函数来计算复杂网络的簇结构.例如,谱方法(spectral method)将网络聚类问题转化为二次型优化问题,通过计算特殊矩阵的特征向量来优化预定义的“截(cut)”函数.后者将复杂网络聚类问题转化为预定义启发式规则的设计问题.例如,被广泛引用的Girvan-Newman 算法[5]的启发式规则是:簇间连接的边介数(edge betweenness)应大于簇内连接的边介数.除了以上两类方法之外,还存在其他类型的复杂网络聚类方法.按照本文的分类方法,现有复杂网络聚类方法的分类如图1所示,本节将具体分析各类方法的典型代表.Fig.1 Classification chart of complex network clustering algorithms图1 复杂网络聚类算法分类图1.1 基于优化的复杂网络聚类方法谱方法和局部搜索方法是两类主要的基于优化的复杂聚类方法.1.1.1 谱方法谱方法最早用于解决图分割(graph partition)问题,近年来被应用到复杂网络聚类[23,31,33,34].谱方法采用二次型优化技术最小化预定义的“截”函数.当一个网络被划分为两个子网络时,“截”即指子网间的连接密度.具有最小“截”的划分被认为是最优的网络划分.针对不同问题,提出了不同的“截”函数.例如,针对分布式系统负载平衡提出的“平均截(average cut)”[35,36]、针对大规模集成电路(VLSI)设计提出的“比率截(ratio cut)”[37,38]以及针对图像分割提出的“规范截(normalized cut)”[39]等.已经证明,最小化以上的“截”函数是NP 完全问题[39,40].采用矩阵分析技术,谱方法将求解最小“截”问题转化为求解带约束的二次型优化问题:min{(X T MX )/(X T X )},其中,向量X 表示网络划分,M 表示对称半正定矩阵.对于“平均截”,M =D −A 表示网络的拉普拉斯矩阵(Laplacian matrix),其中D 表示由节点度构成的对角矩阵,A 为网络的邻接矩阵;对于“规范截”,M =D −1/2(D −A )D −1/2表示网络的规范化拉普拉斯矩阵;对于其他截函数,M 是拉普拉斯矩阵的不同变体.由拉格朗日方法,以上约束二次型的近似最优解(即网络的近似最优划分)可以通过计算M 的第2小特征向量求得.一般地,n 维矩阵特征向量的计算时间为O (n 3).对于稀疏网络,采用Lanczos 算法[41],M 的第2小特征向量的计算时间为32(/())O m λλ−,其中m 表示网络连接数目,λ2和λ3分别表示M 的第二、第三小特征值.谱方法本质上是一种二分法,在每次二分过程中,网络被分割成两个近似平衡的子网络.当网络中含有多个簇时,谱方法递归地分割现存的子网络,直到满足预先定义的停止条件为止.谱方法具有严密的数学理论,已发展成数据聚类的一种重要方法(称为谱聚类法),被广泛应用于图分割和杨博 等:复杂网络聚类方法 57 空间点聚类等领域.但是,针对复杂网络聚类,谱方法的主要不足是:1) 需要借助先验知识定义递归终止条件,即谱方法不具备自动识别网络簇总数的能力;2) 现实世界中的复杂网络往往包含多个网络簇,而谱方法的递归二分策略不能保证得到的网络划分是最优的多网络簇结构.1.1.2 基于局部搜索的复杂网络聚类方法Kernighan-Lin 算法(简称KL 算法)[42]、快速Newman 算法(简称FN 算法)[43]和Guimera-Amaral 算法(简称GA 算法)[6]是3种典型的基于局部搜索优化技术的复杂网络聚类算法.这类算法包含3个基本部分:目标函数、候选解的搜索策略和最优解的搜索策略.以上3种算法采用了几乎相同的候选解搜索策略,但其所采用的目标函数和最优解搜索策略却不尽相同.针对图分割问题,Kernighan 和Lin 在1970年提出KL 算法[42],该方法也可用于复杂网络聚类.KL 算法的优化目标是极小化簇间连接数目与簇内连接数目之差;其候选解搜索策略是:将节点移动到其他簇或交换不同簇的节点.从初始解开始,KL 算法在每次迭代过程中产生、评价、选择候选解,直到从当前解出发找不到更好的候选解为止.在整个搜索过程中,KL 算法只接受更好的候选解,而拒绝所有较差的候选解,因此它找到的解往往是局部最优而不是全局最优解.KL 算法最大的局限性在于它需要先验知识(如簇的个数或簇的平均规模)来产生一个较好的初始簇结构,因为该算法对初始解非常敏感,不好的初始解往往导致缓慢的收敛速度和较差的最终解.KL 算法的时间复杂性是O (tn 2),其中,n 表示网络节点个数,t 表示算法停止时的迭代次数.2004年,Newman 提出了基于局部搜索的快速复杂网络聚类算法FN [43].其优化目标是极大化Newman 和Girvan 在同年提出的网络模块性(modularity)评价函数(他们称为Q 函数)[44].Q 函数定义为簇内实际连接数目与随机连接情况下簇内期望连接数目之差,用来定量地刻画网络簇结构的优劣,一种计算形式如下:212Ks s s m d Q=m m =⎡⎤⎛⎞−⎢⎥⎜⎟⎝⎠⎢⎥⎣⎦∑, 其中,K 表示网络簇个数,m 表示网络连接总数,m s 表示网络簇s 中的连接总数,d s 表示网络簇s 中节点度之和.一般地,好的网络簇结构对应较大的Q 值.候选解的局部搜索策略为:选择且合并两个现有的网络簇.从初始解开始(每个网络簇仅包含一个节点),在每次迭代中,FN 算法执行使∆Q 值最大化的合并操作,直到网络中只剩下一个网络簇.通过这种自低向上的层次聚类过程,FN 算法输出一棵刻画网络簇层次关系的树结构(dendrogram).FN 算法的时间复杂性是O (mn ),m 和n 分别表示网络的连接数和节点数.采用与FN 算法相同的优化目标,Guimera 和Amaral 在2005年提出了基于模拟退火算法(simulated annealing,简称SA)的复杂网络聚类算法GA,并应用到新陈代谢网络分析中.2005年2月刊的《Nature 》报道了该工作[6].类似于KL 算法,从初始解开始,在每次迭代中,GA 算法产生、评价、接受或拒绝由当前解产生的候选解.GA 算法产生候选解的策略是:将节点移动到其他簇、交换不同簇的节点、分解网络簇或合并网络簇.GA 算法通过计算候选解对应的Q 值来评价其优劣,并采用模拟退火策略的Metropolis 准则决定是否接受它,允许以一定的概率接受较差的候选解而放弃较好的候选解.因此,GA 算法具有跳过局部最优解、找到全局最优解的能力,从而具有很好的聚类精度. GA 采用的Metropolis 准则定义如下:1111,if ,exp ,if t t t t t t C C p C C C C T +++≤⎧⎪=−⎨⎛⎞−>⎜⎟⎪⎝⎠⎩其中,C t =−Q t ,p 表示接受t+1时刻候选解的概率,T 表示t+1时刻的系统温度.GA 算法的效率完全取决于SA 算法的效率,而后者的收敛速度通常很缓慢.据报道,在普通配置的计算机上采用GA 算法聚类仅包含3 885个节点、7 260条边的酵母菌蛋白质交互网络需要3天时间[14].此外,GA 算法对输入参数(如初始解、候选解搜索策略、降温(cooling)策略等)非常敏感,不同的参数设置往往导致具有较大差别的聚类结果和运行时间.1.1.3 其他基于优化的复杂网络聚类方法除以上两种主要方法外,还存在其他基于优化方法的复杂网络聚类方法.例如,Reichardt 和Bornholdt 在58 Journal of Software 软件学报 V ol.20, No.1, January 20092004年提出的基于多自旋状态Potts 模型的网络聚类算法[26].在该模型中,每个网络节点被看作是一个具有多自旋状态的旋转子(spin),并且同簇内节点具有相同的自旋状态.他们认为,最优的网络簇结构应该对应最稳定的系统状态,即能量最低的状态.因此,网络聚类问题就转化为求最小化系统能量的自旋状态分布问题.他们定义了系统能量函数,并基于蒙特卡罗方法和模拟退火算法给出了相应的优化算法.1.1.4 基于优化聚类方法的分析采用优化方法识别出的网络簇结构完全取决于优化目标,因此“有偏”的目标函数会导致“有偏”的解(即得到的网络簇结构和真实存在的网络簇结构不符).值得注意的是,除了以上提到的FN 算法和GA 算法外,很多基于优化的复杂网络聚类方法都以最大化Q 函数作为优化目标[14,23,45,46].然而,研究发现,Q 函数是有偏的,并不能完全准确地刻画最优的(或者说是真实的)网络簇结构.对于某些网络而言,其真实的网络簇结构对应的Q 值是局部极大值,而非全局最大值.图2给出了GA 算法计算两个基准社会网络(Karate 网络[47]和Football 网络[5])的局部搜索过程.如图2(a)所示,对于Karate 网络而言,其真实的2-网络簇结构对应一个局部极大值0.37,而GA 计算出的全局最优值0.42对应一个4-网络簇结构.如图2(b)所示,对于Football 网络而言,其真实的12-网络簇结构对应一个局部极大值0.51,而GA 计算出的全局最优值0.60对应一个10-网络簇结构.0 0.10.20.30.40.5Iterations of GA algorithm Q -V a l u e00.10.20.30.40.50.6Iterations of GA algorithm Q -V a l u e(a) (b)Fig.2 Local search processes of the GA algorithm图2 GA 算法的局部搜索过程2004年,Guimera 等人进一步研究发现,对于某些随机网络,由于受到扰动的影响,明显不好的网络簇结构却对应相对较高的Q 值[48].2007年,Fortunato 和Barthelemy 系统地研究了Q 函数对聚类精度的影响,他们在《PNAS 》上发表论文指出:对于大规模复杂网络,基于优化Q 函数的复杂网络聚类算法倾向于找到粗糙的而不是精细的网络簇结构[24].这意味着,该类算法未必能够找到这些网络中真实存在的全部网络簇.1.2 启发式复杂网络聚类方法MFC(maximum flow community)算法[17]、HITS(hyperlink induced topic search)算法[20]、Girvan-Newman (GN)算法[5]及其改进[9,12]、Wu-Huberman(WH)算法[49]和CPM(clique percolation method)算法[7]和FEC(finding and extracting communities)算法[28]是典型的启发式复杂网络聚类算法.这类算法的共同特点是:基于某些直观的假设来设计启发式算法,对于大部分网络,它们能够快速地找到最优解或者近似最优解,但无法从理论上严格保证它们对任何输入网络都能找到令人满意的解.2002年,Flake 等人基于图论的最大流-最小截定理提出了复杂网络聚类算法MFC [17].该算法的基本假设是:网络中的最大流量由网络“瓶颈”的容量决定,而在具有簇结构的网络中,网络“瓶颈”由簇间连接构成.由最大流-最小截定理可知:网络中的最大流等于最小截集的容量.因此,通过计算最小截集可以识别簇间连接.经过反复识别并删除簇间连接,网络簇能够被逐渐分离开来.Flake 等人将MFC 应用到基于链接的Web 网页聚类,并通过实验验证了一个非常有用的假说:通过自组织方式形成的Web 簇是高度主题相关的.这个发现为基于主题词的杨博等:复杂网络聚类方法59Web网页/文本聚类提供了一个新思路,因为基于连接分析的聚类算法所需要的开销要远远低于基于内容分析的聚类算法.MFC算法的效率由计算最小截集的时间决定,目前最快的最小截集计算方法需要O(mn log(n2/m))时间[50].由Girvan和Newman在2002年提出的GN算法也采用反复识别和删除簇间连接的策略聚类复杂网络[5].但GN算法采用了与MFC算法完全不同的启发式规则:簇间连接的边介数(edge betweenness)应大于簇内连接的边介数.连接的边介数定义为网络中经过该连接的任意两点间最短路径的条数.GN算法通过反复计算边介数、识别簇间连接、删除簇间连接,以自顶向下的方式建立一棵层次聚类树(dendrogram).GN算法的最大缺点是计算速度慢,由于边介数的计算开销过大(O(mn)),GN算法具有很高的时间复杂性(O(m2n)),只适合处理中小规模的网络(包含几百个节点的网络).尽管如此,GN算法在复杂网络聚类研究中仍占有十分重要的地位,Girvan 和Newman工作的重要意义在于:他们首次发现了复杂网络中普遍存在的网络簇结构,启发了其他研究者对这个问题的深入研究,掀起了复杂网络聚类的研究热潮.针对GN算法计算速度慢的缺点,研究者提出了多种改进方法.2003年,Tyler等人将统计方法引入基本的GN算法,提出一种近似GN算法[12].他们的策略是:采用蒙特卡洛方法估算出部分连接的近似边介数,而不是计算出全部连接的精确边介数.显然,这种方法计算速度的提高是以牺牲聚类精度为代价的.考虑到GN算法效率低是因为边介数计算开销过大,2004年,Radicchi等人提出了连接聚类系数(link clustering coefficient)取代GN算法的边介数[9].他们认为:簇间连接应该很少出现在短回路(如三角形或四边形)中,否则,短回路中的其他多数连接也会成为簇间连接,从而显著增加簇间的连接密度.基于该出发点,他们把连接聚类系数定义为包含该连接的短回路数目,并采用如下启发式规则:簇间连接的连接聚类系数应小于簇内连接的连接聚类系数.在算法的每次迭代中,具有最小连接聚类系数的边被删除.连接聚类系数的平均计算时间是O(m3/n2),这一算法的时间复杂性为O(m4/n2).对于稀疏网络,他们的算法(O(n2))要快于GN算法(O(n3)).该算法的最大局限性是:不适合处理短回路很少甚至没有的复杂网络.针对基于连接的WWW聚类问题,Kleinberg等人在1999年提出了著名的HITS算法[20].该算法本质上是一种启发式算法,所基于的基本假设是:根据连接关系,WWW中存在权威(authority)和中心(hub)两种基本类型的页面,权威页面倾向于被多个中心页面引用,而中心页面倾向于引用多个权威页面.基于权威-中心页面间相互指向的连接关系,HITS算法通过计算WWW对应的某些特殊矩阵(AA T和A T A,A表示Web图的邻接矩阵)的主特征向量来发现隐藏在WWW中的全部由权威-中心页面构成的网络簇结构.该算法被广泛地应用于包括Altavista在内的多个搜索引擎中.2004年,Wu和Huberma提出了快速启发式算法WH[49].该算法将复杂网络建模为电路系统,网络连接看作是具有电阻的线路,不同位置的网络节点具有不同的电位势.WH算法的启发式规则是:当在不同的簇中分别选取两个节点作为正负极后,由于簇间的电阻远远大于簇内电阻,因此,同簇节点位势应近似相同,而异簇节点位势应具有显著差异.WH算法首先基于Kirchhoff方程计算出每个节点的位势,然后采用寻找最大位势差的方法区分出不同的网络簇.WH算法是目前报道过的最快的复杂网络聚类算法,具有近似线性的时间复杂性O(t(n+m)),其中,t为计算出全部位势所需要的迭代次数.但WH算法需要过多的先验知识,并且通常难以获取.例如,WH算法需要从两个不同的簇中选择正负极节点;为挖掘出多个网络簇,WH算法需要知道网络簇的总数和每个簇的近似规模.目前,绝大多数算法不考虑重叠网络簇结构.但在多数应用中,重叠网络簇结构更具有实际意义.例如,在语义网中,多义词允许同时出现在多个表示不同词义的网络簇中.2005年,Palla及其同事在《Nature》上发表文章,提出了能够识别重叠网络簇结构的CPM算法[7].该算法的基本假设是:网络簇由多个相邻的k-团(k-clique)组成,相邻的两个k-团至少共享k−1个节点,每个k-团唯一地属于某个网络簇,但属于不同网络簇的k-团可能会共享某些节点.基于以上启发式信息,CPM算法通过如下步骤识别出重叠网络簇结构:1) 对给定的参数K,计算出网络中的全部k-团(k≤K),并建立团-团重叠矩阵(clique-clique overlap matrix);2) 根据以上矩阵,计算出重叠网络簇60 Journal of Software软件学报 V ol.20, No.1, January 2009结构.CPM算法是第1种能够计算重叠网络簇结构的算法,但具有如下主要缺点:在实际应用中参数K难以确定,选取不同的K值往往得到差别较大的网络簇结构,但难以评判它们的优劣.符号网络(signed network)是指包含正、负两种关系的二维复杂网络,是对一般复杂网络描述能力的一种推广.符号网络广泛存在于社会、生物等多种复杂系统中.例如,在社会系统中,“喜欢”、“尊重”和“表扬”属于正关系,而“厌恶”、“轻视”和“责备”属于负关系;再如,在神经系统中,神经元之间的“相互促进”属于正关系,而“相互抑制”属于负关系.符号网络簇结构具有簇内正关系稠密、同时簇间负关系也稠密的特点.针对符号网络聚类问题,杨博、Cheung和Liu等人在2007年提出了基于马尔可夫随机游走模型的启发式符合网络聚类算法(FEC)[28].FEC算法所采用的基本假设是:从任意给定的簇出发,网络中的随机游走过程达到起始簇内节点的期望概率将大于达到起始簇外节点的期望概率.基于该启发规则,FEC算法首先计算出在给定时刻随机游走过程到达所有节点的期望转移概率分布,进而根据该分布的局部一致性——同簇节点具有近似相同的期望转移概率分布——识别出各个不同的网络簇.值得指出的是,FEC算法是第1种综合考虑两种分簇标准(即连接密度和连接符号)的复杂网络聚类算法,既能有效处理符号网络(能够发现更加“自然”的符号网络簇结构),又能有效处理仅包含“正关系”的一般复杂网络.与现有方法相比,FEC算法在时间和识别精度方面表现出了更好的性能,尤其适合于处理噪声高和网络簇结构不明显的复杂网络.该算法的参数是随机游走的步长,步长的设置会影响最终的聚类结果.通过实验分析,FEC算法给出了步长设置的经验值,建议取值区间为[6,20].其中,6表示复杂网络中两点间的平均距离(大多数网络都满足六度分离理论),20表示网络的直径(WWW是迄今最大的复杂网络,研究表明其直径为19).但是,FEC算法没有从理论上给出一种针对不同网络设置最优参数的方法.1.3 其他复杂网络聚类方法除了以上两类主要方法以外,还存在其他复杂网络聚类方法.例如,基于相似度的层次聚类方法.在这类方法中,节点间的相似度根据网络拓扑结构定义,如基于结构全等的相关系数(correlation coefficient)[51]、基于随机游走的相似度[52]和节点聚类中心度(clustering centrality)[53]等.研究发现,WWW呈现的全局拓扑结构是由多个分散、自治实体的局部行为通过多种自组织方式涌现而成的.针对具有自组织特点的WWW聚类问题,文献[53]分析了复杂网络的宏观拓扑结构和网络节点的局部信息之间的关系,发现隐藏在网络中的全局簇结构能够从评价各个节点重要程度的局部中心度(local centrality)推断出来.据此,提出了节点聚类中心度概念和基于节点聚类中心度的复杂网络层次聚类算法(identifying community structure,简称ICS),并给出了该算法在搜索引擎中的应用实例.此外,聚类复杂网络的另一个思路是:将网络聚类转化为向量聚类.通过给每个网络节点分配一个合理的K-维坐标,我们可以把网络聚类问题转换为传统的空间点聚类问题,然后采用K-means等经典聚类算法聚类这些新生成的空间点.实际上,这个思想最早可以追溯到1970年Hall针对图分割问题提出的加权二次型变换算法[54].该算法能够将网络投影到一维空间,使得网络中连接紧密的节点在一维空间中的位置相对较近,而连接稀疏的节点在一维空间中的位置相对较远.基于相似的思想,Donetti和Munoz在2004年提出了一种结合谱方法和空间点聚类方法的复杂网络聚类算法[55].他们首先通过计算拉普拉斯矩阵的K个最小特征向量将网络映射到K-维空间中,然后采用某种基于距离的空间点聚类算法聚类网络节点.2 实验为了定量地分析和比较不同复杂网络聚类方法的性能,我们分别从优化方法和启发式方法中选择了具有代表性的7种算法,针对不同的基准数据集,从聚类精度和聚类速度两个方面进行对比实验.实验环境为:处理器Intel(R)Core(TM)2 4400 2.0GHz,内存2G,硬盘160G,操作系统为Windows XP,编程语言为Matlab 7.0.相关算法的代码可以从/www/网站下载.2.1 聚类精度比较首先采用已知簇结构的随机网络测试所选择算法的聚类精度.该实验方法被相关工作广泛采用,已成为测。
复杂网络聚类算法的研究
复杂网络聚类算法的研究摘要:复杂网络作为一种非常具有复杂性和多样性的网络结构,在许多领域都具有广泛的应用。
网络聚类算法是复杂网络研究中的一个重要方向,通过对网络中节点之间的相似度进行测量和聚类分析,可以发现网络中的一些特定社群结构或者模式,对于网络的分析和应用具有重要意义。
本文对复杂网络聚类算法的研究进行了综述,包括基于相似度度量的层次聚类、基于密度的谱聚类、基于模块度优化的模块化聚类以及基于社群发现的算法等,主要介绍了它们的原理、特点、应用场景和存在的问题,并对未来的研究方向进行了展望。
1.引言复杂网络是一种由大量节点和连接它们的边组成的网络结构,具有高度非线性、无标度性、小世界性等特点。
在物理学、计算机科学、社会学、生物学等领域都存在大量的复杂网络问题,因此复杂网络聚类算法的研究具有广泛的应用价值。
2.基于相似度度量的层次聚类算法层次聚类算法是一种将数据分层组织的聚类方法,通过计算节点之间的相似度来构建层次树状结构,然后通过层次树的剪枝过程来确定最终的聚类结果。
这种算法能够有效地发现网络中的粗粒度社群结构,但是在处理大规模网络时计算复杂度较高。
3.基于密度的谱聚类算法谱聚类算法是一种基于图论的聚类方法,通过对网络的拉普拉斯矩阵进行特征值分解,得到节点的特征向量,然后利用K-means等聚类算法对特征向量进行聚类分析。
谱聚类算法具有较好的聚类效果,但是在处理大规模网络时计算复杂度较高。
4.基于模块度优化的模块化聚类算法模块度是一种用于度量网络聚类质量的评价指标,基于模块度优化的聚类算法通过最大化网络的模块度来得到最优的社群结构。
这种算法在处理大规模网络时计算复杂度较低,但是对网络中社群数量和规模的要求较高。
5.基于社群发现的算法社群发现是一种通过网络内部节点之间的连接模式来发现隐含的社群结构的方法。
基于社群发现的聚类算法通过挖掘网络中的局部结构来得到节点之间的相似度,然后利用聚类算法对相似度矩阵进行聚类分析。
基于聚类算法的复杂网络结构分析研究
基于聚类算法的复杂网络结构分析研究随着互联网的快速发展,人们创建和使用网络的方式越来越多样化。
而网络作为一种复杂系统,其结构也变得越来越复杂。
为了更好地理解和研究网络结构,聚类算法成为一个十分有用的工具。
本文旨在研究基于聚类算法的复杂网络结构分析,包括聚类算法的基本概念、应用场景和研究方法等。
一、聚类算法的基本概念聚类算法是一种常见的数据分析方法,用于将相似的数据点归类。
简单来说,聚类算法通过测量数据点之间距离或相似性,将它们分成不同的组。
这种算法广泛应用于各种领域,包括机器学习、数据挖掘、图像分析等等。
在分析复杂网络时,聚类算法也是一种十分有用的工具。
现在我们来了解一下聚类算法的一些基本概念。
1.1 距离度量距离度量是指两个数据点之间的距离。
在聚类算法中,距离度量往往是一个关键的考虑因素,因为距离度量的不同可能会导致分组结果的不同。
常见的距离度量包括欧式距离、曼哈顿距离、切比雪夫距离等等。
1.2 聚类方法聚类方法是指将数据点分组的具体算法。
一般来说,聚类方法可以分为基于原型的聚类和层次聚类两类。
基于原型的聚类是指将数据点分为不同的团簇,每个团簇都有一个代表元,可以是重心或中心等等;层次聚类是指将数据点组织为层次结构,每个层次都对应一个分组结果。
1.3 聚类评估聚类评估是指评估聚类结果的方法。
一般来说,聚类评估可以分为内部评估和外部评估两类。
内部评估指评估聚类结果的好坏,通常采用轮廓系数、DB指数等指标;外部评估指比较聚类结果和真实聚类结果的差异,可以采用精准度、召回率、F值等指标。
二、应用场景复杂网络结构分析是聚类算法的一个重要应用方向。
因为复杂网络结构通常具有大规模、高纬度和动态变化等特征,因此需要一些高效的算法对其进行处理。
聚类算法可以帮助我们对复杂网络结构进行分组和分类,从而更好地理解和分析网络结构。
下面我们来了解一些聚类算法在复杂网络分析中的应用场景。
2.1 社交网络社交网络是人们在网络中互相交流和分享的平台。
复杂网络聚类算法研究
32
2.3.4 HITS 算 (Journal of ACM,1999 )
1999年,针对基于链接的网页排名问题,克莱因博格(Kleinberg)等人 提出了著名的HITS算法,该算法也可用于基于内容的网页聚类。
HITS算法基于的基本假设
12
Network Community Structure (Science 2002, Nature 2005, 2007)
网络簇结构(network community structure)具有同簇节点相互连接 密集、异簇节点相互连接稀疏的特点。
13
1.复杂网络聚类方法的研究背景及意义
复杂网络聚类方法的研究对分析复杂网络的拓扑结构、理解复
平均长度:网络中任意两点间最短路径长度的平均值。 聚类系数:节点的任意两个邻居节点仍互为邻居的平均概率
9
Scale-free network (Science 1999)
无标度性:网络的度分布呈现出幂率分布(power law),而 不是随机网络的泊松分布:
P(K) ~ K-a
10
Degree distribution
社会网络、语义网络、生物网络分析
(Nature 2005)
科学家合作网: 每个节点表示 一个科学家, 连接表示科学 家之间的合作 紧密程度。
语义网络 : 每个节点 表示一个英文单词, 连接表示词在某个语 境下共同出现的频率。
16
聚类基因网络
Nature 2003
17
聚类新陈代谢网络
Nature 2005
29
Guimera - Amaral算法(《Nature》,2005)
1. 2005 年, 吉莫热与阿麦拉尔 (R. Guimera 和 L.A.N. Amaral) 采用与算法 FN 相同的优化目标函数,提出 了基于模拟退火算法 (SA) 的复杂网络聚类算法 GA , 并应用到新陈代谢网络分析中。《Nature》2005年2 月刊报道了该项研究工作。 2. 算法GA的优缺点 GA采用模拟退火控制策略,因此GA具有跳过局 部最优解、找到全局最优解的能力,因而具有很好 的聚类精度。 GA 的效率取决于算法 SA 的效率,而后者通常 收敛很缓慢。 GA 对输入参数非常敏感,不同的参数设置往往 导致不同的聚类结果。
复杂网络中的聚类分析算法
复杂网络中的聚类分析算法复杂网络是一种含有大量节点和较多连接的网络结构,例如社交网络、物流网络以及互联网等等,这种网络结构具有较为复杂的拓扑结构和动态变化的特征,为了更好地研究网络结构的性质和规律,需要将网络中的节点按照某种规则分组,这个过程被称为聚类。
聚类分析是一种常见的数据挖掘算法,其主要工作是将数据集中的对象按照某种相似度指标分为若干个簇。
在复杂网络中,聚类分析算法可以帮助我们挖掘网络中的模块化结构和社区划分,从而更好地理解网络结构的性质和特征。
其中,最常用的聚类算法是基于图论的聚类算法,通常分为两类,即基于连接性的聚类算法和基于相似度的聚类算法。
基于连接性的聚类算法是将网络中的每一个节点看做一个元素,对网络中的边进行聚类,将互相连接的节点放入同一个簇中,这种方法通常基于最小生成树或K均值聚类算法。
其中,最小生成树聚类算法依靠网络中边的权重来构建最小生成树,通过在这个树上剪枝即可得到聚类结果,而K均值聚类算法则是将节点分为K个集合,循环迭代计算每个节点到每个集合的距离,并将其分到最近的集合中。
基于相似度的聚类算法则是将网络中的每一个节点看做一个特征向量,用数据挖掘中的聚类算法对这些向量进行聚类,这种方法通常包括谱聚类、模块度最大化等等。
其中,谱聚类算法依靠将网络中的邻接矩阵转化为拉普拉斯矩阵,通过求解矩阵的特征值和特征向量来得到聚类结果,而模块度最大化算法则是根据网络中节点之间的连边情况来计算网络中的模块度,并通过最大化模块度来得到聚类结果。
无论使用哪种聚类算法,其目的都是将网络中的节点分为不同的簇,这些簇可以帮助我们更好地理解网络的拓扑结构和动态变化趋势,更好地解读和分析社交网络等复杂网络结构,从而为我们提供更加深入的信息和洞察。
总之,聚类分析算法是一种十分重要的算法,在许多领域中都有广泛的应用,其中复杂网络领域中的聚类分析算法尤其受到关注,可以用来揭示网络中的模块化结构和社区划分等信息,为我们提供更加丰富和深入的视角,对于我们理解网络结构和规律有着重要的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.20, No.1, January 2009, pp.54−66 doi: 10.3724/SP.J.1001.2009.03464 Tel/Fax: +86-10-62562563© by Institute of Software, the Chinese Academy of Sciences. All rights reserved.∗复杂网络聚类方法杨博1,2, 刘大有1,2+, LIU Jiming3, 金弟1,2, 马海宾1,21(吉林大学计算机科学与技术学院,吉林长春 130012)2(吉林大学符号计算与知识工程教育部重点实验室,吉林长春 130012)3(香港浸会大学计算机科学系, 香港)Complex Network Clustering AlgorithmsYANG Bo1,2, LIU Da-You1,2+, LIU Jiming3, JIN Di1,2, MA Hai-Bin1,21(College of Computer Science and Technology, Jilin University, Changchun 130012, China)2(Key Laboratory of Symbolic Computation and Knowledge Engineering for the Ministry of Education, Jilin University, Changchun130012, China)3(Department of Computer Science, Hong Kong Baptist University, Hong Kong, China)+ Corresponding author: E-mail: dyliu@Yang B, Liu DY, Liu J, Jin D, Ma HB. Complex network clustering algorithms. Journal of Software, 2009,20(1):54−66. /1000-9825/3464.htmAbstract: Network community structure is one of the most fundamental and important topological properties ofcomplex networks, within which the links between nodes are very dense, but between which they are quite sparse.Network clustering algorithms which aim to discover all natural network communities from given complexnetworks are fundamentally important for both theoretical researches and practical applications, and can be used toanalyze the topological structures, understand the functions, recognize the hidden patterns, and predict the behaviorsof complex networks including social networks, biological networks, World Wide Webs and so on. This paperreviews the background, the motivation, the state of arts as well as the main issues of existing works related todiscovering network communities, and tries to draw a comprehensive and clear outline for this new and activeresearch area. This work is hopefully beneficial to the researchers from the communities of complex networkanalysis, data mining, intelligent Web and bioinformatics.Key words: complex network; network clustering; network community structure摘要: 网络簇结构是复杂网络最普遍和最重要的拓扑属性之一,具有同簇节点相互连接密集、异簇节点相互连接稀疏的特点.揭示网络簇结构的复杂网络聚类方法对分析复杂网络拓扑结构、理解其功能、发现其隐含模式、预测其行为都具有十分重要的理论意义,在社会网、生物网和万维网中具有广泛应用.综述了复杂网络聚类方法的研究背景、研究意义、国内外研究现状以及目前所面临的主要问题,试图为这个新兴的研究方向勾画出一个较为全面∗ Supported by the National Natural Science Foundation of China under Grant Nos.60496321, 60503016, 60573073, 60873149 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant No.2006AA10Z245 (国家高技术研究发展计划(863))Received 2008-06-17; Accepted 2008-08-28杨博等:复杂网络聚类方法55和清晰的概貌,为复杂网络分析、数据挖掘、智能Web、生物信息学等相关领域的研究者提供有益的参考.关键词: 复杂网络;网络聚类;网络簇结构中图法分类号: TP311文献标识码: A现实世界中的诸多系统都以网络形式存在,如社会系统中的人际关系网、科学家协作网和流行病传播网,生态系统中的神经元网、基因调控网和蛋白质交互网,科技系统中的电话网、因特网和万维网等.由于这些网络具有很高的复杂性,因此被称为“复杂网络(complex network)”.复杂网络已成为当前最重要的多学科交叉研究领域之一[1−3].与小世界性[1]、无标度性[2−4]等基本统计特性相并列,网络簇结构(network cluster structure或network community structure)是复杂网络最普遍和最重要的拓扑结构属性之一,具有同簇节点相互连接密集、异簇节点相互连接稀疏的特点[5−9].复杂网络聚类方法旨在揭示出复杂网络中真实存在的网络簇结构.复杂网络聚类方法的研究对分析复杂网络的拓扑结构、理解复杂网络的功能、发现复杂网络中的隐藏规律以及预测复杂网络的行为不仅具有十分重要的理论意义,而且具有广泛的应用前景,目前已被应用于恐怖组织识别、组织结构管理等社会网络分析[5,7,10−12]、新陈代谢网络分析[7,13]、蛋白质交互网络分析和未知蛋白质功能预测[14−16]、基因调控网络分析和主控基因识别[8]等各种生物网络分析以及Web社区挖掘和基于主题词的Web文档聚类[17−19]和搜索引擎[20−22]等众多领域.由于复杂网络聚类研究具有重要的理论意义和应用价值,它不仅成为计算机领域中最具挑战性的基础性研究课题之一,也吸引了来自物理、数学、生物、社会学和复杂性科学等众多领域的研究者,掀起了一股研究热潮.从2002年至今,新的方法层出不穷,新的应用领域不断被拓展,《Nature》[6,7,10],《Science》[13],《Proc. of National Academy of Sciences (PNAS)》[5,8,9,23−25],《Physics Review Letter》[26,27],《IEEE Trans. on Knowledge and Data Engineering(TKDE)》[28,29],《PLOS Computational Biology》[14,30]等不同领域的权威国际杂志和多个重要的国际学术会议(如数据挖掘领域权威国际会议ACM SIGKDD[31]和IEEE ICDM[32],万维网领域权威国际会议WWW[19,21]等)多次报道这方面的研究工作.复杂网络聚类方法已成为图论、复杂网络、数据挖掘等基础理论的重要组成部分和相关课程的核心内容,如康奈尔大学计算机系开设的“The Structure of Information Networks”课程和麻省理工大学电子工程和计算机系开设的“Networks and Dynamics”课程.在以上研究背景下,本文综述了复杂网络聚类方法的研究现状以及目前面临的主要问题,试图为该研究方向勾画出一个较为全面和清晰的概貌,为复杂网络分析、数据挖掘等相关领域的研究者提供有益的参考.本文第1节分析复杂网络聚类问题的研究现状,重点分析15个具有代表性的复杂网络聚类算法.第2节通过实验定量分析和比较7种典型算法的性能.第3节总结全文并给出本文的一些结论.1 复杂网络聚类方法分类与分析复杂网络可以建模为一个图G=(V,E),V表示网络的节点集合,E表示连接的结合.复杂网络可以是无向图、有向图、加权图或者超图.网络簇定义为网络的稠密连通分支,具有簇内连接稠密、簇间连接相对稀疏的特点.例如,可以把人类社会抽象成一个称为“社会网络”的加权有向图.图中节点表示人,有向边表示人与人之间的社会关系,权值表示关系的强弱,路径表示由社会关系组成的“关系链”,网络簇表示由多个具有共同属性的人组成的“社团”.除社会网络之外,常见的复杂网络还有生物网络和科技网络.研究发现,尽管客观世界中的复杂系统功能各样,但它们对应的复杂网络在结构上却具有十分惊人的相似性.根据网络结构的特点,科学家把绝大多数的复杂网络归纳为3类:随机网络、小世界网络和无标度网络.复杂网络的核心研究内容是揭示复杂网络功能和结构之间的内在联系.目前,用于刻画复杂网络结构的重要属性是平均路长、聚类系数、度分布、网络Motif 和网络簇结构.借助复杂网络簇结构分析方法,科学家取得了一些有关网络功能和结构的初步研究结果,如:揭示出蛋白质功能和交互关系的内在联系、网页主题和超连接的内在联系、社会组织如何随时间演化等.然而,已有的研究结果还远未揭示复杂网络功能与结构的内在联系,在理论和应用上都还存在许多亟待解决的问题.本文主要从计算方法的角度,围绕复杂网络簇结构的发现算法进行讨论,分析和比较现有算法的基本原理、特56Journal of Software 软件学报 V ol.20, No.1, January 2009点、不足和需要解决的问题. 目前已存在多种复杂网络聚类算法,按照所采用的基本求解策略,本文将它们中的大多数归纳为两大类:基于优化的方法(optimization based method)和启发式方法(heuristic method).前者将复杂网络聚类问题转化为优化问题,通过最优化预定义的目标函数来计算复杂网络的簇结构.例如,谱方法(spectral method)将网络聚类问题转化为二次型优化问题,通过计算特殊矩阵的特征向量来优化预定义的“截(cut)”函数.后者将复杂网络聚类问题转化为预定义启发式规则的设计问题.例如,被广泛引用的Girvan-Newman 算法[5]的启发式规则是:簇间连接的边介数(edge betweenness)应大于簇内连接的边介数.除了以上两类方法之外,还存在其他类型的复杂网络聚类方法.按照本文的分类方法,现有复杂网络聚类方法的分类如图1所示,本节将具体分析各类方法的典型代表.Fig.1 Classification chart of complex network clustering algorithms图1 复杂网络聚类算法分类图1.1 基于优化的复杂网络聚类方法谱方法和局部搜索方法是两类主要的基于优化的复杂聚类方法.1.1.1 谱方法谱方法最早用于解决图分割(graph partition)问题,近年来被应用到复杂网络聚类[23,31,33,34].谱方法采用二次型优化技术最小化预定义的“截”函数.当一个网络被划分为两个子网络时,“截”即指子网间的连接密度.具有最小“截”的划分被认为是最优的网络划分.针对不同问题,提出了不同的“截”函数.例如,针对分布式系统负载平衡提出的“平均截(average cut)”[35,36]、针对大规模集成电路(VLSI)设计提出的“比率截(ratio cut)”[37,38]以及针对图像分割提出的“规范截(normalized cut)”[39]等.已经证明,最小化以上的“截”函数是NP 完全问题[39,40].采用矩阵分析技术,谱方法将求解最小“截”问题转化为求解带约束的二次型优化问题:min{(X T MX )/(X T X )},其中,向量X 表示网络划分,M 表示对称半正定矩阵.对于“平均截”,M =D −A 表示网络的拉普拉斯矩阵(Laplacian matrix),其中D 表示由节点度构成的对角矩阵,A 为网络的邻接矩阵;对于“规范截”,M =D −1/2(D −A )D −1/2表示网络的规范化拉普拉斯矩阵;对于其他截函数,M 是拉普拉斯矩阵的不同变体.由拉格朗日方法,以上约束二次型的近似最优解(即网络的近似最优划分)可以通过计算M 的第2小特征向量求得.一般地,n 维矩阵特征向量的计算时间为O (n 3).对于稀疏网络,采用Lanczos 算法[41],M 的第2小特征向量的计算时间为32(/())O m λλ−,其中m 表示网络连接数目,λ2和λ3分别表示M 的第二、第三小特征值.谱方法本质上是一种二分法,在每次二分过程中,网络被分割成两个近似平衡的子网络.当网络中含有多个簇时,谱方法递归地分割现存的子网络,直到满足预先定义的停止条件为止.谱方法具有严密的数学理论,已发展成数据聚类的一种重要方法(称为谱聚类法),被广泛应用于图分割和杨博 等:复杂网络聚类方法 57 空间点聚类等领域.但是,针对复杂网络聚类,谱方法的主要不足是:1) 需要借助先验知识定义递归终止条件,即谱方法不具备自动识别网络簇总数的能力;2) 现实世界中的复杂网络往往包含多个网络簇,而谱方法的递归二分策略不能保证得到的网络划分是最优的多网络簇结构.1.1.2 基于局部搜索的复杂网络聚类方法Kernighan-Lin 算法(简称KL 算法)[42]、快速Newman 算法(简称FN 算法)[43]和Guimera-Amaral 算法(简称GA 算法)[6]是3种典型的基于局部搜索优化技术的复杂网络聚类算法.这类算法包含3个基本部分:目标函数、候选解的搜索策略和最优解的搜索策略.以上3种算法采用了几乎相同的候选解搜索策略,但其所采用的目标函数和最优解搜索策略却不尽相同.针对图分割问题,Kernighan 和Lin 在1970年提出KL 算法[42],该方法也可用于复杂网络聚类.KL 算法的优化目标是极小化簇间连接数目与簇内连接数目之差;其候选解搜索策略是:将节点移动到其他簇或交换不同簇的节点.从初始解开始,KL 算法在每次迭代过程中产生、评价、选择候选解,直到从当前解出发找不到更好的候选解为止.在整个搜索过程中,KL 算法只接受更好的候选解,而拒绝所有较差的候选解,因此它找到的解往往是局部最优而不是全局最优解.KL 算法最大的局限性在于它需要先验知识(如簇的个数或簇的平均规模)来产生一个较好的初始簇结构,因为该算法对初始解非常敏感,不好的初始解往往导致缓慢的收敛速度和较差的最终解.KL 算法的时间复杂性是O (tn 2),其中,n 表示网络节点个数,t 表示算法停止时的迭代次数.2004年,Newman 提出了基于局部搜索的快速复杂网络聚类算法FN [43].其优化目标是极大化Newman 和Girvan 在同年提出的网络模块性(modularity)评价函数(他们称为Q 函数)[44].Q 函数定义为簇内实际连接数目与随机连接情况下簇内期望连接数目之差,用来定量地刻画网络簇结构的优劣,一种计算形式如下:212Ks s s m d Q=m m =⎡⎤⎛⎞−⎢⎥⎜⎟⎝⎠⎢⎥⎣⎦∑, 其中,K 表示网络簇个数,m 表示网络连接总数,m s 表示网络簇s 中的连接总数,d s 表示网络簇s 中节点度之和.一般地,好的网络簇结构对应较大的Q 值.候选解的局部搜索策略为:选择且合并两个现有的网络簇.从初始解开始(每个网络簇仅包含一个节点),在每次迭代中,FN 算法执行使∆Q 值最大化的合并操作,直到网络中只剩下一个网络簇.通过这种自低向上的层次聚类过程,FN 算法输出一棵刻画网络簇层次关系的树结构(dendrogram).FN 算法的时间复杂性是O (mn ),m 和n 分别表示网络的连接数和节点数.采用与FN 算法相同的优化目标,Guimera 和Amaral 在2005年提出了基于模拟退火算法(simulated annealing,简称SA)的复杂网络聚类算法GA,并应用到新陈代谢网络分析中.2005年2月刊的《Nature 》报道了该工作[6].类似于KL 算法,从初始解开始,在每次迭代中,GA 算法产生、评价、接受或拒绝由当前解产生的候选解.GA 算法产生候选解的策略是:将节点移动到其他簇、交换不同簇的节点、分解网络簇或合并网络簇.GA 算法通过计算候选解对应的Q 值来评价其优劣,并采用模拟退火策略的Metropolis 准则决定是否接受它,允许以一定的概率接受较差的候选解而放弃较好的候选解.因此,GA 算法具有跳过局部最优解、找到全局最优解的能力,从而具有很好的聚类精度. GA 采用的Metropolis 准则定义如下:1111,if ,exp ,if t t t t t t C C p C C C C T +++≤⎧⎪=−⎨⎛⎞−>⎜⎟⎪⎝⎠⎩其中,C t =−Q t ,p 表示接受t+1时刻候选解的概率,T 表示t+1时刻的系统温度.GA 算法的效率完全取决于SA 算法的效率,而后者的收敛速度通常很缓慢.据报道,在普通配置的计算机上采用GA 算法聚类仅包含3 885个节点、7 260条边的酵母菌蛋白质交互网络需要3天时间[14].此外,GA 算法对输入参数(如初始解、候选解搜索策略、降温(cooling)策略等)非常敏感,不同的参数设置往往导致具有较大差别的聚类结果和运行时间.1.1.3 其他基于优化的复杂网络聚类方法除以上两种主要方法外,还存在其他基于优化方法的复杂网络聚类方法.例如,Reichardt 和Bornholdt 在58 Journal of Software 软件学报 V ol.20, No.1, January 20092004年提出的基于多自旋状态Potts 模型的网络聚类算法[26].在该模型中,每个网络节点被看作是一个具有多自旋状态的旋转子(spin),并且同簇内节点具有相同的自旋状态.他们认为,最优的网络簇结构应该对应最稳定的系统状态,即能量最低的状态.因此,网络聚类问题就转化为求最小化系统能量的自旋状态分布问题.他们定义了系统能量函数,并基于蒙特卡罗方法和模拟退火算法给出了相应的优化算法.1.1.4 基于优化聚类方法的分析采用优化方法识别出的网络簇结构完全取决于优化目标,因此“有偏”的目标函数会导致“有偏”的解(即得到的网络簇结构和真实存在的网络簇结构不符).值得注意的是,除了以上提到的FN 算法和GA 算法外,很多基于优化的复杂网络聚类方法都以最大化Q 函数作为优化目标[14,23,45,46].然而,研究发现,Q 函数是有偏的,并不能完全准确地刻画最优的(或者说是真实的)网络簇结构.对于某些网络而言,其真实的网络簇结构对应的Q 值是局部极大值,而非全局最大值.图2给出了GA 算法计算两个基准社会网络(Karate 网络[47]和Football 网络[5])的局部搜索过程.如图2(a)所示,对于Karate 网络而言,其真实的2-网络簇结构对应一个局部极大值0.37,而GA 计算出的全局最优值0.42对应一个4-网络簇结构.如图2(b)所示,对于Football 网络而言,其真实的12-网络簇结构对应一个局部极大值0.51,而GA 计算出的全局最优值0.60对应一个10-网络簇结构.0 0.10.20.30.40.5Iterations of GA algorithm Q -V a l u e00.10.20.30.40.50.6Iterations of GA algorithm Q -V a l u e(a) (b)Fig.2 Local search processes of the GA algorithm图2 GA 算法的局部搜索过程2004年,Guimera 等人进一步研究发现,对于某些随机网络,由于受到扰动的影响,明显不好的网络簇结构却对应相对较高的Q 值[48].2007年,Fortunato 和Barthelemy 系统地研究了Q 函数对聚类精度的影响,他们在《PNAS 》上发表论文指出:对于大规模复杂网络,基于优化Q 函数的复杂网络聚类算法倾向于找到粗糙的而不是精细的网络簇结构[24].这意味着,该类算法未必能够找到这些网络中真实存在的全部网络簇.1.2 启发式复杂网络聚类方法MFC(maximum flow community)算法[17]、HITS(hyperlink induced topic search)算法[20]、Girvan-Newman (GN)算法[5]及其改进[9,12]、Wu-Huberman(WH)算法[49]和CPM(clique percolation method)算法[7]和FEC(finding and extracting communities)算法[28]是典型的启发式复杂网络聚类算法.这类算法的共同特点是:基于某些直观的假设来设计启发式算法,对于大部分网络,它们能够快速地找到最优解或者近似最优解,但无法从理论上严格保证它们对任何输入网络都能找到令人满意的解.2002年,Flake 等人基于图论的最大流-最小截定理提出了复杂网络聚类算法MFC [17].该算法的基本假设是:网络中的最大流量由网络“瓶颈”的容量决定,而在具有簇结构的网络中,网络“瓶颈”由簇间连接构成.由最大流-最小截定理可知:网络中的最大流等于最小截集的容量.因此,通过计算最小截集可以识别簇间连接.经过反复识别并删除簇间连接,网络簇能够被逐渐分离开来.Flake 等人将MFC 应用到基于链接的Web 网页聚类,并通过实验验证了一个非常有用的假说:通过自组织方式形成的Web 簇是高度主题相关的.这个发现为基于主题词的杨博等:复杂网络聚类方法59Web网页/文本聚类提供了一个新思路,因为基于连接分析的聚类算法所需要的开销要远远低于基于内容分析的聚类算法.MFC算法的效率由计算最小截集的时间决定,目前最快的最小截集计算方法需要O(mn log(n2/m))时间[50].由Girvan和Newman在2002年提出的GN算法也采用反复识别和删除簇间连接的策略聚类复杂网络[5].但GN算法采用了与MFC算法完全不同的启发式规则:簇间连接的边介数(edge betweenness)应大于簇内连接的边介数.连接的边介数定义为网络中经过该连接的任意两点间最短路径的条数.GN算法通过反复计算边介数、识别簇间连接、删除簇间连接,以自顶向下的方式建立一棵层次聚类树(dendrogram).GN算法的最大缺点是计算速度慢,由于边介数的计算开销过大(O(mn)),GN算法具有很高的时间复杂性(O(m2n)),只适合处理中小规模的网络(包含几百个节点的网络).尽管如此,GN算法在复杂网络聚类研究中仍占有十分重要的地位,Girvan 和Newman工作的重要意义在于:他们首次发现了复杂网络中普遍存在的网络簇结构,启发了其他研究者对这个问题的深入研究,掀起了复杂网络聚类的研究热潮.针对GN算法计算速度慢的缺点,研究者提出了多种改进方法.2003年,Tyler等人将统计方法引入基本的GN算法,提出一种近似GN算法[12].他们的策略是:采用蒙特卡洛方法估算出部分连接的近似边介数,而不是计算出全部连接的精确边介数.显然,这种方法计算速度的提高是以牺牲聚类精度为代价的.考虑到GN算法效率低是因为边介数计算开销过大,2004年,Radicchi等人提出了连接聚类系数(link clustering coefficient)取代GN算法的边介数[9].他们认为:簇间连接应该很少出现在短回路(如三角形或四边形)中,否则,短回路中的其他多数连接也会成为簇间连接,从而显著增加簇间的连接密度.基于该出发点,他们把连接聚类系数定义为包含该连接的短回路数目,并采用如下启发式规则:簇间连接的连接聚类系数应小于簇内连接的连接聚类系数.在算法的每次迭代中,具有最小连接聚类系数的边被删除.连接聚类系数的平均计算时间是O(m3/n2),这一算法的时间复杂性为O(m4/n2).对于稀疏网络,他们的算法(O(n2))要快于GN算法(O(n3)).该算法的最大局限性是:不适合处理短回路很少甚至没有的复杂网络.针对基于连接的WWW聚类问题,Kleinberg等人在1999年提出了著名的HITS算法[20].该算法本质上是一种启发式算法,所基于的基本假设是:根据连接关系,WWW中存在权威(authority)和中心(hub)两种基本类型的页面,权威页面倾向于被多个中心页面引用,而中心页面倾向于引用多个权威页面.基于权威-中心页面间相互指向的连接关系,HITS算法通过计算WWW对应的某些特殊矩阵(AA T和A T A,A表示Web图的邻接矩阵)的主特征向量来发现隐藏在WWW中的全部由权威-中心页面构成的网络簇结构.该算法被广泛地应用于包括Altavista在内的多个搜索引擎中.2004年,Wu和Huberma提出了快速启发式算法WH[49].该算法将复杂网络建模为电路系统,网络连接看作是具有电阻的线路,不同位置的网络节点具有不同的电位势.WH算法的启发式规则是:当在不同的簇中分别选取两个节点作为正负极后,由于簇间的电阻远远大于簇内电阻,因此,同簇节点位势应近似相同,而异簇节点位势应具有显著差异.WH算法首先基于Kirchhoff方程计算出每个节点的位势,然后采用寻找最大位势差的方法区分出不同的网络簇.WH算法是目前报道过的最快的复杂网络聚类算法,具有近似线性的时间复杂性O(t(n+m)),其中,t为计算出全部位势所需要的迭代次数.但WH算法需要过多的先验知识,并且通常难以获取.例如,WH算法需要从两个不同的簇中选择正负极节点;为挖掘出多个网络簇,WH算法需要知道网络簇的总数和每个簇的近似规模.目前,绝大多数算法不考虑重叠网络簇结构.但在多数应用中,重叠网络簇结构更具有实际意义.例如,在语义网中,多义词允许同时出现在多个表示不同词义的网络簇中.2005年,Palla及其同事在《Nature》上发表文章,提出了能够识别重叠网络簇结构的CPM算法[7].该算法的基本假设是:网络簇由多个相邻的k-团(k-clique)组成,相邻的两个k-团至少共享k−1个节点,每个k-团唯一地属于某个网络簇,但属于不同网络簇的k-团可能会共享某些节点.基于以上启发式信息,CPM算法通过如下步骤识别出重叠网络簇结构:1) 对给定的参数K,计算出网络中的全部k-团(k≤K),并建立团-团重叠矩阵(clique-clique overlap matrix);2) 根据以上矩阵,计算出重叠网络簇60 Journal of Software软件学报 V ol.20, No.1, January 2009结构.CPM算法是第1种能够计算重叠网络簇结构的算法,但具有如下主要缺点:在实际应用中参数K难以确定,选取不同的K值往往得到差别较大的网络簇结构,但难以评判它们的优劣.符号网络(signed network)是指包含正、负两种关系的二维复杂网络,是对一般复杂网络描述能力的一种推广.符号网络广泛存在于社会、生物等多种复杂系统中.例如,在社会系统中,“喜欢”、“尊重”和“表扬”属于正关系,而“厌恶”、“轻视”和“责备”属于负关系;再如,在神经系统中,神经元之间的“相互促进”属于正关系,而“相互抑制”属于负关系.符号网络簇结构具有簇内正关系稠密、同时簇间负关系也稠密的特点.针对符号网络聚类问题,杨博、Cheung和Liu等人在2007年提出了基于马尔可夫随机游走模型的启发式符合网络聚类算法(FEC)[28].FEC算法所采用的基本假设是:从任意给定的簇出发,网络中的随机游走过程达到起始簇内节点的期望概率将大于达到起始簇外节点的期望概率.基于该启发规则,FEC算法首先计算出在给定时刻随机游走过程到达所有节点的期望转移概率分布,进而根据该分布的局部一致性——同簇节点具有近似相同的期望转移概率分布——识别出各个不同的网络簇.值得指出的是,FEC算法是第1种综合考虑两种分簇标准(即连接密度和连接符号)的复杂网络聚类算法,既能有效处理符号网络(能够发现更加“自然”的符号网络簇结构),又能有效处理仅包含“正关系”的一般复杂网络.与现有方法相比,FEC算法在时间和识别精度方面表现出了更好的性能,尤其适合于处理噪声高和网络簇结构不明显的复杂网络.该算法的参数是随机游走的步长,步长的设置会影响最终的聚类结果.通过实验分析,FEC算法给出了步长设置的经验值,建议取值区间为[6,20].其中,6表示复杂网络中两点间的平均距离(大多数网络都满足六度分离理论),20表示网络的直径(WWW是迄今最大的复杂网络,研究表明其直径为19).但是,FEC算法没有从理论上给出一种针对不同网络设置最优参数的方法.1.3 其他复杂网络聚类方法除了以上两类主要方法以外,还存在其他复杂网络聚类方法.例如,基于相似度的层次聚类方法.在这类方法中,节点间的相似度根据网络拓扑结构定义,如基于结构全等的相关系数(correlation coefficient)[51]、基于随机游走的相似度[52]和节点聚类中心度(clustering centrality)[53]等.研究发现,WWW呈现的全局拓扑结构是由多个分散、自治实体的局部行为通过多种自组织方式涌现而成的.针对具有自组织特点的WWW聚类问题,文献[53]分析了复杂网络的宏观拓扑结构和网络节点的局部信息之间的关系,发现隐藏在网络中的全局簇结构能够从评价各个节点重要程度的局部中心度(local centrality)推断出来.据此,提出了节点聚类中心度概念和基于节点聚类中心度的复杂网络层次聚类算法(identifying community structure,简称ICS),并给出了该算法在搜索引擎中的应用实例.此外,聚类复杂网络的另一个思路是:将网络聚类转化为向量聚类.通过给每个网络节点分配一个合理的K-维坐标,我们可以把网络聚类问题转换为传统的空间点聚类问题,然后采用K-means等经典聚类算法聚类这些新生成的空间点.实际上,这个思想最早可以追溯到1970年Hall针对图分割问题提出的加权二次型变换算法[54].该算法能够将网络投影到一维空间,使得网络中连接紧密的节点在一维空间中的位置相对较近,而连接稀疏的节点在一维空间中的位置相对较远.基于相似的思想,Donetti和Munoz在2004年提出了一种结合谱方法和空间点聚类方法的复杂网络聚类算法[55].他们首先通过计算拉普拉斯矩阵的K个最小特征向量将网络映射到K-维空间中,然后采用某种基于距离的空间点聚类算法聚类网络节点.2 实验为了定量地分析和比较不同复杂网络聚类方法的性能,我们分别从优化方法和启发式方法中选择了具有代表性的7种算法,针对不同的基准数据集,从聚类精度和聚类速度两个方面进行对比实验.实验环境为:处理器Intel(R)Core(TM)2 4400 2.0GHz,内存2G,硬盘160G,操作系统为Windows XP,编程语言为Matlab 7.0.相关算法的代码可以从/www/网站下载.2.1 聚类精度比较首先采用已知簇结构的随机网络测试所选择算法的聚类精度.该实验方法被相关工作广泛采用,已成为测。