社区-基础

网络科学研究的驱动力是量化探索网络的基础原理,这些基础原理决定了网络是如何生成和组织的。

定义:在网络科学中,如果一组节点内部链接紧密,外部链接稀疏,那么我们称这组节点为一个社区(community)

现实研究发现:许多网络是异构的,即复杂网络不是大批性质相同节点的随机连接,而是许多类型的节点的组合,其中相同类型的节点存在较多的连接,而不同类型节点的连接则相对较少。我们把同一类型节点以及这些节点之间的边所构成的子图称为网络中的社区


社区存在的根源是谁与谁相连,而不能仅仅利用度分布来解释;因此,要识别社区,我们必须检查网络的具体连接模式。
(巴拉巴西网络科学)为了帮助识别社区做了四个假设:a.基础假设 b.连通性和密度假设 c.随机假设 d. 最大模块度假设

这里讨论的目的:理解和识别一个复杂网络的社区结构所需的概念。讨论如何定义社区,探索不同的社区性质。

社区识别依赖于4个有关社区本质的假设。

1)基础假设
       网络的社区结构仅由其连接模式决定。这个标准答案是隐藏的,我们需要设计合适的算法来发现。
       2)连通性和密度假设
       社区是网络中局部紧密连接的子图。

换言之,一个社区中的所有成员都可以通过同一社区中的其他成员到达(连通性,connectedness)。同时,我们希望一个社区内部的节点连接到同一社区中其他节点的概率 高于连接到不在同一社区的节点的概率(密度,density)。(这一假设虽然很大程度上缩小了“什么可被视为社区”的范围,但并没有给出关于社区的唯一定义。关于社区的这个假设,还牵扯到了强弱社区的问题,强社区:每个节点与社区内部节点的链接多于同社区外部节点的链接;弱社区:所有节点的内部度之和高于所有节点的外部度之和)

A.连通性假设
       每个社区对应一个连通子图。因此,如果网络中有两个不相连的分支,则每个社区只能存在于一个分支内。同时,一个连通分支内的两个互不相连的子图不能组成社区。 

B.密度假设
        社区中的节点更倾向于连接到同一社区内的其他节点,而非其他社区的节点。

3)随机假设
       随机连接的网络没有内在社区结构。

通过比较社区的链接密度和随机网络(对这个社区内的节点进行随机重连)的链接密度,可以判断出这个社区是真实存在的密集子图,还是偶然生成的连通模式。
       4)最大模块度假设

给定一个网络,模块度最大的划分对应最优的社区结构。

模块度给出了理解网络社区结构的第一原理。事实上,它把一系列基本问题表达成一个简洁的形式,包括如何定义社区,如何选择合适的零模型,以及如何度量一个划分的优劣。因此,最优化模块度在社区识别领域中扮演着核心角色。

当然,他也有缺陷:1.它将弱链接的小社区强行合并;2.网络通常没有明确的模块度最大值,而是存在一个模块度高台。
       给定一个网络,模块度最大的划分对应最优的社区结构。其中模块度由下式定义:

 

 


传统的图划分算法主要分为两类,即基于图划分的Kernighan-Lin算法和谱平分法、基于相似度的层次聚类算法。

1)图分割算法。是将一个网络分解成若干节点数基本相等的子网,使得不同子网节点之间的连接数最少。从而便于研究。主要有迭代二分法、谱二分法、Kernighan—Lin算法

2)分级聚类(层次聚类)。根据网络中结点间的紧密度或者相似度,将网络划分为若干子集。根据从网络中删除边还是向网络中添加边,可以将分级聚类算法分为分裂方法(Divisive Method)和凝聚方法(Agglomerative Method)。GN(Girvan-Newman)算法是比较著名的分裂算法,还有基于相似度的层次聚类算法。

 社区发现中也有两种主流的做法:

1)cut,也就是划分,把无关联的边去掉,进而取到核心的社区;

2)gather,也就是聚合,将关联性比较大的顶点聚集起来,关联性较小的顶点剔除出去。 

图划分和社区识别之间有重要的差别:图划分把网络分成预先指定数量的较小子图;与之相反,社区识别旨在揭示网络的固有社区结构。因此,在大多数社区识别算法中,社区的数量和大小并非预先指定,而是需要通过检查网络连接模式来发现。

评估社区识别两个指标:准确率和速度


现的应用场景:

1.生物领--陈代谢网络分析、基因调控网络分析、主控基因识别等方

2.公共卫生安全领域病毒细菌传播演化和预测防

3.社会安全领域--怖主义活动、犯罪活动

4.商业领域个性化推荐

实社区发现也可以用于用户画像,所谓“近朱者赤,近墨者黑”-这是聚类的思想,传统的聚类可能更多的依赖于数据本身的特点,而忽略了数据之间的链接


尽管社区识别取得了成功,但该领域依然面临许多未解决的问题:
1)社区真的存在吗?

如何判断一个网络中真的存在社区?换言之,我们能否在识别社区之前判断一个网络有没有社区?这个尚无答案的问题或许是社区识别领域最明显的空白。社区识别算法只是用来识别(无论是否存在)社区的,它没法判断社区的存在与否;

2)假设还是定理?

社区识别依赖于4个假设,之所以称之为假设是因为我们没法验证它们正确与否。未来的研究也许可以将基础假设、随机假设和最大模块度假设变为定理。或许,我们也会像认识到最大模块度假设的局限性一样认识到其他假设的局限性。

3)所有节点都必须属于社区吗?

社区识别算法要求所有节点都属于社区。对大多数真实网络来说,这个要求可能太严格了:有些节点属于单个社区,有些属于多个社区,可能很多节点不属于任何社区。社区识别的绝大多数算法没有对此做出区分,而是要求所有节点都属于某个社区。

4)密集社区和稀疏社区

本书讨论的绝大多数网络都是稀疏的。然而,随着数据采集的进步,可以获取更多真实的链接数据。在密集网络中,我们通常会看到高度重叠的社区。这要求我们重新审视本章讨论的各个假设是否有效,各种算法是否适用。例如,在高度重叠的社区里,节点的外部度可能高于内部度,这使得密集假设的有效性存疑。

5)社区是否有意义?

虽然社区的识别是完全基于网络连接模式的,但依然存在一致的社区活动模式。

一旦存在社区,社区会对网络行为产生深刻影响。

大量实践观测支持这一结论:1.信息在社区内部传播得快,但很难到达其他社区;2.社区影响链接权重;3.社区的存在会致使度相关性。


社区识别算法碰到的难题与挑战:

1.社区的重叠

2.社区的局部性(网络规模越来越庞大,获得网络的全局信息变得十分困难,而社区发现算法在海量社会网络数据下可能显得非常低效

3.网络的多模式性与多维性(节点和边的不断变化)

4.节点的差异性

5.网络的动态性

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值