[Network Analysis] 复杂网络分析总结

  在咱们的现实生活中,许多复杂系统均可以建模成一种复杂网络进行分析,好比常见的电力网络、航空网络、交通网络、计算机网络以及社交网络等等。复杂网络不只是一种数据的表现形式,它一样也是一种科学研究的手段。复杂网络方面的研究目前受到了普遍的关注和研究,尤为是随着各类在线社交平台的蓬勃发展,各领域对于在线社交网络的研究也愈来愈火。研究生期间,本人的研究方向也是一直与复杂网络打交道,如今立刻就要毕业了,写一篇博文简单介绍一下复杂网络特色以及一些有关复杂网络研究内容的介绍,但愿感兴趣的博友能够一块儿讨论,一块儿学习。php

  下图分别是一个航空网络(上图)和Facebook网络全球友谊图(下图)。算法

1. 复杂网络的特色

  钱学森对于复杂网络给出了一种严格的定义:具备自组织、自类似、吸引子、小世界、无标度中部分或所有性质的网络称之为复杂网络。言外之意,复杂网络就是指一种呈现高度复杂性的网络,其特色主要具体体如今以下几个方面:网络

  1.1 小世界特性

  小世界特性(Small world theory)又被称之为是六度空间理论或者是六度分割理论(Six degrees of separation)。小世界特性指出:社交网络中的任何一个成员和任何一个陌生人之间所间隔的人不会超过六个,以下图所示:jsp

  在考虑网络特征的时候,一般使用两个特征来衡量网络:
  特征路径长度(characteristic path length):在网络中,任选两个节点,连通这两个节点的最少边数,定义为这两个节点的路径长度,网络中全部节点对的路径长度的平均值,定义为网络的特征路径长度。这是网络的全局特征。
  聚合系数(clustering coefficient):假设某个节点有$k$条边,则这$k$条边链接的节点($k$个)之间最多可能存在的边的条数为$k(k-1)/2$,用实际存在的边数除以最多可能存在的边数获得的分数值,定义为这个节点的聚合系数。全部节点的聚合系数的均值定义为网络的聚合系数。聚合系数是网络的局部特征,反映了相邻两我的之间朋友圈子的重合度,即该节点的朋友之间也是朋友的程度。
  对于规则网络,任意两个点(个体)之间的特征路径长度长(经过多少个体联系在一块儿),但聚合系数高(你是朋友的朋友的朋友的概率高)。对于随机网络,任意两个点之间的特征路径长度短,但聚合系数低。而小世界网络,点之间特征路径长度小,接近随机网络,而聚合系数依旧至关高,接近规则网络。
  复杂网络的小世界特性跟网络中的信息传播有着密切的联系。实际的社会、生态、等网络都是小世界网络,在这样的系统里,信息传递速度快,而且少许改变几个链接,就能够剧烈地改变网络的性能,如对已存在的网络进行调整,如蜂窝电话网,改动不多几条线路,就能够显著提升性能。

  1.2 无标度特性

  现实世界的网络大部分都不是随机网络,少数的节点每每拥有大量的链接,而大部分节点却不多,节点的度数分布符合幂率分布,而这就被称为是网络的无标度特性(Scale-free)。将度分布符合幂律分布的复杂网络称为无标度网络。ide

  下图为一个具备10万个节点的BA无标度网络的度数分布示意图:函数

  无标度特性反映了复杂网络具备严重的异质性,其各节点之间的链接情况(度数)具备严重的不均匀分布性:网络中少数称之为Hub点的节点拥有极其多的链接,而大多数节点只有不多量的链接。少数Hub点对无标度网络的运行起着主导的做用。从广义上说,无标度网络的无标度性是描述大量复杂系统总体上严重不均匀分布的一种内在性质。工具

  其实复杂网络的无标度特性与网络的鲁棒性分析具备密切的关系。无标度网络中幂律分布特性的存在极大地提升了高度数节点存在的可能性,所以,无标度网络同时显现出针对随机故障的鲁棒性和针对蓄意攻击的脆弱性。这种鲁棒且脆弱性对网络容错和抗攻击能力有很大影响。研究代表,无标度网络具备很强的容错性,可是对基于节点度值的选择性攻击而言,其抗攻击能力至关差,高度数节点的存在极大地削弱了网络的鲁棒性,一个恶意攻击者只需选择攻击网络不多的一部分高度数节点,就能使网络迅速瘫痪。性能

  1.3 社区结构特性

  人以类聚,物以群分。复杂网络中的节点每每也呈现出集群特性。例如,社会网络中老是存在熟人圈或朋友圈,其中每一个成员都认识其余成员。集群程度的意义是网络集团化的程度;这是一种网络的内聚倾向。连通集团概念反映的是一个大网络中各集聚的小网络分布和相互联系的情况。例如,它能够反映这个朋友圈与另外一个朋友圈的相互关系。
