第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 自旋玻璃,在这种情况下也可以发展类似的算法。 |
− |
| |
| | | |
| ==多社团检测实例== | | ==多社团检测实例== |