2019-05-12

2019-05-12,第1张

关于漫威英雄的社交网络系列已写了好几篇文章,是时候结束它了。作为本系列的最后一篇文章,我们将来研究一下如何在cypher语句映射的虚拟图上进行中心性计算,我们将使用Neo4j和图形算法库来找出漫威英雄网络中最有影响力的英雄或其他重要的英雄。

关于漫威社交网络的研究已完成的文章有以下几篇:

在Neo4j中构建漫威社交网络

在Neo4j中对漫威社交网络进行初步分析

Neo4j中基于三角形个数和连通分量的漫威英雄初步社群分析

Neo4j中使用Louvain和标签传播算法对漫威英雄进行客户群分析

正如我在前面文章中说过的,使用Cypher映射虚拟图是真的好用,他可以使我们简单快速的映射一个我们想要的虚拟图,我们简称为“Cypher加者梁载”。为了更好的理解这个神奇的功能,我们需要深入了解它是如何工作。

与直接使用结点标签和关系类型加载子图不同,Cypher加载允许我们定义关系的方向,通常是以下三种值“incoming”,"outgoing"或者"both"(双向/无向),但是Cypher加载不支持单条无向关系。

这看起来可不太友好,但事实上,Cypher加载允许我们使用Cypher查询语句映射各种虚拟图去尝试执行图像算法。我在之前的文章中也使用过,只是没有详细的介绍它而已。 

假设我们现在有两个英雄结点以及在他们之间有一个单向的关系。将此图加载为无向图或者有向图的唯一区别就是:在使用Cypher查询语句映射时是否指定关腊滚系的方向。当我们在查询时不指定方向,Cypher引擎会为每个关系返回两个方向的结果,这样我们映射图也就是双向的,你也可以称他为无向的。

在图论与网络分析中,中心性是用来表示网络中结点重要性的指标之一。在社交网络中,其用来表明最有影响力的人。在互联网、城市网络甚至传染病学中,用来表明关键结点。中心性概念最初应用在社交网络中,并且它的很多术语都可以反应出其社会学起源,随后中心性被推广到其它类型网络的分析中。[1]