学习

  下图为网络汇集现象的一种描述:大数据

2. 社区检测

  社区检测(community detection)又被称为是社区发现,它是用来揭示网络汇集行为的一种技术。社区检测实际就是一种网络聚类的方法,这里的“社区”在文献中并无一种严格的定义,咱们能够将其理解为一类具备相同特性的节点的集合。近年来,社区检测获得了快速的发展,这主要是因为复杂网络领域中的大牛Newman提出了一种模块度(modularity)的概念,从而使得网络社区划分的优劣能够有一个明确的评价指标来衡量。一个网络不通状况下的社区划分对应不一样的模块度,模块度越大,对应的社区划分也就越合理;若是模块度越小,则对应的网络社区划分也就越模糊。

  下图描述了网络中的社区结构:

  Newman提出的模块度计算公式以下:

$Q=1/(2m) \sum_{ij}(A_{ij}-k_{i}k_{j}/(2m)) \delta(C_{i},C_{j})$

其中$m$为网络中总的边数,$A$是网络对应的邻接矩阵,$A_{ij}=1$表明节点$i$和节点$j$之间存在连边,不然不存在连边。$k_{i}$为节点$i$的度数,$C_{i}$为节点$i$属于某个社区的标号,而$\delta(C_{i},C_{j})=1$当且仅当$C_{i}=C_{j}$。

  上述的模块度定义其实很好理解,咱们能够根据一个网络的空模型去进行理解。网络的空模型能够理解为只有节点的而没有连边,这时候一个节点能够和图中的任意其余节点相连,而且节点$i$和$j$相连的几率能够经过计算获得。随机选择一个节点与节点$i$相连的几率为$k_{j}/2m$,随机选择一个节点与节点$j$相连的几率为$k_{j}/2m$,那么节点$i$和节点$j$相连的几率为$p_{i}p_{j}=k_{i}k_{j}/(4m^{2})$,边数的指望值$P_{ij}=2mp_{i}p_{j}=k_{i}k_{j}/(2m)$。因此模块度其实就是指一个网络在某种社区划分下与随机网络的差别,由于随机网络并不具备社区结构,对应的差别越大说明该社区划分越好。

  Newman提出的模块度具备两方面的意义:

  (1)模块度的提出成为了社区检测评价一种经常使用指标,它是度量网络社区划分优劣的量化指标;

  (2)模块度的提出极大地促进了各类优化算法应用于社区检测领域的发展。在模块度的基础之上,许多优化算法以模块度为优化的目标方程进行优化,从而使得目标函数达到最大时获得不错的社区划分结果。

  固然,模块度的概念不是绝对合理的,它也有弊端,好比分辨率限制问题等,后期国内学者在模块度的基础上提出了模块度密度的概念,能够很好的解决模块度的弊端,这里就不详细介绍了。

  经常使用的社区检测方法主要有以下几种:

  (1)基于图分割的方法,如Kernighan-Lin算法,谱平分法等;

  (2)基于层次聚类的方法,如GN算法、Newman快速算法等;

  (3)基于模块度优化的方法,如贪婪算法、模拟退火算法、Memetic算法、PSO算法、进化多目标优化算法等。

