① 什么是复杂网络
什么是复杂网络?“绝大多数人认识的网络,可能只是日常上网用的万维网,但网络的概念很大,我们实际就生活在一个极其复杂的网络中。”吴晓群解释说,每一个人可以看作是网络中的一个节点,而人与人之间的关系,以及人与事物的关系都可以用一条线来表示,这样就形成了一个庞杂的网络。如今,很多数学家试图用数学的方式描述这个网络,研究它的几何性质、形成机制、演化过程、统计规律,以便更好地服务于现实需求,而这也恰恰是吴晓群所要攻克的难题。
除了自己的科研梦想,作为博士生导师,吴晓群对学生的培养也有自己的理解。很多人认为女生学不好数学,但吴晓群却称,“女生学不好数学”只是自己给自己找的偷懒借口。“科研之路是循序渐进的,年轻科研人要受得了清贫,耐得住寂寞,潜下心来做自己看中的方向,终将会做出成果,一切都会变得更好。”她说。
每一件事的背后都有一些勤勤恳恳的工作者吧。
② 复杂网络 --- 社会网络分析
“社会网络”指的是社会成员及其相互关系的集合。社会网络中所说的“点”是各个社会成员,而社会网络中的“边”指的是成员之间的各种社会关系。成员间的关系可以是有向的,也可以是无向的。同时,社会关系可以表现为多种形式,如人与人之间的朋友关系、上下级关系、科研合作关系等,组织成员之间的沟通关系,国家之间的贸易关系等。社会网络分析(Social Network Analysis)就是要对社会网络中行为者之间的关系进行量化研究,是社会网络理论中的一个具体工具。
因此,社会网络分析关注的焦点是关系和关系的模式,采用的方式和方法从概念上有别于传统的统计分析和数据处理方法。
社会网络通常表达人类的个体通过各种关系连接起来,比如朋友、婚姻、商业等,这些连接宏观上呈现出一定的模式。很早的时候,一些社会学家开始关注人们交往的模式。Ebel等进行了一个电子邮件版的小世界问题的实验,完成了Kiel大学的5000个学生的112天电子邮件连接数据,节点为电子邮件地址,连接为消息的传递,得到带指数截断的幂律度分布,指数为r=1.18。同时证明,该网络是小世界的,平均分隔为4.94。
社会网络分析,可以解决或可以尝试解决下列问题:
“中心性”是社会网络分析的重点之一,用于分析个人或组织在其社会网络中具有怎样的权力,或者说居于怎样的中心地位,这一思想是社会网络分析者最早探讨的内容之一。
点度中心度表示与该点直接相连的点的个数,无向图为(n-1),有向图为(入度,出度)。
个体的中心度(Centrality)测量个体处于网络中心的程度,反映了该点在网络中的重要性程度。网络中每个个体都有一个中心度,刻画了个体特性。除了计算网络中个体的中心度外,还可以计算整个网络的集中趋势(可简称为中心势,Centralization)。网络中心势刻画的是整个网络中各个点的差异性程度,一个网络只有一个中心势。
根据计算方法的不同,中心度和中心势都可以分为3种:点度中心度/点度中心势、中间中心度/中间中心势、接近中心度/接近中心势。
在一个社会网络中,如果一个个体与其他个体之间存在大量的直接联系,那么该个体就居于中心地位,在该网络中拥有较大的“权力”。在这种思想的指导下,网络中一个点的点度中心性就可以用网络中与该点之间有联系的点的数目来衡量,这就是点度中心度。
网络中心势指的是网络中点的集中趋势,其计算依据如下步骤:首先找到图中的最大点度中心度的数值,然后计算该值与任何其他点的中心度的差值,再计算这些“差值”的总和,最后用这个总和除以各个“差值”总和的最大可能值。
在网络中,如果一个个体位于许多其他两个个体之间的路径上,可以认为该个体居于重要地位,因为他具有控制其他两个个体之间的交往能力,这种特性用中间中心度描述,它测量的是个体对资源控制的程度。一个个体在网络中占据这样的位置越多,代表它具有很高的中间中心性,就有越多的个体需要通过它才能发生联系。
中间中心势定义为网络中 中间中心性最高的节点的中间中心性与其他节点的中间中心性的差距,用于分析网络整体结构。中间中心势越高,表示该网络中的节点可能分为多个小团体,而且过于依赖某一个节点传递关系,说明该节点在网络中处于极其重要的地位。
接近中心性用来描述网络中的个体不受他人“控制”的能力。在计算接近中心度的时候,我们关注的是捷径,而不是直接关系。如果一个点通过比较短的路径与许多其他点相连,我们就说该点具有较高的接近中心性。
对一个社会网络来说,接近中心势越高,表明网络中节点的差异性越大;反之,则表明网络中节点间的差异越小。
注:以上公式都是针对无向图,如果是有向图则根据定义相应修改公式即可
当网络中某些个体之间的关系特别紧密,以至于结合成一个次级团体时,这样的团体在社会网络分析中被称为凝聚子群。分析网络中存在多少个这样的子群,子群内部成员之间关系的特点,子群之间关系特点,一个子群的成员与另一个子群成员之间的关系特点等就是凝聚子群分析。
由于凝聚子群成员之间的关系十分紧密,因此有的学者也将凝聚子群分析形象地称为“小团体分析”或“社区现象”。
常用的社区检测方法主要有如下几种:
(1)基于图分割的方法,如Kernighan-Lin算法,谱平分法等;
(2)基于层次聚类的方法,如GN算法、Newman快速算法等;
(3)基于模块度优化的方法,如贪婪算法、模拟退火算法、Memetic算法、PSO算法、进化多目标优化算法等。
凝聚子群密度(External-Internallndex,E-IIndex)主要用来衡量一个大的网络中小团体现象是否十分严重,在分析组织管理等问题时非常有效。
最差的情形是大团体很散漫,核心小团体却有高度内聚力。另外一种情况是,大团体中有许多内聚力很高的小团体,很可能就会出现小团体间相互斗争的现象。凝聚子群密度的取值范围为[-1,+1]。该值越向1靠近,意味着派系林立的程度越大;该值越接近-1,意味着派系林立的程度越小;该值越接近0,表明关系越趋向于随机分布,未出现派系林立的情形。
E-I Index可以说是企业管理者的一个重要的危机指数。当一个企业的E-I Index过高时,就表示该企业中的小团体有可能结合紧密而开始图谋小团体私利,从而伤害到整个企业的利益。其实E-I Index不仅仅可以应用到企业管理领域,也可以应用到其他领域,比如用来研究某一学科领域学者之间的关系。如果该网络存在凝聚子群,并且凝聚子群的密度较高,说明处于这个凝聚子群内部的这部分学者之间联系紧密,在信息分享和科研合作方面交往频繁,而处于子群外部的成员则不能得到足够的信息和科研合作机会。从一定程度上来说,这种情况也是不利于该学科领域发展的。
核心-边缘(Core-Periphery)结构分析的目的是研究社会网络中哪些节点处于核心地位,哪些节点处于边缘地位。核心-边缘结构分析具有较广的应用性,可用于分析精英网络、论文引用关系网络以及组织关系网络等多种社会现象。
根据关系数据的类型(定类数据和定比数据),核心—边缘结构有不同的形式。定类数据和定比数据是统计学中的基本概念,一般来说,定类数据是用类别来表示的,通常用数字表示这些类别,但是这些数值不能用来进行数学计算;定比数据是用数值来表示的,可以用来进行数学计算。如果数据是定类数据,可以构建离散的核心-边缘模型;如果数据是定比数据,可以构建连续的核心-边缘模型。
离散的核心-边缘模型,根据核心成员和边缘成员之间关系的有无及紧密程度,又可分为3种:核心-边缘全关联模型、核心-边缘局部关联模型、核心-边缘关系缺失模型。如果把核心和边缘之间的关系看成是缺失值,就构成了核心-边缘关系缺失模型。
这里介绍适用于定类数据的4种离散的核心-边缘模型:
参考
③ 大数据与复杂网络
写这篇文章,有两个原因:
看了李院士的《大数据研究的科学价值》,有些感触。
我自己做了一段时间社交,也有一些想法。
之前也写过复杂网络的东西,但是都非常肤浅,没有真正的理解复杂网络,近期看了一些资料,有了进一步的理解。
李院士的文章,是从科学家的角度,理解大数据的价值。从文章中,我了解到以下几点:
数据inside:未来数据将数据转换为产品或者服务的人。
分析即服务:Aaas。构建一个统一的数据分析平台,提供丰富的api,供数据分析师进行分析,挖掘金矿。是一件很有用,同时也很有钱途的事业。
大数据的存储、计算、挖掘分析的技术,还需要更进一步的发展。一些同学,规划自己的职业生涯,把这个作为储备,现在开始学习,是一个非常好的选择。我之前做过一些存储相关的东西,存储还是要往多层方向发展。
在大数据中的个体之间存在着关系,有可能大数据的本质就是复杂网络的本质。为研究指名了一个方向。
第四范式:之前的研究都需要有模型,在大数据的背景之下:所有的模型都是错误的,进一步说,没有模型你也可以成功。
文章中,李院士提到大数据的本质,可能就是复杂网络的本质。这是因为大数据个体之间都是关系的。举个例子,互联网。个体是网页,网页和网页之间通过超链接互相链接,当然也可能有单向的。互联网就是一个复杂网络。其中的关系已经被验证了意义的重大——PageRank算法——搜索引擎的核心之一。另一方面,大数据的产生,整体分为两类:1)生物科学中,人脑细胞、神经元,基因等等。都是大数据。2)还有就是社会群体产生的。国内现在火热的微博。就每天会产生很大量的数据。在这两类中,我们都要考虑个体之间的关系,都有一些参数和性质:平均路径长度、度分布、聚集系数、核数和介数等。这些都可以归结到复杂网络的研究当中。不过,大数据的研究刚刚开始,其本质是否就是复杂网络所能解释的还很难说。复杂网络本身也在发展演变的过程中,几年之后,那时的复杂网络也不是现在的样子。但是,社交网络确确实实是复杂网络的体现。所以,通过复杂网络的理论,研究大数据,研究社交网络,一定是一个很好的方向。
说了半天的复杂网络,到底复杂网络是什么呢?这里,我只说说我对复杂网络的浅显理解。也欢迎大家指点、讨论。我们一般所说的复杂网络具备两个特点:
无尺度
小世界
看起来很玄的两个词,那么该如何理解呢?无尺度的概念,比较好理解:就是网络中的度分布满足幂律分布。幂律分布可以理解度的分布比较集中。我们以新浪微博为例,粉丝上千万那的人非常少,百万的人也非常少。更多的是几百粉丝的。直白一点说,就是粉丝非常多的人很少,很集中。粉丝比较少的,分布就比较广,比较多。我之前做微博数据分析的时候,有统计过几乎所有用户的粉丝数分布的。完全符合幂律的分布。如果大家需要,可以和我进一步讨论之类。我也可以找找之前的统计数据。
小世界我觉得需要从两个角度考虑:第一个,就是网络中两点的平均最短路径很小。著名的米尔格拉姆实验的第一个结果就是:六度分隔。意思就是在我们的世界上,你想联系任何一个人,你不认识的,平均就需要找5、6个人就可以了。随着社会的发展,facebook等社交网络兴起,这个度越来越小。有报道说,已经是4.5个人就可以了。这个事情比较有意思,前些日子,还有个开发者做了一个微博应用,计算你到某个明星的距离。很多人会想,是不是很远,是不是计算很复杂?其实都不是的,小世界的特性告诉我们,这个值会很小。同时,即使在线读取关注,深度搜索的暴力方式解决,这也是很快的。第二个,不仅仅平均最短路径很小,如果消息在网络中传播,会以很大的概率,通过最短路径传播到目的地。这个很重要,这个是根本。这个是,现在微博上进行微博营销的根本所在。如果没有这个特性,通过转发,甚至是大号的转发,很难出现传播爆发的情况,很难让更多的人知道。所以这个很重要,这个也是米尔格拉姆试验的第二个重要的结果。
其实上面两个结果,都有对应的模型,能够很好的证明,而且,在实际的社交网络中,也得到的验证。大家感兴趣,可以自己研究。
那么大数据,我们作为程序员、作为研究者,能够做什么呢?其实前面也说过了,主要就三点:
存储
计算
算法
我们围绕着这三块进行,无论是工程开发者,还是研究者,都可以在这个过程中发现问题,归纳共性,提炼本质,然后上升到科学的高度。
我目前还没有李老师的高度,我也是围绕着微博做了一些复杂网络相关的研究。我希望,以后,我的工作,也能够为大数据科学进步,起到一点点作用。那我的工作,就真的有价值了。
下面是我自己感兴趣的一些点,欢迎大家讨论:
复杂网络社团结构的发现,对应社交网络中的圈子挖掘。
社交网络中,特定领域,人物影响力的排名。
社交网络中,信息传播的研究
社交网络用户关系的存储
其中,1、2、4我做了比较多的尝试,1、2效果还不错,4没有好的方法。3目前只是了解阶段,还没有开始动手。
仅以此文,抛砖引玉。
【完】
④ 复杂网络这个方向怎么样
复杂网络简而言之即呈现高度复杂性的网络。其复杂性主要表现在以下几个方面:
1)结构复杂,表现在节点数目巨大,网络结构呈现多种不同特征。
2)网络进化:表现在节点或连接的产生与消失。例如world-wide network,网页或链接随时可能出现或断开,导致网络结构不断发生变化。
3)连接多样性:节点之间的连接权重存在差异,且有可能存在方向性。
4)动力学复杂性:节点集可能属于非线性动力学系统,例如节点状态随时间发生复杂变化。
5)节点多样性:复杂网络中的节点可以代表任何事物,例如,人际关系构成的复杂网络节点代表单独个体,万维网组成的复杂网络节点可以表示不同网页。
6)多重复杂性融合:即以上多重复杂性相互影响,导致更为难以预料的结果。例如,设计一个电力供应网络需要考虑此网络的进化过程,其进化过程决定网络的拓扑结构。当两个节点之间频繁进行能量传输时,他们之间的连接权重会随之增加,通过不断的学习与记忆逐步改善网络性能。 复杂网络一般具有以下特性:
第一,小世界。它以简单的措辞描述了大多数网络尽管规模很大但是任意两个节(顶)点间却有一条相当短的路径的事实。以日常语言看,它反映的是相互关系的数目可以很小但却能够连接世界的事实,例如,在社会网络中,人与人相互认识的关系很少,但是却可以找到很远的无关系的其他人。正如麦克卢汉所说,地球变得越来越小,变成一个地球村,也就是说,变成一个小世界。
第二,集群即集聚程度(clustering coefficient)的概念。例如,社会网络中总是存在熟人圈或朋友圈,其中每个成员都认识其他成员。集聚程度的意义是网络集团化的程度;这是一种网络的内聚倾向。连通集团概念反映的是一个大网络中各集聚的小网络分布和相互联系的状况。例如,它可以反映这个朋友圈与另一个朋友圈的相互关系。
第三,幂律(power law)的度分布概念。度指的是网络中某个顶(节)点(相当于一个个体)与其它顶点关系(用网络中的边表达)的数量;度的相关性指顶点之间关系的联系紧密性;介数是一个重要的全局几何量。顶点u的介数含义为网络中所有的最短路径之中,经过u的数量。它反映了顶点u(即网络中有关联的个体)的影响力。无标度网络(Scale-free network)的特征主要集中反映了集聚的集中性。
⑤ 复杂网络中的无标度网络和小世界网络有什么区别,各自的特征是什么
无标度网络和小世界网络 的最大区别是他们的度分布的差别
无标度网络的度分布内是幂容函数,小世界是钟行的,
实际上小世界和 random network 的度分布相似,点与点之间的连接是随机的,所以都是钟形正态分布,但是小世界的点点之间路径最短。
无标度网络有巨集团和剩余度的涌现,也就是说巨集团基本代表网络的连接密度,少数的点有大量的连线,大多数点有少量或没有连线。无标度的度分布也引发了相关的对自组织临界和熵厥的讨论,是当今研究主要课题。
⑥ 通俗易懂WGCNA (1)
每当我使用一个新的软件/算法时(相较于组内之前的研究),导师总喜欢问我背后的原理。她可以不懂,但我必须给她讲明白。
因此,我想试着用通俗易懂的语言为大家讲一下WGCNA~
Gene A的表达,可能会影响另一个基因(比如gene B)的表达。若前者是转录因子,那么多半会促进后者的转录增加;若前者是抑制子(repressor),则可能会导致后者的表达受到抑制。
随着研究的越来越深入,我们发现。这种调控关系,不是一对一的,甚至不是一对多的,而是多对多的。这里以大家耳熟能详的RNA Pol II举例,这是一个真核生物中蛋白质编码基因转录所需的RNA聚合酶。
好了,现在我们知道基因的调控关系是多对多的,那么我们该怎么描述这种关系呢?搞数学的那帮家伙早早的就把这玩意研究透了,用图来描述这种网络关系,也就是下面这玩意。
研究之透彻,光是想入门就需要先学一下离散数学,然后再上一门叫作图论的课。当然,深入学习虽然难,但是对于我们来说,只用简单的了解一下其基本概念就足以。
上面的图,我们称之为网络。网络中的每个点我们称为顶点,用于表示某个事物或者对象。其中的每条边,用于表示事物之间的关系。一个点所连接的线的个数,我们称之为度(degree)。这张网络,如果放到基因调控的背景下,其中的每个点代表一个基因,其中的每条边代表两个基因之间的调控关系。
看到这里,爱思考的朋友肯定就想到了,这个网络图似乎没有方向。这似乎和我们所了解的调控网络不太一致,于是我们这里引入有向图的概念,也就是下面这玩意。
有了方向,我们就知道在一张调控网络中,究竟是gene A调控 gene B还是gene B调控gene A。但是这张图和我们想象中的调控网络还是差了点意思,调控网络中,通常是若干个基因起着重要作用,调控大部分基因,比如转录因子/蛋白激酶。而其他的大部分基因都是打酱油的,负责好自己的本职工作,再老老实实的听上游基因的调控就行了。就如下图
因此,在这里,我们引入一个新的概念,无尺度网络或者说是无标度网络 (scale-free network)。这是带有一类特性的复杂网络,其典型特征是在网络中的大部分节点只和很少节点连接,而有极少的节点与非常多的节点连接。
而这类关键基因在调控网络中,因为其连通性很好(degree很高,或者说是与很多基因都有调控关系),经常会将其称呼为hub-gene。
好了,讲到这里,我们基本上懂了网络的概念,以及基因调控的概念。接下来再引入基因共表达调控,就不会显的那么突兀了。
随着高通量测序技术的发展,我们可用的数据已经越来越多。传统的两两比对分析,会让我们的计算量爆炸性的增加。比如差异基因表达分析,如果我们有五个时间点的样本,两两比较就要比较4+3+2+1=10次。不仅计算量大,而且分析复杂,让本就不简单的问题更为复杂。
为了解决这么一个问题,我们必须利用新的方法去分析这类问题,而WGCNA就是一种刚好适合这种复杂样本的分析方法。
WGCNA全称是Weighted Gene Co-expression Network analysis,翻译成中文就是加权基因共表达网络分析。听名字我们就知道,该分析最重要的就是加权和共表达。而这个玩意最主要的目的就是帮助我们缩小范围,筛掉无用信息,找到符合我们预期的关键基因。
共表达,就是去鉴定那些高度协同变化的基因集,比如某一类基因在不同的样本中都是一起上升,一起下降,表达模式基本一致。
而加权就是在分析的时候,赋予基因共表达关系一定的权重。比如gene A和gene B的相关性更高,那这俩基因之间的权重也就越高,同样的,若二者相关性较低,则它俩之间的权重也就越低。这种加权网络,可以用下图表示,其中权重越高,则两个点之间的连线越粗。
需要注意的是,基因共表达网络是一种无向图,不指定共表达关系的方向和类型。然而在基因调控网络中,边是有方向的,代表着反应、变换、互作、激活或者抑制的生化过程。而基因共表达网络并不尝试判定因果关系,边只代表基因之间的相关或者依赖关系。有类似功能或参与统一生物功能的基因会产生很多相互作用,在基因共表达网络中会体现为模块或连接丰富的子图。
Note: 基因共表达网络不具有方向性,但我们可以关注调控的正负。即,我们可以关注高度相关的基因,也可以只关注高度正相关的基因,具体的设定可以关注后续正文内容