更改

跳到导航 跳到搜索
删除101字节 、 2020年4月25日 (六) 10:36
第16行: 第16行:  
==模块度的计算方法==
 
==模块度的计算方法==
 
模块度的计算有很多种方法。考虑一个含有<math>n</math>个节点、<math>m</math> 条连边的图网络,这样的图网络能够用一个成员变量<math>s</math>划分为两个社团。如果节点<math>v</math>属于社团1,即设 <math>s_v = 1</math>,或节点 <math>v</math>属于社团2,即设<math>s_v = -1</math>。
 
模块度的计算有很多种方法。考虑一个含有<math>n</math>个节点、<math>m</math> 条连边的图网络,这样的图网络能够用一个成员变量<math>s</math>划分为两个社团。如果节点<math>v</math>属于社团1,即设 <math>s_v = 1</math>,或节点 <math>v</math>属于社团2,即设<math>s_v = -1</math>。
将图网络的邻接矩阵表示为 <math>A</math>.
+
将图网络的邻接矩阵表示为 <math>A</math>
      第54行: 第54行:     
因此,节点<math>v</math>和节点<math>w</math>之间的实际边数与它们在随机化网络下连边数的期望之差为<math>A_{vw} - \frac{k_v k_w}{2m}</math>。
 
因此,节点<math>v</math>和节点<math>w</math>之间的实际边数与它们在随机化网络下连边数的期望之差为<math>A_{vw} - \frac{k_v k_w}{2m}</math>。
 +
    
===公式表达一===
 
===公式表达一===
第63行: 第64行:  
                                          
 
                                          
   −
需要注意的是,<br>
+
需要注意的是,上式只适用于将网络划分为两个社团的情况。将网络划分为两个社团,再将每个子社团进一步划分为两个较小的子社团,使得模块度达到最大化的划分方法称为层次划分。层次划分是一个能够识别网络中多个社团的可行方法。通常设将网络划分为c个社团。
<math>Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{2m} \right]  \frac{s_{v} s_{w}+1}{2}         
  −
</math>只适用于将网络划分为两个社团的情况。将网络划分为两个社团,再将每个子社团进一步划分为两个较小的子社团,使得模块度达到最大化的划分方法称为层次划分。层次划分是一个能够识别网络中多个社团的可行方法。通常设将网络划分为c个社团。
         
===公式表达二===
 
===公式表达二===
模块度可以表示为
+
模块度可以表示为<br>
[[File:EF[@C1SZ(8R)_T_K_VM%T`2.png|200px|left]]
+
<math>Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - γ\frac{k_v k_w}{2m} \right]\gamma(c_i,c_j)    
                                     
+
</math>                                     
    
其中:Avw为共引网络相邻矩阵的一个元素;k<sub>v</sub>为节点v 的度;m为网络中的连边总数;c<sub>v</sub>为节点<math>v</math>被分配到的社团,如果c<sub>v</sub>=c<sub>w</sub>,则函数(c<sub>v</sub>,c<sub>w</sub>)为1,否则为0。函数Q最大化即可得到最优社团划分。注意:γ是Q中的分辨率参数,标准模块函数中的γ=1。较大的γ参数可检测出较小但较多的社团,较小的γ参数可检测出较大但较少的社团。需要说明的是,虽然社团数量的分布受到参数γ的影响,但动力学特性的显示几乎与社团分辨率无关。(摘自集智俱乐部微信公众号文章《[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯:科学家兴趣转移愈发频繁,但对科研生涯可能不利]》)
 
其中:Avw为共引网络相邻矩阵的一个元素;k<sub>v</sub>为节点v 的度;m为网络中的连边总数;c<sub>v</sub>为节点<math>v</math>被分配到的社团,如果c<sub>v</sub>=c<sub>w</sub>,则函数(c<sub>v</sub>,c<sub>w</sub>)为1,否则为0。函数Q最大化即可得到最优社团划分。注意:γ是Q中的分辨率参数,标准模块函数中的γ=1。较大的γ参数可检测出较小但较多的社团,较小的γ参数可检测出较大但较少的社团。需要说明的是,虽然社团数量的分布受到参数γ的影响,但动力学特性的显示几乎与社团分辨率无关。(摘自集智俱乐部微信公众号文章《[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯:科学家兴趣转移愈发频繁,但对科研生涯可能不利]》)
第118行: 第117行:  
Q = {1\over 4m} \sum_{vw} B_{vw} s_v s_w = {1\over 4m} \mathbf{s}^\mathrm{T}\mathbf{Bs},
 
Q = {1\over 4m} \sum_{vw} B_{vw} s_v s_w = {1\over 4m} \mathbf{s}^\mathrm{T}\mathbf{Bs},
 
</math>
 
</math>
                                         
  −
   
其中,s为包含s<sub>v</sub>的列向量。
 
其中,s为包含s<sub>v</sub>的列向量。
       
该函数与辛流形的'''汉密尔顿函数 Hamiltonian'''的形式相同,故可创建出简单的算法,例如使用'''模拟退火算法 Simulated Annealing'''来使模块度最大化。 模块化的一般形式等价于一个 Potts 自旋玻璃,在这种情况下也可以发展类似的算法。
 
该函数与辛流形的'''汉密尔顿函数 Hamiltonian'''的形式相同,故可创建出简单的算法,例如使用'''模拟退火算法 Simulated Annealing'''来使模块度最大化。 模块化的一般形式等价于一个 Potts 自旋玻璃,在这种情况下也可以发展类似的算法。
      
==多社团检测实例==
 
==多社团检测实例==
763

个编辑

导航菜单