3. 结构平衡

  结构平衡(Structural Balance)主要是针对社交网络的研究而被提出的,它最先源于社会心理学家Heider提出的一个结构平衡理论。

  3.1 网络平衡的发展

  网络平衡有时也称社会平衡(Social Balance),就网络平衡的发展来讲,咱们能够将其分为三个发展阶段。
  3.1.1 网络平衡理论的提出
  “网络平衡”一词最先是由Heider基于对社会心理学的研究而提出的,Heider在1946年的文章Attitudes and cognitive organization[1]中针对网络平衡的概念提出了最先的平衡理论:
  (1)朋友的朋友是朋友;
  (2)朋友的敌人是敌人;
  (3)敌人的朋友是敌人;
  (4)敌人的敌人是朋友。
  用常见的三元组合来表示上述的Heider理论以下:

  上述的平衡理论是有关网络平衡提出的最先的理论,它后来也被称为是强平衡理论。

  1956年,Cartwright和Harary对Heider的平衡理论进行了推广,并将其用在了图理论中(STRUCTURAL BALANCE: A GENERALIZATION OF HEIDER'S THEORY[2])。Cartwright和Harary指出对于一个符号网络而言,网络平衡的充要条件是网络中的全部三元组都是平衡的,该结论也能够陈述为一个符号网络平衡的充要条件是它所包含的全部回路(cycles)都是平衡的(“-”号的个数为整数个)。并且,在这篇文章中,他们还提出了著名的结构平衡理论:若是一个符号网络是平衡的,那么这个网络就能够分为两部分子网络,其中每一个子网络内部中节点的链接都是正链接,网络之间的链接均为负链接。

  在这各阶段网络平衡的发展的重心主要在于构建网络平衡的心理学和社会学模型。

  3.1.2 网络平衡的数学模型

  在有了Heider等人的奠定工做后,有关网络平衡的发展主要是构建其数学模型,好比网络的动态表现,一个网络链接如何随时间的变化而变化,网络中节点之间的朋友或者敌人的关系如何演化等等。

  3.1.3 网络平衡的应用

  最新关于网络平衡方面的研究大都是研究一些在线网络,好比对某个网站用户属性的分析等等。并且,目前咱们身处大数据时代,咱们所要研究的网络规模也变为了大型甚至能够说是超大型网络,这这个背景下,如何计算一个网络是否平衡便成为该领域的主要热点问题。

  3.2 网络平衡的基本理论

  (1) Heider理论(强平衡理论SBT)。

  (2) 结构平衡理论(Structural Balance Theroem):在彻底符号网络中,网络平衡的充要条件是其全部的三元组(回路)都平衡。

  结构平衡的推论:一个彻底符号网络平衡的充要条件是它能够被分为两部分X和Y,X和Y内部的节点链接均为正链接,X和Y之间的链接均为负链接。

  (3) 弱平衡理论(A weaker form of structural balance,WSBT):若是彻底符号网络中不存在这样的三元组:两个边为正,一边为负,则该网络称为是弱平衡网络。

  对于弱平衡理论而言,上图的三元组中,三边均为负链接的三元组也属于平衡三元组,也就是三元组的四种状况有三种属于平衡状态,一个属于不平衡状态(两边为正,一边为负)。

  弱平衡网络推论:若是一个网络为弱平衡理论,那么它能够分为多个部分,每部份内的链接为正,部分之间的链接为负。

  (4) 对任意网络平衡的定义.

  1) 对于一个任意网络而言,若是咱们能够将它所缺失的边填充使它成为一个平衡的彻底符号网络,那么原网络就是平衡网络;
  2) 对于一个任意网络而言,若是咱们能够将它分为两部分,使得每一个部份内的链接均为实线,部分之间的链接均为虚线。
  以上的两种定义是等价的。
  一个符号网络平衡的充要条件是它不包括含有奇数个负链接的回路。

  (5) 近似平衡网络(略)。

  3.3 网络平衡的计算(A spectral algorithm for computing social balance)
  命题1:节点i参与的三元组数目

  A为邻接矩阵,元素取值可能为:1,-1,0;
  G为邻接矩阵,元素取值可能为:0,1.
  命题2:对于节点i而言,bi为其参与的平衡三元组数目,ui为其参与的不平衡三元组数目,则

  理论1:对于彻底符号图而言,

  平衡三元组所占的比例为

  理论2:对于任意符号网络,平衡三元组所占的比例为

  
  注:以上两个计算网络平衡的公式中,特征值能够随大到小选择前几个比较大的,就像PCA那样,这样可使得计算的复杂度大大减少。