Pagerank是因Google专有的搜索算法。它通过计算链接到页面的链接数量和质量来决定当前页面的重要性。其基本的假设是,重要的结点肯定会有许多的页面链向它。关于Pagerank更多内容可以看此文(https://neo4j.com/docs/graph-algorithms/3.5/algorithms/page-rank/)

我们使用Cypher加载来漫威网络中最大社群的结点,并且设置关系的weight阈值为100.

美国队长是Pagerank分数最高的,他位于网络的中心,有24个关系,并且与其他重要英雄如雷神托尔、蜘蛛侠、钢铁侠都有联系。如果我们仔细看一下与美国队长有联系的英雄,会发现一个有趣现象,他们因为与美国队长有联系,而使得他们的pagerank分也比较高。

接近中心性定义了一个点到所有其他点最短距离的和,换句话说,要计算接近中心性,首先需要计算每对结点之间的最短路径长度。然后再对每个结点计算其到所有其他结点的最短路径和。[2]

接近中心性可以理解为信息流到达网络中任一点的所消耗的时间指标。这个接近中心性分数越高,代表信息流从一个结点到另一个结点所花的时间就越长。因此,我们可以认为接近中心性代表着一个结点到达其他结点的潜在能力。关于更多信息可见文档(https://neo4j.com/docs/graph-algorithms/3.5/algorithms/closeness-centrality/)

我们仍将使用Cypher加载漫威网络中最大社群中的结点并将关系的weight阈值设置为100。对于接近中心性而言,最重要的是需要加载一个独立社群。

不幸的是,当图是非连通图时,接近中心性是无法使用的,因为在非连通图中,两个点可能属于不同的社群,则这两个点是无法连接的,这样他们之间的距离就是无穷大。对于这样的图中的每一个点,都有属于另一个社群的点与之无法连接。因此图中所有顶点的都是没有用的,而接近中心性的计算也被限制在最大的社群中,其他社群中结点的作用是被忽略的。

上图中可以看出,美国队长的位置非常特殊,事实上,在所有类型的中心性上,美国队长都是排第一。我们可以看到,在较紧密的社群里,其结点的接近中心性的值相对首局运较大,而在边缘或较少连接的结点上,其接近中心性的值也较小。另外,我们还注意到图中结点的分布也很重要,一般中间社群结点的接近中心性值要比周边社群的高。例如,钢铁侠和幻视要比蜘蛛侠的接近中心性高。但有意思的是蜘蛛侠的Pagerank值要比较他们大。

从毕达哥拉斯和柏拉图时代起,人们就知道,和谐就是“谐调和优美的比率”的表述,后来,音乐家用来表达规范音阶,建筑学家描述建筑的完美比例。[4]

社交网络分析是一门快速发展的且跨学科领域,它由社会学、物理学、历史学、数学、政治等多种学科共同发展而来。可能是由于缺少综合性研究,造成其中有些方法存在着不足,但已被普遍所接受(Freeman, 1978Faust &Wasserman, 1992),而接近中心性在非连通网络的不适用性就是其一。和谐中心性也正是用来在非连通网络中代替接近中心性的。实际情况显示,在真实环境下,我们解读的结果发现其与接近中心性指标一致,计算复杂度相同,但最重要的是它可用于非连通网络![3]

因为和谐中心性是为了帮助接近中心性解决其在非连通图上的问题,所以,得到的结果也是相似的。 

在图论中,中介中心性是一种基于最短路径的中心性指标。在连通图中,每对点都存在着至少一条最短路径,对于无权重图,最短路径是指路径所包含的关系数最少,对于权重图,最短路径是指路径所含边的权重之和最小。而每个点的中介中心性值就是通过这个点的最短路径的条数。更多描述见(https://neo4j.com/docs/graph-algorithms/current/algorithms/betweenness-centrality/)

我们仍然使用Cypher加载那个最大的社群并设置关系的weight阈值为100

美国队长仍然排在第一位,但这次野兽排到了第二位,这并不奇怪,因为他产中间和右边社群的桥梁。蜘蛛侠和浩克扮演着与野兽相同的角色,但不同的是,他们俩所关联的社群较小,所以,他们的中介中心性值也更低。

[1] https://en.wikipedia.org/wiki/Centrality

[2] http://qualquant.org/wp-content/uploads/networks/2008+1-7-3.pdf

[3] https://infoscience.epfl.ch/record/200525/files/[EN]ASNA09.pdf?

[4] https://arxiv.org/pdf/cond-mat/0008357.pdf

[6] https://en.wikipedia.org/wiki/Betweenness_centrality

  中心性(Centrality)是图(网络)分析(graph/network analysis)中常用的一个概念,用以表达图(网络)中一个顶点在整个网络中所在中心的程度,也称之为中心度。根据测定中心性方法的不同,可分为度中心性(Degree centrality,根据方向的不同,又分为入度中心性(InDegree),出度中心性(OutDegree)等),接近中心性(或紧密中心性,Closeness centrality),中介中心性(或介数中性线,Betweenness centrality)等。下图给出了简单的示例。其中X相比Y相应的中心性都高。

  度中心性最早Linton C. Freeman在1979年的论文拦誉 Centrality in Social Networks Conceptual Clarification 中提出的。度中心性可以用来发现图(网络)中与其他点关联最多的顶点,并且可以用来计算整个图的最大度(出度/入度),最小度(出度/入度),平均度(出度/入度)等。

一个顶点的度中心性指的是该顶点关联的其他顶点个数(这里不考虑方向)。因此,度中心性越大的顶点其重要性越大。入下图所示。

通常,为了便于比较或者进行其他计算,需要将度中心度进行标准化。标准化的方式通常是每个顶点的度除以图中可能的最大度数,即N-1,其中N表示图中的顶点个数:

下图是标准化之后的度中心性示例:

  中介中心性最早由Linton Freeman于1971年在论文 A Set of Measures of Centrality Based on Betweenness 中提出,主要用于衡亮脊量一个顶点在图或网络中承担“桥梁”角色的程度,该中心性经常用于反欺诈场景里中介实体的识别。中介中心性用于衡量一个顶点出现在其他任意两个顶点对之间的最短路径的次数,也就是说,如果一个顶点出现在任意两个顶点间最短路径的次数越多,那么该顶点的中介中心性就越大。该算法的第一步要找出任意两个顶点之间的最短路径(通常使用广度优先算法,深度大于1度),然后统计出所有最短路径中,每个中间顶点出现的次数。下图给出了几种常见的示例:

  因此,A出现在最短路径中间的次数为0,B出现在最短路径中间的次数为3,C出现在最短路径中间的次数为4,D出现最短路径中间的次数为3, E出现在最短路径中间的次数为0。所以我们可以得出图中顶点对应的中介中心度。

  在网络分析中,之所以会这么重视桥的概念,就是两个分离的大团体间,若彼此信息要交流、意见要沟通,行动要协调的话,作为桥的人就非常重要。能够中介两群人之间的互动与信息,其中介性就很高,在社会网络分析中衡量一个人作为桥的程度的指针就是中介性。

  接近中心性主要用于计算每个顶点到其他所有顶点的最短距离敬衡渗之和。然后将得到的和反过来确定该节点的接近中心性得分。原生的接近中心性计算方式如下:

其中 表示图顶顶点的个数, 表示顶点 到顶点 的最短距离。更常见的作法是将此分数标准化,使其表示最短路径的平均长度,而不是它们的和。标准化的接近中心性计算公式如下:

其中 表示图顶顶点的个数, 表示顶点 到顶点 的最短距离。如果节点到图中其它节点的最短距离都很小,那么我们认为该节点的Closeness Centrality高。这个定义其实比Degree Centrality从几何上更符合中心度的概念,因为到其它节点的平均最短距离最小,意味着这个节点从几何角度看是出于图的中心位置。

我们以上图为例,简单介绍一下接近中心性的计算过程:

参考:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/8264684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存