生物医学网络科学Biomedical Network Science
社团结构与社区发现10 / 19

重叠社团

阅读
约 2 分钟

上面的方法都把每个节点只分到一个社团。但一个人可以同时属于家庭、同事、球友几个圈子;一个蛋白也可以同时参与多个复合物;一个脑区可以参与多个功能系统。

团渗流(CFinder)

团渗流方法(clique percolation,Palla 等,2005)允许社团重叠:把 kk 个节点两两相连的子图称为 kk-团,共享 k−1k-1 个节点的两个 kk-团视为“相邻”,相互可达的 kk-团的并集构成一个 kk-团社团。一个节点可以属于多个这样的社团。直观上,可以想象一个 kk-团“模板”在网络上滚动:每次移动一个节点到新位置,只要新位置仍构成 kk-团,模板就能继续滚动;模板能到达的所有位置构成一个社团。

随机网络中的渗流阈值:团渗流社团会不会在随机网络中偶然出现?Derényi、Palla 与 Vicsek(2005)推导出 ER 网络中 kk-团渗流的阈值 pc(k)=1[(k−1)N]1/(k−1).p_c(k)=\frac{1}{[(k-1)N]^{1/(k-1)}}. k=2k=2 时 pc=1/Np_c=1/N,即巨连通分支出现的条件;k=3k=3 时 pc=1/2Np_c=1/\sqrt{2N}。连接概率低于 pc(k)p_c(k) 时,随机网络中只有零散的 kk-团,不会形成大的 kk-团社团。因此,若真实网络中存在大的 kk-团社团,而它的边密度低于对应的阈值,就说明这些社团不是密度带来的偶然产物(推导见数学推导与算法)。

团渗流的局限:kk 需要人为选择;网络中没有三角形的部分(如树状边缘)不属于任何社团;在稠密网络中可能形成一个巨大的社团。在空手道网络上,k=3k=3 得到一个 25 节点的大社团,k=4k=4 时则有 22 个节点不属于任何社团(代码示例)。

Ahn、Bagrow 与 Lehmann(2010)提出把边而不是节点分组:每条边只属于一个社团,而节点通过它的不同边自然地属于多个社团。具体做法:

  1. 对共享一个端点 kk 的两条边 eike_{ik}、ejke_{jk},定义相似度 S(eik,ejk)=|n+(i)∩n+(j)||n+(i)∪n+(j)|S(e_{ik},e_{jk})=\dfrac{|n_+(i)\cap n_+(j)|}{|n_+(i)\cup n_+(j)|},n+(i)n_+(i) 为包含 ii 自身的邻居集;
  2. 对边做单连接层次聚类,得到边的树状图;
  3. 在使划分密度 D=2M∑cmcmc−(nc−1)(nc−2)(nc−1)D=\frac{2}{M}\sum_c m_c\frac{m_c-(n_c-1)}{(n_c-2)(n_c-1)} 最大的高度切割(MM 为总边数,mcm_c、ncn_c 为连边社团 cc 的边数与节点数)。

DD 衡量每个连边社团比同样节点数的树多出多少边。连边聚类同时给出层次与重叠,适合“每个节点参与很多不同情境”的网络;Ahn 等在包括蛋白质相互作用在内的多个网络上展示了它。一个与之相关的思路是在线图(以边为节点)上做普通的社团划分(Evans 与 Lambiotte 2009)。

其他途径

  • 混合成员 SBM、OSLOM 等统计方法给出节点在各社团中的隶属程度;
  • 对 Louvain 等不重叠算法多次运行,节点在不同运行中所属社团的变化本身就提示其“跨社团”的地位(见共识聚类);
  • 参与系数(验证与解读)是在不重叠划分上刻画“节点连接多个社团”的简单指标。