4. 影响最大化

  随着各类在线社交平台的发展,社交平台(好比QQ、微博、朋友圈等)已经不只仅是一种用户进行沟通的社交平台,它们更是社会信息产生和传播的一种主要的媒介。影响最大化(Influence Maximization)同结构平衡同样,也是针对社会网络的研究而被提出的,它来源于经济学的市场营销。2001年,影响最大化被Domins首次以一种算法问题的形式被提出。而影响最大化受到普遍的关注是在2003年Kempe等人在当年的KDD会议上发表的一篇有关影响最大化的论文以后,随后各类影响最大化算法被迅速提出,最近的十几年里,影响最大化的相关文章达到了上千篇,可见这个问题仍是很值得关注的。

  影响最大化问题能够这样来描述:一个商家或者企业利用一种社交平台(好比为新浪微博)为本身的新产品或者新服务进行推广,如何在资金有限的状况下雇佣微博达人来作推广可使得推广范围达到最大?

  咱们再给出影响最大化的通常定义:

  给定一个网络$G$和一个整数$K$(通常小于50),如何在$G$中找出$K$个节点,使得这$K$的节点组成的节点集合$S$的影响传播范围$\sigma(S)$达到最大。

  根据上述影响最大化的定义咱们很容易能够知道,影响最大化自己属于一种组合优化问题。经常使用的影响最大化传播模型有独立级联传播模型(ICM)和线性阈值传播模型(LTM)。

  影响最大化方面的主要算法能够分为以下几类:

  (1)基于网络中心性的启发式方法:好比最大度方法、最短平均距离方法、PageRank方法等;

  (2)基于子模块性的贪婪方法:好比最经典的Greedy算法,CELF算法以及后来的NewGreedy和CELF++等;

  (3)基于社区结构的方法:好比CGA算法、CIM算法等;

  (4)基于目标函数优化的方法:好比模拟退火算法等。

5. 网络传播

   网络传播领域涉及不少方面,好比网络节点重要性排序、网络鲁棒性分析、网络信息爆发阈值优化等。这些领域都颇有意思,感兴趣的博友能够好好深刻研究一下。

6. 补充

  6.1 网络可视化工具

  首先在这里推荐两款我经常使用的网络可视化工具:Pajek (点击进入官方网站)、Gephi(点击进入官方网站)。

  下边为pajek可视化窗口下的一个网络拓扑结构图:

 

  这是Gephi的一个可视化效果:


  6.2 网络数据集

  经常使用的一些公开数据集整理:

  Pajek(可视化工具)数据集:http://vladowiki.fmf.uni-lj.si/doku.php?id=pajek:data:index;

  Newman(复杂网络科学领域大牛)我的数据集:http://www-personal.umich.edu/~mejn/netdata/

  Stanford大学大规模网络数据集:http://snap.stanford.edu/data/

  复旦大学网络数据集整理:http://gdm.fudan.edu.cn/GDMWiki/Wiki.jsp?page=Network%20DataSet

  KONECT数据集整理:http://konect.uni-koblenz.de/

7. 参考文献

  [1] Grivan and Newman. Community structure in social and biological networks. PNAS, 2002.

  [2] Newman and Grivan. Finding and evaluating community structure in networks. PRE, 2004.

  [3] Newman. Networks: an introduction. 2010.

  [4] Cartwright and Harary. Structural balance: a generalization of Heider's theory. 1956.

  [5] Facchetti et al. Computing global structural balance in large-scale signed social networks. 2011.

  [6] Kempe et al. Maximizing the spread of influence through a social network. 2003.

  [7] Chen et al. Efficient influence maximization in social networks. 2009. 

  [8] 任晓龙,吕琳媛. 网络重要节点排序方法综述. 2014.

相关文章
相关标签/搜索