在复杂网络中,社区具有很重要的一个特征,就是社区在内部的节点相似度较高,而在社区外部的节点相似度较低。

模块度就是基于这种性质提出的,定义为社区内部的总边数和网络中总边数的比例减去一个期望值,该期望值是将网络设定为随机网络时同样的社区分配所形成的社区内部的总边数和网络中总边数的比例的大小

定义如下:

其中 表示社区i内的边的数量占整个网络总边数的比例, 表示社区i所关联的所有的边的数目与总边数的比例。


全局模块度的完整推导步骤:

    

假设cv和cw 分别表示点v和点w所在的两个社区,社区内部的边数和网络中总边数的比例:

函数 的取值定义为:如果v和w在一个社区,即cv=cw,则为 1,否则为 0。m 为网络中边的总数。

于是模块度Q(也可以写为)为:

其中kv表示点v的度(边数和期望)。

表示社区i和社区j中定点连接的边数和与总边数的比例, 表示社区i内部的点所关联的所有的边的数目与总边数的比例。

 

为了简化Q的计算,假设网络已经划分成n个社区,这个时候就有一个 n维矩阵,Q 的计算可以变成:

  


模块度前后有两次定义,差别是:

第一种是:e表示迹,每一个社区内部的边与总边数的比例ai表示社区i内部的点所关联的所有的边的数目与总边数的比例

第二种:模块度=(落在同一组内的边的比例)减(对这些边进行随机分配所得到的概率期望

两种定义殊途同归,他们考虑的角度不同,这两次理解的公式是等价的。

模块度是最终的社区划分的评价指标,也是社区发现算法的参考指标:进行每次划分的时候计算Q值,Q取值最大的时候则是此网路较理想的划分

Q值的范围在0-1之间,Q值越大说明网络划分的社区结构准确度越高,在实际的网络分析中,Q值的最高点一般出现在0.3-0.7之间。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